in src/handler.ts [351:385]
async function stackCreate(config: DeploymentStackConfig, files: ParsedFiles) {
const name = config.name ?? defaultName;
const scope = config.scope;
const client = getStacksClient(config, scope);
const stack = getStack(config, files);
switch (scope.type) {
case "resourceGroup":
return await client.deploymentStacks.beginCreateOrUpdateAtResourceGroupAndWait(
scope.resourceGroup,
name,
stack,
getCreateOperationOptions(),
);
case "subscription":
return await client.deploymentStacks.beginCreateOrUpdateAtSubscriptionAndWait(
name,
{
...stack,
location: requireLocation(config),
},
getCreateOperationOptions(),
);
case "managementGroup":
return await client.deploymentStacks.beginCreateOrUpdateAtManagementGroupAndWait(
scope.managementGroup,
name,
{
...stack,
location: requireLocation(config),
},
getCreateOperationOptions(),
);
}
}