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  }