github.com/aavshr/aws-sdk-go@v1.41.3/service/applicationautoscaling/examples_test.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package applicationautoscaling_test 4 5 import ( 6 "fmt" 7 "strings" 8 "time" 9 10 "github.com/aavshr/aws-sdk-go/aws" 11 "github.com/aavshr/aws-sdk-go/aws/awserr" 12 "github.com/aavshr/aws-sdk-go/aws/session" 13 "github.com/aavshr/aws-sdk-go/service/applicationautoscaling" 14 ) 15 16 var _ time.Duration 17 var _ strings.Reader 18 var _ aws.Config 19 20 func parseTime(layout, value string) *time.Time { 21 t, err := time.Parse(layout, value) 22 if err != nil { 23 panic(err) 24 } 25 return &t 26 } 27 28 // To delete a scaling policy 29 // 30 // This example deletes a scaling policy for the Amazon ECS service called web-app, 31 // which is running in the default cluster. 32 func ExampleApplicationAutoScaling_DeleteScalingPolicy_shared00() { 33 svc := applicationautoscaling.New(session.New()) 34 input := &applicationautoscaling.DeleteScalingPolicyInput{ 35 PolicyName: aws.String("web-app-cpu-lt-25"), 36 ResourceId: aws.String("service/default/web-app"), 37 ScalableDimension: aws.String("ecs:service:DesiredCount"), 38 ServiceNamespace: aws.String("ecs"), 39 } 40 41 result, err := svc.DeleteScalingPolicy(input) 42 if err != nil { 43 if aerr, ok := err.(awserr.Error); ok { 44 switch aerr.Code() { 45 case applicationautoscaling.ErrCodeValidationException: 46 fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error()) 47 case applicationautoscaling.ErrCodeObjectNotFoundException: 48 fmt.Println(applicationautoscaling.ErrCodeObjectNotFoundException, aerr.Error()) 49 case applicationautoscaling.ErrCodeConcurrentUpdateException: 50 fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error()) 51 case applicationautoscaling.ErrCodeInternalServiceException: 52 fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error()) 53 default: 54 fmt.Println(aerr.Error()) 55 } 56 } else { 57 // Print the error, cast err to awserr.Error to get the Code and 58 // Message from an error. 59 fmt.Println(err.Error()) 60 } 61 return 62 } 63 64 fmt.Println(result) 65 } 66 67 // To deregister a scalable target 68 // 69 // This example deregisters a scalable target for an Amazon ECS service called web-app 70 // that is running in the default cluster. 71 func ExampleApplicationAutoScaling_DeregisterScalableTarget_shared00() { 72 svc := applicationautoscaling.New(session.New()) 73 input := &applicationautoscaling.DeregisterScalableTargetInput{ 74 ResourceId: aws.String("service/default/web-app"), 75 ScalableDimension: aws.String("ecs:service:DesiredCount"), 76 ServiceNamespace: aws.String("ecs"), 77 } 78 79 result, err := svc.DeregisterScalableTarget(input) 80 if err != nil { 81 if aerr, ok := err.(awserr.Error); ok { 82 switch aerr.Code() { 83 case applicationautoscaling.ErrCodeValidationException: 84 fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error()) 85 case applicationautoscaling.ErrCodeObjectNotFoundException: 86 fmt.Println(applicationautoscaling.ErrCodeObjectNotFoundException, aerr.Error()) 87 case applicationautoscaling.ErrCodeConcurrentUpdateException: 88 fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error()) 89 case applicationautoscaling.ErrCodeInternalServiceException: 90 fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error()) 91 default: 92 fmt.Println(aerr.Error()) 93 } 94 } else { 95 // Print the error, cast err to awserr.Error to get the Code and 96 // Message from an error. 97 fmt.Println(err.Error()) 98 } 99 return 100 } 101 102 fmt.Println(result) 103 } 104 105 // To describe scalable targets 106 // 107 // This example describes the scalable targets for the ECS service namespace. 108 func ExampleApplicationAutoScaling_DescribeScalableTargets_shared00() { 109 svc := applicationautoscaling.New(session.New()) 110 input := &applicationautoscaling.DescribeScalableTargetsInput{ 111 ServiceNamespace: aws.String("ecs"), 112 } 113 114 result, err := svc.DescribeScalableTargets(input) 115 if err != nil { 116 if aerr, ok := err.(awserr.Error); ok { 117 switch aerr.Code() { 118 case applicationautoscaling.ErrCodeValidationException: 119 fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error()) 120 case applicationautoscaling.ErrCodeInvalidNextTokenException: 121 fmt.Println(applicationautoscaling.ErrCodeInvalidNextTokenException, aerr.Error()) 122 case applicationautoscaling.ErrCodeConcurrentUpdateException: 123 fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error()) 124 case applicationautoscaling.ErrCodeInternalServiceException: 125 fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error()) 126 default: 127 fmt.Println(aerr.Error()) 128 } 129 } else { 130 // Print the error, cast err to awserr.Error to get the Code and 131 // Message from an error. 132 fmt.Println(err.Error()) 133 } 134 return 135 } 136 137 fmt.Println(result) 138 } 139 140 // To describe scaling activities for a scalable target 141 // 142 // This example describes the scaling activities for an Amazon ECS service called web-app 143 // that is running in the default cluster. 144 func ExampleApplicationAutoScaling_DescribeScalingActivities_shared00() { 145 svc := applicationautoscaling.New(session.New()) 146 input := &applicationautoscaling.DescribeScalingActivitiesInput{ 147 ResourceId: aws.String("service/default/web-app"), 148 ScalableDimension: aws.String("ecs:service:DesiredCount"), 149 ServiceNamespace: aws.String("ecs"), 150 } 151 152 result, err := svc.DescribeScalingActivities(input) 153 if err != nil { 154 if aerr, ok := err.(awserr.Error); ok { 155 switch aerr.Code() { 156 case applicationautoscaling.ErrCodeValidationException: 157 fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error()) 158 case applicationautoscaling.ErrCodeInvalidNextTokenException: 159 fmt.Println(applicationautoscaling.ErrCodeInvalidNextTokenException, aerr.Error()) 160 case applicationautoscaling.ErrCodeConcurrentUpdateException: 161 fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error()) 162 case applicationautoscaling.ErrCodeInternalServiceException: 163 fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error()) 164 default: 165 fmt.Println(aerr.Error()) 166 } 167 } else { 168 // Print the error, cast err to awserr.Error to get the Code and 169 // Message from an error. 170 fmt.Println(err.Error()) 171 } 172 return 173 } 174 175 fmt.Println(result) 176 } 177 178 // To describe scaling policies 179 // 180 // This example describes the scaling policies for the ECS service namespace. 181 func ExampleApplicationAutoScaling_DescribeScalingPolicies_shared00() { 182 svc := applicationautoscaling.New(session.New()) 183 input := &applicationautoscaling.DescribeScalingPoliciesInput{ 184 ServiceNamespace: aws.String("ecs"), 185 } 186 187 result, err := svc.DescribeScalingPolicies(input) 188 if err != nil { 189 if aerr, ok := err.(awserr.Error); ok { 190 switch aerr.Code() { 191 case applicationautoscaling.ErrCodeValidationException: 192 fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error()) 193 case applicationautoscaling.ErrCodeFailedResourceAccessException: 194 fmt.Println(applicationautoscaling.ErrCodeFailedResourceAccessException, aerr.Error()) 195 case applicationautoscaling.ErrCodeInvalidNextTokenException: 196 fmt.Println(applicationautoscaling.ErrCodeInvalidNextTokenException, aerr.Error()) 197 case applicationautoscaling.ErrCodeConcurrentUpdateException: 198 fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error()) 199 case applicationautoscaling.ErrCodeInternalServiceException: 200 fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error()) 201 default: 202 fmt.Println(aerr.Error()) 203 } 204 } else { 205 // Print the error, cast err to awserr.Error to get the Code and 206 // Message from an error. 207 fmt.Println(err.Error()) 208 } 209 return 210 } 211 212 fmt.Println(result) 213 } 214 215 // To apply a target tracking scaling policy with a predefined metric specification 216 // 217 // The following example applies a target tracking scaling policy with a predefined 218 // metric specification to an Amazon ECS service called web-app in the default cluster. 219 // The policy keeps the average CPU utilization of the service at 75 percent, with scale-out 220 // and scale-in cooldown periods of 60 seconds. 221 func ExampleApplicationAutoScaling_PutScalingPolicy_shared00() { 222 svc := applicationautoscaling.New(session.New()) 223 input := &applicationautoscaling.PutScalingPolicyInput{ 224 PolicyName: aws.String("cpu75-target-tracking-scaling-policy"), 225 PolicyType: aws.String("TargetTrackingScaling"), 226 ResourceId: aws.String("service/default/web-app"), 227 ScalableDimension: aws.String("ecs:service:DesiredCount"), 228 ServiceNamespace: aws.String("ecs"), 229 TargetTrackingScalingPolicyConfiguration: &applicationautoscaling.TargetTrackingScalingPolicyConfiguration{ 230 PredefinedMetricSpecification: &applicationautoscaling.PredefinedMetricSpecification{ 231 PredefinedMetricType: aws.String("ECSServiceAverageCPUUtilization"), 232 }, 233 ScaleInCooldown: aws.Int64(60), 234 ScaleOutCooldown: aws.Int64(60), 235 TargetValue: aws.Float64(75.000000), 236 }, 237 } 238 239 result, err := svc.PutScalingPolicy(input) 240 if err != nil { 241 if aerr, ok := err.(awserr.Error); ok { 242 switch aerr.Code() { 243 case applicationautoscaling.ErrCodeValidationException: 244 fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error()) 245 case applicationautoscaling.ErrCodeLimitExceededException: 246 fmt.Println(applicationautoscaling.ErrCodeLimitExceededException, aerr.Error()) 247 case applicationautoscaling.ErrCodeObjectNotFoundException: 248 fmt.Println(applicationautoscaling.ErrCodeObjectNotFoundException, aerr.Error()) 249 case applicationautoscaling.ErrCodeConcurrentUpdateException: 250 fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error()) 251 case applicationautoscaling.ErrCodeFailedResourceAccessException: 252 fmt.Println(applicationautoscaling.ErrCodeFailedResourceAccessException, aerr.Error()) 253 case applicationautoscaling.ErrCodeInternalServiceException: 254 fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error()) 255 default: 256 fmt.Println(aerr.Error()) 257 } 258 } else { 259 // Print the error, cast err to awserr.Error to get the Code and 260 // Message from an error. 261 fmt.Println(err.Error()) 262 } 263 return 264 } 265 266 fmt.Println(result) 267 } 268 269 // To register an ECS service as a scalable target 270 // 271 // This example registers a scalable target from an Amazon ECS service called web-app 272 // that is running on the default cluster, with a minimum desired count of 1 task and 273 // a maximum desired count of 10 tasks. 274 func ExampleApplicationAutoScaling_RegisterScalableTarget_shared00() { 275 svc := applicationautoscaling.New(session.New()) 276 input := &applicationautoscaling.RegisterScalableTargetInput{ 277 MaxCapacity: aws.Int64(10), 278 MinCapacity: aws.Int64(1), 279 ResourceId: aws.String("service/default/web-app"), 280 ScalableDimension: aws.String("ecs:service:DesiredCount"), 281 ServiceNamespace: aws.String("ecs"), 282 } 283 284 result, err := svc.RegisterScalableTarget(input) 285 if err != nil { 286 if aerr, ok := err.(awserr.Error); ok { 287 switch aerr.Code() { 288 case applicationautoscaling.ErrCodeValidationException: 289 fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error()) 290 case applicationautoscaling.ErrCodeLimitExceededException: 291 fmt.Println(applicationautoscaling.ErrCodeLimitExceededException, aerr.Error()) 292 case applicationautoscaling.ErrCodeConcurrentUpdateException: 293 fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error()) 294 case applicationautoscaling.ErrCodeInternalServiceException: 295 fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error()) 296 default: 297 fmt.Println(aerr.Error()) 298 } 299 } else { 300 // Print the error, cast err to awserr.Error to get the Code and 301 // Message from an error. 302 fmt.Println(err.Error()) 303 } 304 return 305 } 306 307 fmt.Println(result) 308 }