本文整理汇总了Golang中github.com/aws/amazon-ecs-cli/ecs-cli/modules/aws/clients/cloudformation.CloudformationClient.UpdateStack方法的典型用法代码示例。如果您正苦于以下问题:Golang CloudformationClient.UpdateStack方法的具体用法?Golang CloudformationClient.UpdateStack怎么用?Golang CloudformationClient.UpdateStack使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/aws/amazon-ecs-cli/ecs-cli/modules/aws/clients/cloudformation.CloudformationClient
的用法示例。
在下文中一共展示了CloudformationClient.UpdateStack方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: scaleCluster
// scaleCluster executes the 'scale' command.
func scaleCluster(context *cli.Context, rdwr config.ReadWriter, ecsClient ecsclient.ECSClient, cfnClient cloudformation.CloudformationClient) error {
// Validate cli flags
if !isIAMAcknowledged(context) {
return fmt.Errorf("Please acknowledge that this command may create IAM resources with the '--%s' flag", capabilityIAMFlag)
}
size, err := getClusterSize(context)
if err != nil {
return err
}
if size == "" {
return fmt.Errorf("Missing required flag '--%s'", asgMaxSizeFlag)
}
ecsParams, err := newCliParams(context, rdwr)
if err != nil {
return err
}
// Validate that cluster exists in ECS
ecsClient.Initialize(ecsParams)
if err := validateCluster(ecsParams.Cluster, ecsClient); err != nil {
return err
}
// Validate that we have a cfn stack for the cluster
cfnClient.Initialize(ecsParams)
stackName := ecsParams.GetCfnStackName()
if err := cfnClient.ValidateStackExists(stackName); err != nil {
return fmt.Errorf("CloudFormation stack not found for cluster '%s'", ecsParams.Cluster)
}
// Populate update params for the cfn stack
cfnParams := cloudformation.NewCfnStackParamsForUpdate()
cfnParams.Add(cloudformation.ParameterKeyAsgMaxSize, size)
// Update the stack.
if _, err := cfnClient.UpdateStack(stackName, cfnParams); err != nil {
return err
}
logrus.Info("Waiting for your cluster resources to be updated...")
return cfnClient.WaitUntilUpdateComplete(stackName)
}