| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407 |
- // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
- package applicationautoscaling_test
- import (
- "fmt"
- "strings"
- "time"
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/awserr"
- "github.com/aws/aws-sdk-go/aws/session"
- "github.com/aws/aws-sdk-go/service/applicationautoscaling"
- )
- var _ time.Duration
- var _ strings.Reader
- var _ aws.Config
- func parseTime(layout, value string) *time.Time {
- t, err := time.Parse(layout, value)
- if err != nil {
- panic(err)
- }
- return &t
- }
- // To delete a scaling policy
- //
- // This example deletes a scaling policy for the Amazon ECS service called web-app,
- // which is running in the default cluster.
- func ExampleApplicationAutoScaling_DeleteScalingPolicy_shared00() {
- svc := applicationautoscaling.New(session.New())
- input := &applicationautoscaling.DeleteScalingPolicyInput{
- PolicyName: aws.String("web-app-cpu-lt-25"),
- ResourceId: aws.String("service/default/web-app"),
- ScalableDimension: aws.String("ecs:service:DesiredCount"),
- ServiceNamespace: aws.String("ecs"),
- }
- result, err := svc.DeleteScalingPolicy(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case applicationautoscaling.ErrCodeValidationException:
- fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error())
- case applicationautoscaling.ErrCodeObjectNotFoundException:
- fmt.Println(applicationautoscaling.ErrCodeObjectNotFoundException, aerr.Error())
- case applicationautoscaling.ErrCodeConcurrentUpdateException:
- fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error())
- case applicationautoscaling.ErrCodeInternalServiceException:
- fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To deregister a scalable target
- //
- // This example deregisters a scalable target for an Amazon ECS service called web-app
- // that is running in the default cluster.
- func ExampleApplicationAutoScaling_DeregisterScalableTarget_shared00() {
- svc := applicationautoscaling.New(session.New())
- input := &applicationautoscaling.DeregisterScalableTargetInput{
- ResourceId: aws.String("service/default/web-app"),
- ScalableDimension: aws.String("ecs:service:DesiredCount"),
- ServiceNamespace: aws.String("ecs"),
- }
- result, err := svc.DeregisterScalableTarget(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case applicationautoscaling.ErrCodeValidationException:
- fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error())
- case applicationautoscaling.ErrCodeObjectNotFoundException:
- fmt.Println(applicationautoscaling.ErrCodeObjectNotFoundException, aerr.Error())
- case applicationautoscaling.ErrCodeConcurrentUpdateException:
- fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error())
- case applicationautoscaling.ErrCodeInternalServiceException:
- fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To describe scalable targets
- //
- // This example describes the scalable targets for the ecs service namespace.
- func ExampleApplicationAutoScaling_DescribeScalableTargets_shared00() {
- svc := applicationautoscaling.New(session.New())
- input := &applicationautoscaling.DescribeScalableTargetsInput{
- ServiceNamespace: aws.String("ecs"),
- }
- result, err := svc.DescribeScalableTargets(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case applicationautoscaling.ErrCodeValidationException:
- fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error())
- case applicationautoscaling.ErrCodeInvalidNextTokenException:
- fmt.Println(applicationautoscaling.ErrCodeInvalidNextTokenException, aerr.Error())
- case applicationautoscaling.ErrCodeConcurrentUpdateException:
- fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error())
- case applicationautoscaling.ErrCodeInternalServiceException:
- fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To describe scaling activities for a scalable target
- //
- // This example describes the scaling activities for an Amazon ECS service called web-app
- // that is running in the default cluster.
- func ExampleApplicationAutoScaling_DescribeScalingActivities_shared00() {
- svc := applicationautoscaling.New(session.New())
- input := &applicationautoscaling.DescribeScalingActivitiesInput{
- ResourceId: aws.String("service/default/web-app"),
- ScalableDimension: aws.String("ecs:service:DesiredCount"),
- ServiceNamespace: aws.String("ecs"),
- }
- result, err := svc.DescribeScalingActivities(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case applicationautoscaling.ErrCodeValidationException:
- fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error())
- case applicationautoscaling.ErrCodeInvalidNextTokenException:
- fmt.Println(applicationautoscaling.ErrCodeInvalidNextTokenException, aerr.Error())
- case applicationautoscaling.ErrCodeConcurrentUpdateException:
- fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error())
- case applicationautoscaling.ErrCodeInternalServiceException:
- fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To describe scaling policies
- //
- // This example describes the scaling policies for the ecs service namespace.
- func ExampleApplicationAutoScaling_DescribeScalingPolicies_shared00() {
- svc := applicationautoscaling.New(session.New())
- input := &applicationautoscaling.DescribeScalingPoliciesInput{
- ServiceNamespace: aws.String("ecs"),
- }
- result, err := svc.DescribeScalingPolicies(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case applicationautoscaling.ErrCodeValidationException:
- fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error())
- case applicationautoscaling.ErrCodeFailedResourceAccessException:
- fmt.Println(applicationautoscaling.ErrCodeFailedResourceAccessException, aerr.Error())
- case applicationautoscaling.ErrCodeInvalidNextTokenException:
- fmt.Println(applicationautoscaling.ErrCodeInvalidNextTokenException, aerr.Error())
- case applicationautoscaling.ErrCodeConcurrentUpdateException:
- fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error())
- case applicationautoscaling.ErrCodeInternalServiceException:
- fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To apply a scaling policy to an Amazon ECS service
- //
- // This example applies a scaling policy to an Amazon ECS service called web-app in
- // the default cluster. The policy increases the desired count of the service by 200%,
- // with a cool down period of 60 seconds.
- func ExampleApplicationAutoScaling_PutScalingPolicy_shared00() {
- svc := applicationautoscaling.New(session.New())
- input := &applicationautoscaling.PutScalingPolicyInput{
- PolicyName: aws.String("web-app-cpu-gt-75"),
- PolicyType: aws.String("StepScaling"),
- ResourceId: aws.String("service/default/web-app"),
- ScalableDimension: aws.String("ecs:service:DesiredCount"),
- ServiceNamespace: aws.String("ecs"),
- StepScalingPolicyConfiguration: &applicationautoscaling.StepScalingPolicyConfiguration{
- AdjustmentType: aws.String("PercentChangeInCapacity"),
- Cooldown: aws.Int64(60),
- StepAdjustments: []*applicationautoscaling.StepAdjustment{
- {
- MetricIntervalLowerBound: aws.Float64(0.000000),
- ScalingAdjustment: aws.Int64(200),
- },
- },
- },
- }
- result, err := svc.PutScalingPolicy(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case applicationautoscaling.ErrCodeValidationException:
- fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error())
- case applicationautoscaling.ErrCodeLimitExceededException:
- fmt.Println(applicationautoscaling.ErrCodeLimitExceededException, aerr.Error())
- case applicationautoscaling.ErrCodeObjectNotFoundException:
- fmt.Println(applicationautoscaling.ErrCodeObjectNotFoundException, aerr.Error())
- case applicationautoscaling.ErrCodeConcurrentUpdateException:
- fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error())
- case applicationautoscaling.ErrCodeFailedResourceAccessException:
- fmt.Println(applicationautoscaling.ErrCodeFailedResourceAccessException, aerr.Error())
- case applicationautoscaling.ErrCodeInternalServiceException:
- fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To apply a scaling policy to an Amazon EC2 Spot fleet
- //
- // This example applies a scaling policy to an Amazon EC2 Spot fleet. The policy increases
- // the target capacity of the spot fleet by 200%, with a cool down period of 180 seconds.",
- //
- //
- func ExampleApplicationAutoScaling_PutScalingPolicy_shared01() {
- svc := applicationautoscaling.New(session.New())
- input := &applicationautoscaling.PutScalingPolicyInput{
- PolicyName: aws.String("fleet-cpu-gt-75"),
- PolicyType: aws.String("StepScaling"),
- ResourceId: aws.String("spot-fleet-request/sfr-45e69d8a-be48-4539-bbf3-3464e99c50c3"),
- ScalableDimension: aws.String("ec2:spot-fleet-request:TargetCapacity"),
- ServiceNamespace: aws.String("ec2"),
- StepScalingPolicyConfiguration: &applicationautoscaling.StepScalingPolicyConfiguration{
- AdjustmentType: aws.String("PercentChangeInCapacity"),
- Cooldown: aws.Int64(180),
- StepAdjustments: []*applicationautoscaling.StepAdjustment{
- {
- MetricIntervalLowerBound: aws.Float64(0.000000),
- ScalingAdjustment: aws.Int64(200),
- },
- },
- },
- }
- result, err := svc.PutScalingPolicy(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case applicationautoscaling.ErrCodeValidationException:
- fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error())
- case applicationautoscaling.ErrCodeLimitExceededException:
- fmt.Println(applicationautoscaling.ErrCodeLimitExceededException, aerr.Error())
- case applicationautoscaling.ErrCodeObjectNotFoundException:
- fmt.Println(applicationautoscaling.ErrCodeObjectNotFoundException, aerr.Error())
- case applicationautoscaling.ErrCodeConcurrentUpdateException:
- fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error())
- case applicationautoscaling.ErrCodeFailedResourceAccessException:
- fmt.Println(applicationautoscaling.ErrCodeFailedResourceAccessException, aerr.Error())
- case applicationautoscaling.ErrCodeInternalServiceException:
- fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To register an ECS service as a scalable target
- //
- // This example registers a scalable target from an Amazon ECS service called web-app
- // that is running on the default cluster, with a minimum desired count of 1 task and
- // a maximum desired count of 10 tasks.
- func ExampleApplicationAutoScaling_RegisterScalableTarget_shared00() {
- svc := applicationautoscaling.New(session.New())
- input := &applicationautoscaling.RegisterScalableTargetInput{
- MaxCapacity: aws.Int64(10),
- MinCapacity: aws.Int64(1),
- ResourceId: aws.String("service/default/web-app"),
- RoleARN: aws.String("arn:aws:iam::012345678910:role/ApplicationAutoscalingECSRole"),
- ScalableDimension: aws.String("ecs:service:DesiredCount"),
- ServiceNamespace: aws.String("ecs"),
- }
- result, err := svc.RegisterScalableTarget(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case applicationautoscaling.ErrCodeValidationException:
- fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error())
- case applicationautoscaling.ErrCodeLimitExceededException:
- fmt.Println(applicationautoscaling.ErrCodeLimitExceededException, aerr.Error())
- case applicationautoscaling.ErrCodeConcurrentUpdateException:
- fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error())
- case applicationautoscaling.ErrCodeInternalServiceException:
- fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To register an EC2 Spot fleet as a scalable target
- //
- // This example registers a scalable target from an Amazon EC2 Spot fleet with a minimum
- // target capacity of 1 and a maximum of 10.
- func ExampleApplicationAutoScaling_RegisterScalableTarget_shared01() {
- svc := applicationautoscaling.New(session.New())
- input := &applicationautoscaling.RegisterScalableTargetInput{
- MaxCapacity: aws.Int64(10),
- MinCapacity: aws.Int64(1),
- ResourceId: aws.String("spot-fleet-request/sfr-45e69d8a-be48-4539-bbf3-3464e99c50c3"),
- RoleARN: aws.String("arn:aws:iam::012345678910:role/ApplicationAutoscalingSpotRole"),
- ScalableDimension: aws.String("ec2:spot-fleet-request:TargetCapacity"),
- ServiceNamespace: aws.String("ec2"),
- }
- result, err := svc.RegisterScalableTarget(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case applicationautoscaling.ErrCodeValidationException:
- fmt.Println(applicationautoscaling.ErrCodeValidationException, aerr.Error())
- case applicationautoscaling.ErrCodeLimitExceededException:
- fmt.Println(applicationautoscaling.ErrCodeLimitExceededException, aerr.Error())
- case applicationautoscaling.ErrCodeConcurrentUpdateException:
- fmt.Println(applicationautoscaling.ErrCodeConcurrentUpdateException, aerr.Error())
- case applicationautoscaling.ErrCodeInternalServiceException:
- fmt.Println(applicationautoscaling.ErrCodeInternalServiceException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
|