async function stackCreate()

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(),
      );
  }
}