diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go index 74f72de07356..6dc035a5357b 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go @@ -4,6 +4,7 @@ import ( "encoding/json" "fmt" "io" + "os" "github.com/aws/aws-sdk-go/aws/awserr" ) @@ -84,11 +85,34 @@ func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resol custAddEC2Metadata(p) custAddS3DualStack(p) custRmIotDataService(p) + + custFixCloudHSMv2SigningName(p) } return ps, nil } +func custFixCloudHSMv2SigningName(p *partition) { + // Workaround for aws/aws-sdk-go#1745 until the endpoint model can be + // fixed upstream. TODO remove this once the endpoints model is updated. + + s, ok := p.Services["cloudhsmv2"] + if !ok { + return + } + + if len(s.Defaults.CredentialScope.Service) != 0 { + fmt.Fprintf(os.Stderr, "cloudhsmv2 signing name already set, ignoring override.\n") + // If the value is already set don't override + return + } + + s.Defaults.CredentialScope.Service = "cloudhsm" + fmt.Fprintf(os.Stderr, "cloudhsmv2 signing name not set, overriding.\n") + + p.Services["cloudhsmv2"] = s +} + func custAddS3DualStack(p *partition) { if p.ID != "aws" { return diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index 56f08e386298..b2405175acd0 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -52,6 +52,7 @@ const ( Appstream2ServiceID = "appstream2" // Appstream2. AthenaServiceID = "athena" // Athena. AutoscalingServiceID = "autoscaling" // Autoscaling. + AutoscalingPlansServiceID = "autoscaling-plans" // AutoscalingPlans. BatchServiceID = "batch" // Batch. BudgetsServiceID = "budgets" // Budgets. ClouddirectoryServiceID = "clouddirectory" // Clouddirectory. @@ -370,6 +371,22 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "autoscaling-plans": service{ + Defaults: endpoint{ + Hostname: "autoscaling.{region}.amazonaws.com", + Protocols: []string{"http", "https"}, + CredentialScope: credentialScope{ + Service: "autoscaling-plans", + }, + }, + Endpoints: endpoints{ + "ap-southeast-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "batch": service{ Endpoints: endpoints{ @@ -459,7 +476,11 @@ var awsPartition = partition{ }, }, "cloudhsmv2": service{ - + Defaults: endpoint{ + CredentialScope: credentialScope{ + Service: "cloudhsm", + }, + }, Endpoints: endpoints{ "ap-northeast-1": endpoint{}, "ap-south-1": endpoint{}, @@ -740,6 +761,7 @@ var awsPartition = partition{ "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, @@ -1043,10 +1065,13 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -1093,10 +1118,11 @@ var awsPartition = partition{ "glue": service{ Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, + "ap-northeast-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, }, }, "greengrass": service{ @@ -1489,6 +1515,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "eu-west-1": endpoint{}, "us-east-1": endpoint{}, + "us-east-2": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -1636,6 +1663,7 @@ var awsPartition = partition{ "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-3": endpoint{}, @@ -2423,6 +2451,12 @@ var awsusgovPartition = partition{ }, }, }, + "ecs": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, "elasticache": service{ Endpoints: endpoints{ diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go index 59de6736b611..159518a75cda 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go @@ -142,13 +142,28 @@ func (r *Request) nextPageTokens() []interface{} { tokens := []interface{}{} tokenAdded := false for _, outToken := range r.Operation.OutputTokens { - v, _ := awsutil.ValuesAtPath(r.Data, outToken) - if len(v) > 0 { - tokens = append(tokens, v[0]) - tokenAdded = true - } else { + vs, _ := awsutil.ValuesAtPath(r.Data, outToken) + if len(vs) == 0 { tokens = append(tokens, nil) + continue } + v := vs[0] + + switch tv := v.(type) { + case *string: + if len(aws.StringValue(tv)) == 0 { + tokens = append(tokens, nil) + continue + } + case string: + if len(tv) == 0 { + tokens = append(tokens, nil) + continue + } + } + + tokenAdded = true + tokens = append(tokens, v) } if !tokenAdded { return nil diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index d220989d3b16..f0f5fa232257 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.12.59" +const SDKVersion = "1.12.70" diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go index 6f45c454b299..d775e55aaa8a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go @@ -76,12 +76,11 @@ func (c *ApplicationAutoScaling) DeleteScalingPolicyRequest(input *DeleteScaling // for the API request. // // * ErrCodeObjectNotFoundException "ObjectNotFoundException" -// The specified object could not be found. For any Put or Register API operation, -// which depends on the existence of a scalable target, this exception is thrown -// if the scalable target with the specified service namespace, resource ID, -// and scalable dimension does not exist. For any Delete or Deregister API operation, -// this exception is thrown if the resource that is to be deleted or deregistered -// cannot be found. +// The specified object could not be found. For any operation that depends on +// the existence of a scalable target, this exception is thrown if the scalable +// target with the specified service namespace, resource ID, and scalable dimension +// does not exist. For any operation that deletes or deregisters a resource, +// this exception is thrown if the resource cannot be found. // // * ErrCodeConcurrentUpdateException "ConcurrentUpdateException" // Concurrent updates caused an exception, for example, if you request an update @@ -171,12 +170,11 @@ func (c *ApplicationAutoScaling) DeleteScheduledActionRequest(input *DeleteSched // for the API request. // // * ErrCodeObjectNotFoundException "ObjectNotFoundException" -// The specified object could not be found. For any Put or Register API operation, -// which depends on the existence of a scalable target, this exception is thrown -// if the scalable target with the specified service namespace, resource ID, -// and scalable dimension does not exist. For any Delete or Deregister API operation, -// this exception is thrown if the resource that is to be deleted or deregistered -// cannot be found. +// The specified object could not be found. For any operation that depends on +// the existence of a scalable target, this exception is thrown if the scalable +// target with the specified service namespace, resource ID, and scalable dimension +// does not exist. For any operation that deletes or deregisters a resource, +// this exception is thrown if the resource cannot be found. // // * ErrCodeConcurrentUpdateException "ConcurrentUpdateException" // Concurrent updates caused an exception, for example, if you request an update @@ -271,12 +269,11 @@ func (c *ApplicationAutoScaling) DeregisterScalableTargetRequest(input *Deregist // for the API request. // // * ErrCodeObjectNotFoundException "ObjectNotFoundException" -// The specified object could not be found. For any Put or Register API operation, -// which depends on the existence of a scalable target, this exception is thrown -// if the scalable target with the specified service namespace, resource ID, -// and scalable dimension does not exist. For any Delete or Deregister API operation, -// this exception is thrown if the resource that is to be deleted or deregistered -// cannot be found. +// The specified object could not be found. For any operation that depends on +// the existence of a scalable target, this exception is thrown if the scalable +// target with the specified service namespace, resource ID, and scalable dimension +// does not exist. For any operation that deletes or deregisters a resource, +// this exception is thrown if the resource cannot be found. // // * ErrCodeConcurrentUpdateException "ConcurrentUpdateException" // Concurrent updates caused an exception, for example, if you request an update @@ -357,8 +354,7 @@ func (c *ApplicationAutoScaling) DescribeScalableTargetsRequest(input *DescribeS // DescribeScalableTargets API operation for Application Auto Scaling. // -// Provides descriptive information about the scalable targets in the specified -// namespace. +// Gets information about the scalable targets in the specified namespace. // // You can filter the results using the ResourceIds and ScalableDimension parameters. // @@ -690,7 +686,7 @@ func (c *ApplicationAutoScaling) DescribeScalingPoliciesRequest(input *DescribeS // with a scaling policy due to a client error, for example, if the role ARN // specified for a scalable target does not have permission to call the CloudWatch // DescribeAlarms (http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) -// API operation on behalf of your account. +// on your behalf. // // * ErrCodeInvalidNextTokenException "InvalidNextTokenException" // The next token supplied was invalid. @@ -918,8 +914,8 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // // Each scalable target is identified by a service namespace, resource ID, and // scalable dimension. A scaling policy applies to the scalable target identified -// by those three attributes. You cannot create a scaling policy without first -// registering a scalable target using RegisterScalableTarget. +// by those three attributes. You cannot create a scaling policy until you register +// the scalable target using RegisterScalableTarget. // // To update a policy, specify its policy name and the parameters that you want // to change. Any parameters that you don't specify are not changed by this @@ -941,17 +937,15 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // for the API request. // // * ErrCodeLimitExceededException "LimitExceededException" -// Your account exceeded a limit. This exception is thrown when a per-account -// resource limit is exceeded. For more information, see Application Auto Scaling -// Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_as-app). +// A per-account resource limit is exceeded. For more information, see Application +// Auto Scaling Limits (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). // // * ErrCodeObjectNotFoundException "ObjectNotFoundException" -// The specified object could not be found. For any Put or Register API operation, -// which depends on the existence of a scalable target, this exception is thrown -// if the scalable target with the specified service namespace, resource ID, -// and scalable dimension does not exist. For any Delete or Deregister API operation, -// this exception is thrown if the resource that is to be deleted or deregistered -// cannot be found. +// The specified object could not be found. For any operation that depends on +// the existence of a scalable target, this exception is thrown if the scalable +// target with the specified service namespace, resource ID, and scalable dimension +// does not exist. For any operation that deletes or deregisters a resource, +// this exception is thrown if the resource cannot be found. // // * ErrCodeConcurrentUpdateException "ConcurrentUpdateException" // Concurrent updates caused an exception, for example, if you request an update @@ -963,7 +957,7 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // with a scaling policy due to a client error, for example, if the role ARN // specified for a scalable target does not have permission to call the CloudWatch // DescribeAlarms (http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) -// API operation on behalf of your account. +// on your behalf. // // * ErrCodeInternalServiceException "InternalServiceException" // The service encountered an internal error. @@ -1039,8 +1033,8 @@ func (c *ApplicationAutoScaling) PutScheduledActionRequest(input *PutScheduledAc // // Each scalable target is identified by a service namespace, resource ID, and // scalable dimension. A scheduled action applies to the scalable target identified -// by those three attributes. You cannot create a scheduled action without first -// registering a scalable target using RegisterScalableTarget. +// by those three attributes. You cannot create a scheduled action until you +// register the scalable target using RegisterScalableTarget. // // To update an action, specify its name and the parameters that you want to // change. If you don't specify start and end times, the old values are deleted. @@ -1063,17 +1057,15 @@ func (c *ApplicationAutoScaling) PutScheduledActionRequest(input *PutScheduledAc // for the API request. // // * ErrCodeLimitExceededException "LimitExceededException" -// Your account exceeded a limit. This exception is thrown when a per-account -// resource limit is exceeded. For more information, see Application Auto Scaling -// Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_as-app). +// A per-account resource limit is exceeded. For more information, see Application +// Auto Scaling Limits (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). // // * ErrCodeObjectNotFoundException "ObjectNotFoundException" -// The specified object could not be found. For any Put or Register API operation, -// which depends on the existence of a scalable target, this exception is thrown -// if the scalable target with the specified service namespace, resource ID, -// and scalable dimension does not exist. For any Delete or Deregister API operation, -// this exception is thrown if the resource that is to be deleted or deregistered -// cannot be found. +// The specified object could not be found. For any operation that depends on +// the existence of a scalable target, this exception is thrown if the scalable +// target with the specified service namespace, resource ID, and scalable dimension +// does not exist. For any operation that deletes or deregisters a resource, +// this exception is thrown if the resource cannot be found. // // * ErrCodeConcurrentUpdateException "ConcurrentUpdateException" // Concurrent updates caused an exception, for example, if you request an update @@ -1151,12 +1143,12 @@ func (c *ApplicationAutoScaling) RegisterScalableTargetRequest(input *RegisterSc // Registers or updates a scalable target. A scalable target is a resource that // Application Auto Scaling can scale out or scale in. After you have registered // a scalable target, you can use this operation to update the minimum and maximum -// values for your scalable dimension. +// values for its scalable dimension. // // After you register a scalable target, you can create and apply scaling policies // using PutScalingPolicy. You can view the scaling policies for a service namespace -// using DescribeScalableTargets. If you are no longer using a scalable target, -// you can deregister it using DeregisterScalableTarget. +// using DescribeScalableTargets. If you no longer need a scalable target, you +// can deregister it using DeregisterScalableTarget. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1171,9 +1163,8 @@ func (c *ApplicationAutoScaling) RegisterScalableTargetRequest(input *RegisterSc // for the API request. // // * ErrCodeLimitExceededException "LimitExceededException" -// Your account exceeded a limit. This exception is thrown when a per-account -// resource limit is exceeded. For more information, see Application Auto Scaling -// Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_as-app). +// A per-account resource limit is exceeded. For more information, see Application +// Auto Scaling Limits (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). // // * ErrCodeConcurrentUpdateException "ConcurrentUpdateException" // Concurrent updates caused an exception, for example, if you request an update @@ -1779,8 +1770,8 @@ func (s DeregisterScalableTargetOutput) GoString() string { type DescribeScalableTargetsInput struct { _ struct{} `type:"structure"` - // The maximum number of scalable target results. This value can be between - // 1 and 50. The default value is 50. + // The maximum number of scalable targets. This value can be between 1 and 50. + // The default value is 50. // // If this parameter is used, the operation returns up to MaxResults results // at a time, along with a NextToken value. To get the next set of results, @@ -1917,7 +1908,7 @@ type DescribeScalableTargetsOutput struct { // there are no more results to return. NextToken *string `type:"string"` - // The list of scalable targets that matches the request parameters. + // The scalable targets that match the request parameters. ScalableTargets []*ScalableTarget `type:"list"` } @@ -1947,8 +1938,8 @@ func (s *DescribeScalableTargetsOutput) SetScalableTargets(v []*ScalableTarget) type DescribeScalingActivitiesInput struct { _ struct{} `type:"structure"` - // The maximum number of scalable target results. This value can be between - // 1 and 50. The default value is 50. + // The maximum number of scalable targets. This value can be between 1 and 50. + // The default value is 50. // // If this parameter is used, the operation returns up to MaxResults results // at a time, along with a NextToken value. To get the next set of results, @@ -2118,8 +2109,8 @@ func (s *DescribeScalingActivitiesOutput) SetScalingActivities(v []*ScalingActiv type DescribeScalingPoliciesInput struct { _ struct{} `type:"structure"` - // The maximum number of scalable target results. This value can be between - // 1 and 50. The default value is 50. + // The maximum number of scalable targets. This value can be between 1 and 50. + // The default value is 50. // // If this parameter is used, the operation returns up to MaxResults results // at a time, along with a NextToken value. To get the next set of results, @@ -2534,14 +2525,14 @@ type PredefinedMetricSpecification struct { _ struct{} `type:"structure"` // The metric type. The ALBRequestCountPerTarget metric type applies only to - // Spot fleet requests. + // Spot fleet requests and ECS services. // // PredefinedMetricType is a required field PredefinedMetricType *string `type:"string" required:"true" enum:"MetricType"` // Identifies the resource associated with the metric type. You can't specify // a resource label unless the metric type is ALBRequestCountPerTarget and there - // is a target group attached to the Spot fleet request. + // is a target group attached to the Spot fleet request or ECS service. // // The format is app///targetgroup//, // where: @@ -2601,11 +2592,11 @@ type PutScalingPolicyInput struct { // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` - // The policy type. If you are creating a new policy, this parameter is required. - // If you are updating a policy, this parameter is not required. + // The policy type. This parameter is required if you are creating a policy. // - // For DynamoDB, only TargetTrackingScaling is supported. For any other service, - // only StepScaling is supported. + // For DynamoDB, only TargetTrackingScaling is supported. For Amazon ECS, Spot + // Fleet, and Amazon RDS, both StepScaling and TargetTrackingScaling are supported. + // For any other service, only StepScaling is supported. PolicyType *string `type:"string" enum:"PolicyType"` // The identifier of the resource associated with the scaling policy. This string @@ -2682,8 +2673,8 @@ type PutScalingPolicyInput struct { // A target tracking policy. // - // This parameter is required if you are creating a new policy and the policy - // type is TargetTrackingScaling. + // This parameter is required if you are creating a policy and the policy type + // is TargetTrackingScaling. TargetTrackingScalingPolicyConfiguration *TargetTrackingScalingPolicyConfiguration `type:"structure"` } @@ -2846,7 +2837,8 @@ type PutScheduledActionInput struct { // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` - // The scalable dimension. This string consists of the service namespace, resource + // The scalable dimension. This parameter is required if you are creating a + // scheduled action. This string consists of the service namespace, resource // type, and scaling property. // // * ecs:service:DesiredCount - The desired task count of an ECS service. @@ -3021,13 +3013,11 @@ type RegisterScalableTargetInput struct { _ struct{} `type:"structure"` // The maximum value to scale to in response to a scale out event. This parameter - // is required if you are registering a scalable target and optional if you - // are updating one. + // is required if you are registering a scalable target. MaxCapacity *int64 `type:"integer"` // The minimum value to scale to in response to a scale in event. This parameter - // is required if you are registering a scalable target and optional if you - // are updating one. + // is required if you are registering a scalable target. MinCapacity *int64 `type:"integer"` // The identifier of the resource associated with the scalable target. This @@ -3057,16 +3047,13 @@ type RegisterScalableTargetInput struct { // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` - // The ARN of an IAM role that allows Application Auto Scaling to modify the - // scalable target on your behalf. - // - // With Amazon RDS resources, permissions are granted using a service-linked - // role. For more information, see Service-Linked Roles for Application Auto - // Scaling (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/application-autoscaling-service-linked-roles.html). + // Application Auto Scaling creates a service-linked role that grants it permissions + // to modify the scalable target on your behalf. For more information, see Service-Linked + // Roles for Application Auto Scaling (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/application-autoscaling-service-linked-roles.html). // // For resources that are not supported using a service-linked role, this parameter - // is required when you register a scalable target and optional when you update - // one. + // is required and must specify the ARN of an IAM role that allows Application + // Auto Scaling to modify the scalable target on your behalf. RoleARN *string `min:"1" type:"string"` // The scalable dimension associated with the scalable target. This string consists @@ -4293,6 +4280,12 @@ const ( // MetricTypeEc2spotFleetRequestAverageNetworkOut is a MetricType enum value MetricTypeEc2spotFleetRequestAverageNetworkOut = "EC2SpotFleetRequestAverageNetworkOut" + + // MetricTypeEcsserviceAverageCpuutilization is a MetricType enum value + MetricTypeEcsserviceAverageCpuutilization = "ECSServiceAverageCPUUtilization" + + // MetricTypeEcsserviceAverageMemoryUtilization is a MetricType enum value + MetricTypeEcsserviceAverageMemoryUtilization = "ECSServiceAverageMemoryUtilization" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go index 2b16a63fba2b..7e8c1a102336 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go @@ -11,13 +11,15 @@ // // * Scale your resources in response to CloudWatch alarms // +// * Schedule one-time or recurring scaling actions +// // * View the history of your scaling events // // Application Auto Scaling can scale the following AWS resources: // // * Amazon ECS services. For more information, see Service Auto Scaling // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html) -// in the Amazon EC2 Container Service Developer Guide. +// in the Amazon Elastic Container Service Developer Guide. // // * Amazon EC2 Spot fleets. For more information, see Automatic Scaling // for Spot Fleet (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fleet-auto-scaling.html) @@ -36,8 +38,8 @@ // Automatically with DynamoDB Auto Scaling (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) // in the Amazon DynamoDB Developer Guide. // -// * Amazon Aurora Replicas. For more information, see Using Application -// Auto Scaling with an Amazon Aurora DB Cluster (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Integrating.AutoScaling.html). +// * Amazon Aurora Replicas. For more information, see Using Amazon Aurora +// Auto Scaling with Aurora Replicas (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.Integrating.AutoScaling.html). // // For a list of supported regions, see AWS Regions and Endpoints: Application // Auto Scaling (http://docs.aws.amazon.com/general/latest/gr/rande.html#as-app_region) diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/errors.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/errors.go index 62badcc4e04f..bf1476bd7e68 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/errors.go @@ -19,7 +19,7 @@ const ( // with a scaling policy due to a client error, for example, if the role ARN // specified for a scalable target does not have permission to call the CloudWatch // DescribeAlarms (http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) - // API operation on behalf of your account. + // on your behalf. ErrCodeFailedResourceAccessException = "FailedResourceAccessException" // ErrCodeInternalServiceException for service response error code @@ -37,20 +37,18 @@ const ( // ErrCodeLimitExceededException for service response error code // "LimitExceededException". // - // Your account exceeded a limit. This exception is thrown when a per-account - // resource limit is exceeded. For more information, see Application Auto Scaling - // Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_as-app). + // A per-account resource limit is exceeded. For more information, see Application + // Auto Scaling Limits (http://docs.aws.amazon.com/ApplicationAutoScaling/latest/userguide/application-auto-scaling-limits.html). ErrCodeLimitExceededException = "LimitExceededException" // ErrCodeObjectNotFoundException for service response error code // "ObjectNotFoundException". // - // The specified object could not be found. For any Put or Register API operation, - // which depends on the existence of a scalable target, this exception is thrown - // if the scalable target with the specified service namespace, resource ID, - // and scalable dimension does not exist. For any Delete or Deregister API operation, - // this exception is thrown if the resource that is to be deleted or deregistered - // cannot be found. + // The specified object could not be found. For any operation that depends on + // the existence of a scalable target, this exception is thrown if the scalable + // target with the specified service namespace, resource ID, and scalable dimension + // does not exist. For any operation that deletes or deregisters a resource, + // this exception is thrown if the resource cannot be found. ErrCodeObjectNotFoundException = "ObjectNotFoundException" // ErrCodeValidationException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go b/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go index ce54c7c525cf..3087aecdece6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go @@ -388,7 +388,7 @@ func (c *CodeBuild) CreateWebhookRequest(input *CreateWebhookInput) (req *reques // AWS CodePipeline. Because billing is on a per-build basis, you will be billed // for both builds. Therefore, if you are using AWS CodePipeline, we recommend // that you disable webhooks in CodeBuild. In the AWS CodeBuild console, clear -// the Webhook box. For more information, see step 9 in Change a Build Project’s +// the Webhook box. For more information, see step 9 in Change a Build Project's // Settings (http://docs.aws.amazon.com/codebuild/latest/userguide/change-project.html#change-project-console). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3430,6 +3430,9 @@ func (s *ProjectCache) SetType(v string) *ProjectCache { type ProjectEnvironment struct { _ struct{} `type:"structure"` + // The certificate to use with this build project. + Certificate *string `locationName:"certificate" type:"string"` + // Information about the compute resources the build project will use. Available // values include: // @@ -3516,6 +3519,12 @@ func (s *ProjectEnvironment) Validate() error { return nil } +// SetCertificate sets the Certificate field's value. +func (s *ProjectEnvironment) SetCertificate(v string) *ProjectEnvironment { + s.Certificate = &v + return s +} + // SetComputeType sets the ComputeType field's value. func (s *ProjectEnvironment) SetComputeType(v string) *ProjectEnvironment { s.ComputeType = &v @@ -3565,6 +3574,13 @@ type ProjectSource struct { // the source code to be built. Buildspec *string `locationName:"buildspec" type:"string"` + // Information about the git clone depth for the build project. + GitCloneDepth *int64 `locationName:"gitCloneDepth" type:"integer"` + + // Enable this flag to ignore SSL warnings while connecting to the project source + // code. + InsecureSsl *bool `locationName:"insecureSsl" type:"boolean"` + // Information about the location of the source code to be built. Valid values // include: // @@ -3665,6 +3681,18 @@ func (s *ProjectSource) SetBuildspec(v string) *ProjectSource { return s } +// SetGitCloneDepth sets the GitCloneDepth field's value. +func (s *ProjectSource) SetGitCloneDepth(v int64) *ProjectSource { + s.GitCloneDepth = &v + return s +} + +// SetInsecureSsl sets the InsecureSsl field's value. +func (s *ProjectSource) SetInsecureSsl(v bool) *ProjectSource { + s.InsecureSsl = &v + return s +} + // SetLocation sets the Location field's value. func (s *ProjectSource) SetLocation(v string) *ProjectSource { s.Location = &v @@ -3748,6 +3776,10 @@ type StartBuildInput struct { // ones already defined in the build project. EnvironmentVariablesOverride []*EnvironmentVariable `locationName:"environmentVariablesOverride" type:"list"` + // The user-defined depth of history, with a minimum value of 0, that overrides, + // for this build only, any previous depth of history defined in the build project. + GitCloneDepthOverride *int64 `locationName:"gitCloneDepthOverride" type:"integer"` + // The name of the build project to start running a build. // // ProjectName is a required field @@ -3841,6 +3873,12 @@ func (s *StartBuildInput) SetEnvironmentVariablesOverride(v []*EnvironmentVariab return s } +// SetGitCloneDepthOverride sets the GitCloneDepthOverride field's value. +func (s *StartBuildInput) SetGitCloneDepthOverride(v int64) *StartBuildInput { + s.GitCloneDepthOverride = &v + return s +} + // SetProjectName sets the ProjectName field's value. func (s *StartBuildInput) SetProjectName(v string) *StartBuildInput { s.ProjectName = &v @@ -4288,6 +4326,14 @@ func (s *VpcConfig) SetVpcId(v string) *VpcConfig { type Webhook struct { _ struct{} `type:"structure"` + // This is the server endpoint that will receive the webhook payload. + PayloadUrl *string `locationName:"payloadUrl" min:"1" type:"string"` + + // Use this secret while creating a webhook in GitHub for Enterprise. The secret + // allows webhook requests sent by GitHub for Enterprise to be authenticated + // by AWS CodeBuild. + Secret *string `locationName:"secret" min:"1" type:"string"` + // The URL to the webhook. Url *string `locationName:"url" min:"1" type:"string"` } @@ -4302,6 +4348,18 @@ func (s Webhook) GoString() string { return s.String() } +// SetPayloadUrl sets the PayloadUrl field's value. +func (s *Webhook) SetPayloadUrl(v string) *Webhook { + s.PayloadUrl = &v + return s +} + +// SetSecret sets the Secret field's value. +func (s *Webhook) SetSecret(v string) *Webhook { + s.Secret = &v + return s +} + // SetUrl sets the Url field's value. func (s *Webhook) SetUrl(v string) *Webhook { s.Url = &v @@ -4478,6 +4536,9 @@ const ( // SourceTypeBitbucket is a SourceType enum value SourceTypeBitbucket = "BITBUCKET" + + // SourceTypeGithubEnterprise is a SourceType enum value + SourceTypeGithubEnterprise = "GITHUB_ENTERPRISE" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go b/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go index c4eeb0a05f7f..c8cb56ee4399 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/devicefarm/api.go @@ -2765,7 +2765,7 @@ func (c *DeviceFarm) ListJobsRequest(input *ListJobsInput) (req *request.Request // ListJobs API operation for AWS Device Farm. // -// Gets information about jobs. +// Gets information about jobs for a given test run. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3919,7 +3919,7 @@ func (c *DeviceFarm) ListSuitesRequest(input *ListSuitesInput) (req *request.Req // ListSuites API operation for AWS Device Farm. // -// Gets information about suites. +// Gets information about test suites for a given job. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4063,7 +4063,7 @@ func (c *DeviceFarm) ListTestsRequest(input *ListTestsInput) (req *request.Reque // ListTests API operation for AWS Device Farm. // -// Gets information about tests. +// Gets information about tests in a given test suite. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5885,7 +5885,7 @@ type CreateRemoteAccessSessionInput struct { // Unique identifier for the client. If you want access to multiple devices // on the same client, you should pass the same clientId value in each call // to CreateRemoteAccessSession. This is required only if remoteDebugEnabled - // is set to true true. + // is set to true. ClientId *string `locationName:"clientId" type:"string"` // The configuration information for the remote access session request. @@ -5897,6 +5897,20 @@ type CreateRemoteAccessSessionInput struct { // DeviceArn is a required field DeviceArn *string `locationName:"deviceArn" min:"32" type:"string" required:"true"` + // The interaction mode of the remote access session. Valid values are: + // + // * INTERACTIVE: You can interact with the iOS device by viewing, touching, + // and rotating the screen. You cannot run XCUITest framework-based tests + // in this mode. + // + // * NO_VIDEO: You are connected to the device but cannot interact with it + // or view the screen. This mode has the fastest test execution speed. You + // can run XCUITest framework-based tests in this mode. + // + // * VIDEO_ONLY: You can view the screen but cannot touch or rotate it. You + // can run XCUITest framework-based tests and watch the screen in this mode. + InteractionMode *string `locationName:"interactionMode" type:"string" enum:"InteractionMode"` + // The name of the remote access session that you wish to create. Name *string `locationName:"name" type:"string"` @@ -5910,6 +5924,13 @@ type CreateRemoteAccessSessionInput struct { // remote access session. RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"` + // The Amazon Resource Name (ARN) for the app to be recorded in the remote access + // session. + RemoteRecordAppArn *string `locationName:"remoteRecordAppArn" min:"32" type:"string"` + + // Set to true to enable remote recording for the remote access session. + RemoteRecordEnabled *bool `locationName:"remoteRecordEnabled" type:"boolean"` + // The public key of the ssh key pair you want to use for connecting to remote // devices in your remote debugging session. This is only required if remoteDebugEnabled // is set to true. @@ -5941,6 +5962,9 @@ func (s *CreateRemoteAccessSessionInput) Validate() error { if s.ProjectArn != nil && len(*s.ProjectArn) < 32 { invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32)) } + if s.RemoteRecordAppArn != nil && len(*s.RemoteRecordAppArn) < 32 { + invalidParams.Add(request.NewErrParamMinLen("RemoteRecordAppArn", 32)) + } if invalidParams.Len() > 0 { return invalidParams @@ -5966,6 +5990,12 @@ func (s *CreateRemoteAccessSessionInput) SetDeviceArn(v string) *CreateRemoteAcc return s } +// SetInteractionMode sets the InteractionMode field's value. +func (s *CreateRemoteAccessSessionInput) SetInteractionMode(v string) *CreateRemoteAccessSessionInput { + s.InteractionMode = &v + return s +} + // SetName sets the Name field's value. func (s *CreateRemoteAccessSessionInput) SetName(v string) *CreateRemoteAccessSessionInput { s.Name = &v @@ -5984,6 +6014,18 @@ func (s *CreateRemoteAccessSessionInput) SetRemoteDebugEnabled(v bool) *CreateRe return s } +// SetRemoteRecordAppArn sets the RemoteRecordAppArn field's value. +func (s *CreateRemoteAccessSessionInput) SetRemoteRecordAppArn(v string) *CreateRemoteAccessSessionInput { + s.RemoteRecordAppArn = &v + return s +} + +// SetRemoteRecordEnabled sets the RemoteRecordEnabled field's value. +func (s *CreateRemoteAccessSessionInput) SetRemoteRecordEnabled(v bool) *CreateRemoteAccessSessionInput { + s.RemoteRecordEnabled = &v + return s +} + // SetSshPublicKey sets the SshPublicKey field's value. func (s *CreateRemoteAccessSessionInput) SetSshPublicKey(v string) *CreateRemoteAccessSessionInput { s.SshPublicKey = &v @@ -6617,6 +6659,9 @@ type Device struct { // The device's model name. Model *string `locationName:"model" type:"string"` + // The device's model ID. + ModelId *string `locationName:"modelId" type:"string"` + // The device's display name. Name *string `locationName:"name" type:"string"` @@ -6721,6 +6766,12 @@ func (s *Device) SetModel(v string) *Device { return s } +// SetModelId sets the ModelId field's value. +func (s *Device) SetModelId(v string) *Device { + s.ModelId = &v + return s +} + // SetName sets the Name field's value. func (s *Device) SetName(v string) *Device { s.Name = &v @@ -8562,7 +8613,7 @@ func (s *ListDevicesOutput) SetNextToken(v string) *ListDevicesOutput { type ListJobsInput struct { _ struct{} `type:"structure"` - // The jobs' ARNs. + // The run's Amazon Resource Name (ARN). // // Arn is a required field Arn *string `locationName:"arn" min:"32" type:"string" required:"true"` @@ -9344,7 +9395,7 @@ func (s *ListSamplesOutput) SetSamples(v []*Sample) *ListSamplesOutput { type ListSuitesInput struct { _ struct{} `type:"structure"` - // The suites' ARNs. + // The job's Amazon Resource Name (ARN). // // Arn is a required field Arn *string `locationName:"arn" min:"32" type:"string" required:"true"` @@ -9436,7 +9487,7 @@ func (s *ListSuitesOutput) SetSuites(v []*Suite) *ListSuitesOutput { type ListTestsInput struct { _ struct{} `type:"structure"` - // The tests' ARNs. + // The test suite's Amazon Resource Name (ARN). // // Arn is a required field Arn *string `locationName:"arn" min:"32" type:"string" required:"true"` @@ -10543,6 +10594,20 @@ type RemoteAccessSession struct { // Only returned if remote debugging is enabled for the remote access session. HostAddress *string `locationName:"hostAddress" type:"string"` + // The interaction mode of the remote access session. Valid values are: + // + // * INTERACTIVE: You can interact with the iOS device by viewing, touching, + // and rotating the screen. You cannot run XCUITest framework-based tests + // in this mode. + // + // * NO_VIDEO: You are connected to the device but cannot interact with it + // or view the screen. This mode has the fastest test execution speed. You + // can run XCUITest framework-based tests in this mode. + // + // * VIDEO_ONLY: You can view the screen but cannot touch or rotate it. You + // can run XCUITest framework-based tests and watch the screen in this mode. + InteractionMode *string `locationName:"interactionMode" type:"string" enum:"InteractionMode"` + // A message about the remote access session. Message *string `locationName:"message" type:"string"` @@ -10553,6 +10618,14 @@ type RemoteAccessSession struct { // session. RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"` + // The Amazon Resource Name (ARN) for the app to be recorded in the remote access + // session. + RemoteRecordAppArn *string `locationName:"remoteRecordAppArn" min:"32" type:"string"` + + // This flag is set to true if remote recording is enabled for the remote access + // session. + RemoteRecordEnabled *bool `locationName:"remoteRecordEnabled" type:"boolean"` + // The result of the remote access session. Can be any of the following: // // * PENDING: A pending condition. @@ -10662,6 +10735,12 @@ func (s *RemoteAccessSession) SetHostAddress(v string) *RemoteAccessSession { return s } +// SetInteractionMode sets the InteractionMode field's value. +func (s *RemoteAccessSession) SetInteractionMode(v string) *RemoteAccessSession { + s.InteractionMode = &v + return s +} + // SetMessage sets the Message field's value. func (s *RemoteAccessSession) SetMessage(v string) *RemoteAccessSession { s.Message = &v @@ -10680,6 +10759,18 @@ func (s *RemoteAccessSession) SetRemoteDebugEnabled(v bool) *RemoteAccessSession return s } +// SetRemoteRecordAppArn sets the RemoteRecordAppArn field's value. +func (s *RemoteAccessSession) SetRemoteRecordAppArn(v string) *RemoteAccessSession { + s.RemoteRecordAppArn = &v + return s +} + +// SetRemoteRecordEnabled sets the RemoteRecordEnabled field's value. +func (s *RemoteAccessSession) SetRemoteRecordEnabled(v bool) *RemoteAccessSession { + s.RemoteRecordEnabled = &v + return s +} + // SetResult sets the Result field's value. func (s *RemoteAccessSession) SetResult(v string) *RemoteAccessSession { s.Result = &v @@ -10886,6 +10977,9 @@ func (s *Rule) SetValue(v string) *Rule { type Run struct { _ struct{} `type:"structure"` + // An app to upload or that has been uploaded. + AppUpload *string `locationName:"appUpload" min:"32" type:"string"` + // The run's ARN. Arn *string `locationName:"arn" min:"32" type:"string"` @@ -10908,6 +11002,22 @@ type Run struct { // Represents the total (metered or unmetered) minutes used by the test run. DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"` + // The ARN of the device pool for the run. + DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string"` + + // For fuzz tests, this is the number of events, between 1 and 10000, that the + // UI fuzz test should perform. + EventCount *int64 `locationName:"eventCount" type:"integer"` + + // The number of minutes the job will execute before it times out. + JobTimeoutMinutes *int64 `locationName:"jobTimeoutMinutes" type:"integer"` + + // Information about the locale that is used for the run. + Locale *string `locationName:"locale" type:"string"` + + // Information about the location that is used for the run. + Location *Location `locationName:"location" type:"structure"` + // A message about the run's result. Message *string `locationName:"message" type:"string"` @@ -10931,6 +11041,9 @@ type Run struct { // * IOS: The iOS platform. Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"` + // Information about the radio states for the run. + Radios *Radios `locationName:"radios" type:"structure"` + // The run's result. // // Allowed values include: @@ -10954,6 +11067,10 @@ type Run struct { // if the result is skipped because of test package parsing failure. ResultCode *string `locationName:"resultCode" type:"string" enum:"ExecutionResultCode"` + // For fuzz tests, this is a seed to use for randomizing the UI fuzz test. Using + // the same seed value between tests ensures identical event sequences. + Seed *int64 `locationName:"seed" type:"integer"` + // The run's start time. Started *time.Time `locationName:"started" type:"timestamp" timestampFormat:"unix"` @@ -11020,6 +11137,10 @@ type Run struct { // // * XCTEST_UI: The XCode UI test type. Type *string `locationName:"type" type:"string" enum:"TestType"` + + // A pre-signed Amazon S3 URL that can be used with a corresponding GET request + // to download the symbol file for the run. + WebUrl *string `locationName:"webUrl" type:"string"` } // String returns the string representation @@ -11032,6 +11153,12 @@ func (s Run) GoString() string { return s.String() } +// SetAppUpload sets the AppUpload field's value. +func (s *Run) SetAppUpload(v string) *Run { + s.AppUpload = &v + return s +} + // SetArn sets the Arn field's value. func (s *Run) SetArn(v string) *Run { s.Arn = &v @@ -11074,6 +11201,36 @@ func (s *Run) SetDeviceMinutes(v *DeviceMinutes) *Run { return s } +// SetDevicePoolArn sets the DevicePoolArn field's value. +func (s *Run) SetDevicePoolArn(v string) *Run { + s.DevicePoolArn = &v + return s +} + +// SetEventCount sets the EventCount field's value. +func (s *Run) SetEventCount(v int64) *Run { + s.EventCount = &v + return s +} + +// SetJobTimeoutMinutes sets the JobTimeoutMinutes field's value. +func (s *Run) SetJobTimeoutMinutes(v int64) *Run { + s.JobTimeoutMinutes = &v + return s +} + +// SetLocale sets the Locale field's value. +func (s *Run) SetLocale(v string) *Run { + s.Locale = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *Run) SetLocation(v *Location) *Run { + s.Location = v + return s +} + // SetMessage sets the Message field's value. func (s *Run) SetMessage(v string) *Run { s.Message = &v @@ -11104,6 +11261,12 @@ func (s *Run) SetPlatform(v string) *Run { return s } +// SetRadios sets the Radios field's value. +func (s *Run) SetRadios(v *Radios) *Run { + s.Radios = v + return s +} + // SetResult sets the Result field's value. func (s *Run) SetResult(v string) *Run { s.Result = &v @@ -11116,6 +11279,12 @@ func (s *Run) SetResultCode(v string) *Run { return s } +// SetSeed sets the Seed field's value. +func (s *Run) SetSeed(v int64) *Run { + s.Seed = &v + return s +} + // SetStarted sets the Started field's value. func (s *Run) SetStarted(v time.Time) *Run { s.Started = &v @@ -11146,6 +11315,12 @@ func (s *Run) SetType(v string) *Run { return s } +// SetWebUrl sets the WebUrl field's value. +func (s *Run) SetWebUrl(v string) *Run { + s.WebUrl = &v + return s +} + // Represents a sample of performance data. // See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Sample type Sample struct { @@ -12342,8 +12517,8 @@ func (s *UpdateDevicePoolOutput) SetDevicePool(v *DevicePool) *UpdateDevicePoolO type UpdateNetworkProfileInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the project that you wish to update network - // profile settings. + // The Amazon Resource Name (ARN) of the project for which you want to update + // network profile settings. // // Arn is a required field Arn *string `locationName:"arn" min:"32" type:"string" required:"true"` @@ -12954,6 +13129,17 @@ const ( ExecutionStatusStopping = "STOPPING" ) +const ( + // InteractionModeInteractive is a InteractionMode enum value + InteractionModeInteractive = "INTERACTIVE" + + // InteractionModeNoVideo is a InteractionMode enum value + InteractionModeNoVideo = "NO_VIDEO" + + // InteractionModeVideoOnly is a InteractionMode enum value + InteractionModeVideoOnly = "VIDEO_ONLY" +) + const ( // NetworkProfileTypeCurated is a NetworkProfileType enum value NetworkProfileTypeCurated = "CURATED" @@ -13063,6 +13249,9 @@ const ( // TestTypeBuiltinExplorer is a TestType enum value TestTypeBuiltinExplorer = "BUILTIN_EXPLORER" + // TestTypeWebPerformanceProfile is a TestType enum value + TestTypeWebPerformanceProfile = "WEB_PERFORMANCE_PROFILE" + // TestTypeAppiumJavaJunit is a TestType enum value TestTypeAppiumJavaJunit = "APPIUM_JAVA_JUNIT" @@ -13098,6 +13287,12 @@ const ( // TestTypeXctestUi is a TestType enum value TestTypeXctestUi = "XCTEST_UI" + + // TestTypeRemoteAccessRecord is a TestType enum value + TestTypeRemoteAccessRecord = "REMOTE_ACCESS_RECORD" + + // TestTypeRemoteAccessReplay is a TestType enum value + TestTypeRemoteAccessReplay = "REMOTE_ACCESS_REPLAY" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go index 4598ccd820aa..1743b3449933 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go @@ -5428,6 +5428,10 @@ func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectio // the requester VPC. The requester VPC and accepter VPC cannot have overlapping // CIDR blocks. // +// Limitations and rules apply to a VPC peering connection. For more information, +// see the limitations (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-basics.html#vpc-peering-limitations) +// section in the VPC Peering Guide. +// // The owner of the accepter VPC must accept the peering request to activate // the peering connection. The VPC peering connection request expires after // 7 days, after which it cannot be accepted or rejected. @@ -18933,9 +18937,9 @@ func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpoin // ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud. // -// Modifies the permissions for your VPC endpoint service. You can add or remove -// permissions for service consumers (IAM users, IAM roles, and AWS accounts) -// to discover your endpoint service. +// Modifies the permissions for your VPC endpoint service (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/endpoint-service.html). +// You can add or remove permissions for service consumers (IAM users, IAM roles, +// and AWS accounts) to connect to your endpoint service. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -29784,7 +29788,7 @@ type CreateVpcEndpointInput struct { SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"` // The service name. To get a list of available services, use the DescribeVpcEndpointServices - // request. + // request, or get the name from the service provider. // // ServiceName is a required field ServiceName *string `type:"string" required:"true"` @@ -33150,6 +33154,18 @@ type DescribeAddressesInput struct { // the Elastic IP address. // // * public-ip - The Elastic IP address. + // + // * tag:key=value - The key/value combination of a tag assigned to the resource. + // Specify the key of the tag in the filter name and the value of the tag + // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose + // for the filter name and X for the filter value. + // + // * tag-key - The key of a tag assigned to the resource. This filter is + // independent of the tag-value filter. For example, if you use both the + // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources + // assigned both the tag key Purpose (regardless of what the tag's value + // is), and the tag value X (regardless of the tag's key). If you want to + // list only resources where Purpose is X, see the tag:key=value filter. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // [EC2-Classic] One or more Elastic IP addresses. @@ -36657,6 +36673,18 @@ type DescribeLaunchTemplatesInput struct { // * create-time - The time the launch template was created. // // * launch-template-name - The name of the launch template. + // + // * tag:key=value - The key/value combination of a tag assigned to the resource. + // Specify the key of the tag in the filter name and the value of the tag + // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose + // for the filter name and X for the filter value. + // + // * tag-key - The key of a tag assigned to the resource. This filter is + // independent of the tag-value filter. For example, if you use both the + // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources + // assigned both the tag key Purpose (regardless of what the tag's value + // is), and the tag value X (regardless of the tag's key). If you want to + // list only resources where Purpose is X, see the tag:key=value filter. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more launch template IDs. @@ -40335,9 +40363,10 @@ type DescribeTagsInput struct { // * resource-id - The resource ID. // // * resource-type - The resource type (customer-gateway | dhcp-options | - // image | instance | internet-gateway | network-acl | network-interface - // | reserved-instances | route-table | security-group | snapshot | spot-instances-request - // | subnet | volume | vpc | vpn-connection | vpn-gateway). + // elastic-ip | fpga-image | image | instance | internet-gateway | launch-template + // | natgateway | network-acl | network-interface | reserved-instances | + // route-table | security-group | snapshot | spot-instances-request | subnet + // | volume | vpc | vpc-peering-connection | vpn-connection | vpn-gateway). // // * value - The tag value. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -49533,7 +49562,8 @@ func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway { type InternetGatewayAttachment struct { _ struct{} `type:"structure"` - // The current state of the attachment. + // The current state of the attachment. For an Internet gateway, the state is + // available when attached to a VPC; otherwise, this value is not returned. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"` // The ID of the VPC. @@ -60763,7 +60793,9 @@ type RunInstancesInput struct { // The IAM instance profile. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"` - // The ID of the AMI, which you can get by calling DescribeImages. + // The ID of the AMI, which you can get by calling DescribeImages. An AMI is + // required to launch an instance and must be specified here or in a launch + // template. ImageId *string `type:"string"` // Indicates whether an instance stops or terminates when you initiate shutdown @@ -66149,13 +66181,19 @@ type UserIdGroupPair struct { // The name of the security group. In a request, use this parameter for a security // group in EC2-Classic or a default VPC only. For a security group in a nondefault // VPC, use the security group ID. + // + // For a referenced security group in another VPC, this value is not returned + // if the referenced security group is deleted. GroupName *string `locationName:"groupName" type:"string"` // The status of a VPC peering connection, if applicable. PeeringStatus *string `locationName:"peeringStatus" type:"string"` - // The ID of an AWS account. For a referenced security group in another VPC, - // the account ID of the referenced security group is returned. + // The ID of an AWS account. + // + // For a referenced security group in another VPC, the account ID of the referenced + // security group is returned in the response. If the referenced security group + // is deleted, this value is not returned. // // [EC2-Classic] Required when adding or removing rules that reference a security // group in another AWS account. diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go index 1ba51125eafe..432a54df4e74 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go @@ -4,9 +4,8 @@ // requests to Amazon Elastic Compute Cloud. // // Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity -// in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your -// need to invest in hardware up front, so you can develop and deploy applications -// faster. +// in the AWS Cloud. Using Amazon EC2 eliminates your need to invest in hardware +// up front, so you can develop and deploy applications faster. // // See https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/elb/api.go b/vendor/github.com/aws/aws-sdk-go/service/elb/api.go index 49be257885d9..521a88d8a4a0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elb/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elb/api.go @@ -682,6 +682,9 @@ func (c *ELB) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *re // * ErrCodeUnsupportedProtocolException "UnsupportedProtocol" // The specified protocol or signature version is not supported. // +// * ErrCodeOperationNotPermittedException "OperationNotPermitted" +// This operation is not allowed. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancing-2012-06-01/CreateLoadBalancer func (c *ELB) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) { req, out := c.CreateLoadBalancerRequest(input) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elb/doc.go b/vendor/github.com/aws/aws-sdk-go/service/elb/doc.go index 53c2a067addf..0b93ed4740be 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elb/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elb/doc.go @@ -3,27 +3,22 @@ // Package elb provides the client and types for making API // requests to Elastic Load Balancing. // -// A load balancer distributes incoming traffic across your EC2 instances. This -// enables you to increase the availability of your application. The load balancer -// also monitors the health of its registered instances and ensures that it -// routes traffic only to healthy instances. You configure your load balancer -// to accept incoming traffic by specifying one or more listeners, which are -// configured with a protocol and port number for connections from clients to -// the load balancer and a protocol and port number for connections from the -// load balancer to the instances. -// -// Elastic Load Balancing supports two types of load balancers: Classic Load -// Balancers and Application Load Balancers (new). A Classic Load Balancer makes -// routing and load balancing decisions either at the transport layer (TCP/SSL) -// or the application layer (HTTP/HTTPS), and supports either EC2-Classic or -// a VPC. An Application Load Balancer makes routing and load balancing decisions -// at the application layer (HTTP/HTTPS), supports path-based routing, and can -// route requests to one or more ports on each EC2 instance or container instance -// in your virtual private cloud (VPC). For more information, see the Elastic -// Load Balancing User Guide (http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html). +// A load balancer can distribute incoming traffic across your EC2 instances. +// This enables you to increase the availability of your application. The load +// balancer also monitors the health of its registered instances and ensures +// that it routes traffic only to healthy instances. You configure your load +// balancer to accept incoming traffic by specifying one or more listeners, +// which are configured with a protocol and port number for connections from +// clients to the load balancer and a protocol and port number for connections +// from the load balancer to the instances. +// +// Elastic Load Balancing supports three types of load balancers: Application +// Load Balancers, Network Load Balancers, and Classic Load Balancers. You can +// select a load balancer based on your application needs. For more information, +// see the Elastic Load Balancing User Guide (http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/). // // This reference covers the 2012-06-01 API, which supports Classic Load Balancers. -// The 2015-12-01 API supports Application Load Balancers. +// The 2015-12-01 API supports Application Load Balancers and Network Load Balancers. // // To get started, create a load balancer with one or more listeners using CreateLoadBalancer. // Register your instances with the load balancer using RegisterInstancesWithLoadBalancer. diff --git a/vendor/github.com/aws/aws-sdk-go/service/elb/errors.go b/vendor/github.com/aws/aws-sdk-go/service/elb/errors.go index 77ffb20ecd69..fbf2140d87a8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elb/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elb/errors.go @@ -91,6 +91,12 @@ const ( // The specified load balancer attribute does not exist. ErrCodeLoadBalancerAttributeNotFoundException = "LoadBalancerAttributeNotFound" + // ErrCodeOperationNotPermittedException for service response error code + // "OperationNotPermitted". + // + // This operation is not allowed. + ErrCodeOperationNotPermittedException = "OperationNotPermitted" + // ErrCodePolicyNotFoundException for service response error code // "PolicyNotFound". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go index 59c283c4be76..6e79ddf97b0a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go @@ -245,14 +245,12 @@ func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request. // Creates a listener for the specified Application Load Balancer or Network // Load Balancer. // +// You can create up to 10 listeners per load balancer. +// // To update a listener, use ModifyListener. When you are finished with a listener, // you can delete it using DeleteListener. If you are finished with both the // listener and the load balancer, you can delete them both using DeleteLoadBalancer. // -// This operation is idempotent, which means that it completes at most one time. -// If you attempt to create multiple listeners with the same settings, each -// call succeeds. -// // For more information, see Listeners for Your Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html) // in the Application Load Balancers Guide and Listeners for Your Network Load // Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html) @@ -382,15 +380,13 @@ func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req * // your current load balancers, see DescribeLoadBalancers. When you are finished // with a load balancer, you can delete it using DeleteLoadBalancer. // -// For limit information, see Limits for Your Application Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) +// You can create up to 20 load balancers per region per account. You can request +// an increase for the number of load balancers for your account. For more information, +// see Limits for Your Application Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) // in the Application Load Balancers Guide and Limits for Your Network Load // Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html) // in the Network Load Balancers Guide. // -// This operation is idempotent, which means that it completes at most one time. -// If you attempt to create multiple load balancers with the same settings, -// each call succeeds. -// // For more information, see Application Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html) // in the Application Load Balancers Guide and Network Load Balancers (http://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html) // in the Network Load Balancers Guide. @@ -439,6 +435,9 @@ func (c *ELBV2) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req * // * ErrCodeAvailabilityZoneNotSupportedException "AvailabilityZoneNotSupported" // The specified Availability Zone is not supported. // +// * ErrCodeOperationNotPermittedException "OperationNotPermitted" +// This operation is not allowed. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancer func (c *ELBV2) CreateLoadBalancer(input *CreateLoadBalancerInput) (*CreateLoadBalancerOutput, error) { req, out := c.CreateLoadBalancerRequest(input) @@ -634,10 +633,6 @@ func (c *ELBV2) CreateTargetGroupRequest(input *CreateTargetGroupInput) (req *re // // To delete a target group, use DeleteTargetGroup. // -// This operation is idempotent, which means that it completes at most one time. -// If you attempt to create multiple target groups with the same settings, each -// call succeeds. -// // For more information, see Target Groups for Your Application Load Balancers // (http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html) // in the Application Load Balancers Guide or Target Groups for Your Network @@ -1083,8 +1078,8 @@ func (c *ELBV2) DeregisterTargetsRequest(input *DeregisterTargetsInput) (req *re // The specified target group does not exist. // // * ErrCodeInvalidTargetException "InvalidTarget" -// The specified target does not exist, is not in the same VPC as the target -// group, or has an unsupported instance type. +// The specified target does not exist or is not in the same VPC as the target +// group. // // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DeregisterTargets func (c *ELBV2) DeregisterTargets(input *DeregisterTargetsInput) (*DeregisterTargetsOutput, error) { @@ -2158,8 +2153,8 @@ func (c *ELBV2) DescribeTargetHealthRequest(input *DescribeTargetHealthInput) (r // // Returned Error Codes: // * ErrCodeInvalidTargetException "InvalidTarget" -// The specified target does not exist, is not in the same VPC as the target -// group, or has an unsupported instance type. +// The specified target does not exist or is not in the same VPC as the target +// group. // // * ErrCodeTargetGroupNotFoundException "TargetGroupNotFound" // The specified target group does not exist. @@ -2743,8 +2738,8 @@ func (c *ELBV2) RegisterTargetsRequest(input *RegisterTargetsInput) (req *reques // You've reached the limit on the number of targets. // // * ErrCodeInvalidTargetException "InvalidTarget" -// The specified target does not exist, is not in the same VPC as the target -// group, or has an unsupported instance type. +// The specified target does not exist or is not in the same VPC as the target +// group. // // * ErrCodeTooManyRegistrationsForTargetIdException "TooManyRegistrationsForTargetId" // You've reached the limit on the number of times a target can be registered @@ -3821,11 +3816,10 @@ type CreateLoadBalancerInput struct { // one subnet per Availability Zone. You must specify either subnets or subnet // mappings. // - // [Application Load Balancers] You must specify subnets from at least two Availability - // Zones. You cannot specify Elastic IP addresses for your subnets. + // [Network Load Balancers] You can specify one Elastic IP address per subnet. // - // [Network Load Balancers] You can specify subnets from one or more Availability - // Zones. You can specify one Elastic IP address per subnet. + // [Application Load Balancers] You cannot specify Elastic IP addresses for + // your subnets. SubnetMappings []*SubnetMapping `type:"list"` // The IDs of the subnets to attach to the load balancer. You can specify only @@ -3834,9 +3828,6 @@ type CreateLoadBalancerInput struct { // // [Application Load Balancers] You must specify subnets from at least two Availability // Zones. - // - // [Network Load Balancers] You can specify subnets from one or more Availability - // Zones. Subnets []*string `type:"list"` // One or more tags to assign to the load balancer. @@ -5606,10 +5597,6 @@ type Limit struct { // * target-groups // // * targets-per-application-load-balancer - // - // * targets-per-availability-zone-per-network-load-balancer - // - // * targets-per-network-load-balancer Name *string `type:"string"` } @@ -7183,7 +7170,8 @@ type SetSubnetsInput struct { // Zones. You can specify only one subnet per Availability Zone. You must specify // either subnets or subnet mappings. // - // You cannot specify Elastic IP addresses for your subnets. + // The load balancer is allocated one static IP address per subnet. You cannot + // specify your own Elastic IP addresses. SubnetMappings []*SubnetMapping `type:"list"` // The IDs of the subnets. You must specify subnets from at least two Availability @@ -7667,9 +7655,6 @@ type TargetGroupAttribute struct { // from draining to unused. The range is 0-3600 seconds. The default value // is 300 seconds. // - // * proxy_protocol_v2.enabled - [Network Load Balancers] Indicates whether - // Proxy Protocol version 2 is enabled. - // // * stickiness.enabled - [Application Load Balancers] Indicates whether // sticky sessions are enabled. The value is true or false. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go index 88edc02e9cb1..4571d645db28 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go @@ -86,8 +86,8 @@ const ( // ErrCodeInvalidTargetException for service response error code // "InvalidTarget". // - // The specified target does not exist, is not in the same VPC as the target - // group, or has an unsupported instance type. + // The specified target does not exist or is not in the same VPC as the target + // group. ErrCodeInvalidTargetException = "InvalidTarget" // ErrCodeListenerNotFoundException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go b/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go new file mode 100644 index 000000000000..7aa6023571fc --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go @@ -0,0 +1,19092 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package gamelift + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +const opAcceptMatch = "AcceptMatch" + +// AcceptMatchRequest generates a "aws/request.Request" representing the +// client's request for the AcceptMatch operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AcceptMatch for more information on using the AcceptMatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AcceptMatchRequest method. +// req, resp := client.AcceptMatchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AcceptMatch +func (c *GameLift) AcceptMatchRequest(input *AcceptMatchInput) (req *request.Request, output *AcceptMatchOutput) { + op := &request.Operation{ + Name: opAcceptMatch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AcceptMatchInput{} + } + + output = &AcceptMatchOutput{} + req = c.newRequest(op, input, output) + return +} + +// AcceptMatch API operation for Amazon GameLift. +// +// Registers a player's acceptance or rejection of a proposed FlexMatch match. +// A matchmaking configuration may require player acceptance; if so, then matches +// built with that configuration cannot be completed unless all players accept +// the proposed match within a specified time limit. +// +// When FlexMatch builds a match, all the matchmaking tickets involved in the +// proposed match are placed into status REQUIRES_ACCEPTANCE. This is a trigger +// for your game to get acceptance from all players in the ticket. Acceptances +// are only valid for tickets when they are in this status; all other acceptances +// result in an error. +// +// To register acceptance, specify the ticket ID, a response, and one or more +// players. Once all players have registered acceptance, the matchmaking tickets +// advance to status PLACING, where a new game session is created for the match. +// +// If any player rejects the match, or if acceptances are not received before +// a specified timeout, the proposed match is dropped. The matchmaking tickets +// are then handled in one of two ways: For tickets where all players accepted +// the match, the ticket status is returned to SEARCHING to find a new match. +// For tickets where one or more players failed to accept the match, the ticket +// status is set to FAILED, and processing is terminated. A new matchmaking +// request for these players can be submitted as needed. +// +// Matchmaking-related operations include: +// +// * StartMatchmaking +// +// * DescribeMatchmaking +// +// * StopMatchmaking +// +// * AcceptMatch +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation AcceptMatch for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AcceptMatch +func (c *GameLift) AcceptMatch(input *AcceptMatchInput) (*AcceptMatchOutput, error) { + req, out := c.AcceptMatchRequest(input) + return out, req.Send() +} + +// AcceptMatchWithContext is the same as AcceptMatch with the addition of +// the ability to pass a context and additional request options. +// +// See AcceptMatch for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) AcceptMatchWithContext(ctx aws.Context, input *AcceptMatchInput, opts ...request.Option) (*AcceptMatchOutput, error) { + req, out := c.AcceptMatchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateAlias = "CreateAlias" + +// CreateAliasRequest generates a "aws/request.Request" representing the +// client's request for the CreateAlias operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateAlias for more information on using the CreateAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateAliasRequest method. +// req, resp := client.CreateAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateAlias +func (c *GameLift) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, output *CreateAliasOutput) { + op := &request.Operation{ + Name: opCreateAlias, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateAliasInput{} + } + + output = &CreateAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAlias API operation for Amazon GameLift. +// +// Creates an alias for a fleet. In most situations, you can use an alias ID +// in place of a fleet ID. By using a fleet alias instead of a specific fleet +// ID, you can switch gameplay and players to a new fleet without changing your +// game client or other game components. For example, for games in production, +// using an alias allows you to seamlessly redirect your player base to a new +// game server update. +// +// Amazon GameLift supports two types of routing strategies for aliases: simple +// and terminal. A simple alias points to an active fleet. A terminal alias +// is used to display messaging or link to a URL instead of routing players +// to an active fleet. For example, you might use a terminal alias when a game +// version is no longer supported and you want to direct players to an upgrade +// site. +// +// To create a fleet alias, specify an alias name, routing strategy, and optional +// description. Each simple alias can point to only one fleet, but a fleet can +// have multiple aliases. If successful, a new alias record is returned, including +// an alias ID, which you can reference when creating a game session. You can +// reassign an alias to another fleet by calling UpdateAlias. +// +// Alias-related operations include: +// +// * CreateAlias +// +// * ListAliases +// +// * DescribeAlias +// +// * UpdateAlias +// +// * DeleteAlias +// +// * ResolveAlias +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateAlias for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The requested operation would cause the resource to exceed the allowed service +// limit. Resolve the issue before retrying. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateAlias +func (c *GameLift) CreateAlias(input *CreateAliasInput) (*CreateAliasOutput, error) { + req, out := c.CreateAliasRequest(input) + return out, req.Send() +} + +// CreateAliasWithContext is the same as CreateAlias with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAlias for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateAliasWithContext(ctx aws.Context, input *CreateAliasInput, opts ...request.Option) (*CreateAliasOutput, error) { + req, out := c.CreateAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateBuild = "CreateBuild" + +// CreateBuildRequest generates a "aws/request.Request" representing the +// client's request for the CreateBuild operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateBuild for more information on using the CreateBuild +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateBuildRequest method. +// req, resp := client.CreateBuildRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateBuild +func (c *GameLift) CreateBuildRequest(input *CreateBuildInput) (req *request.Request, output *CreateBuildOutput) { + op := &request.Operation{ + Name: opCreateBuild, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateBuildInput{} + } + + output = &CreateBuildOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateBuild API operation for Amazon GameLift. +// +// Creates a new Amazon GameLift build from a set of game server binary files +// stored in an Amazon Simple Storage Service (Amazon S3) location. To use this +// API call, create a .zip file containing all of the files for the build and +// store it in an Amazon S3 bucket under your AWS account. For help on packaging +// your build files and creating a build, see Uploading Your Game to Amazon +// GameLift (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html). +// +// Use this API action ONLY if you are storing your game build files in an Amazon +// S3 bucket. To create a build using files stored locally, use the CLI command +// upload-build (http://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html), +// which uploads the build files from a file location you specify. +// +// To create a new build using CreateBuild, identify the storage location and +// operating system of your game build. You also have the option of specifying +// a build name and version. If successful, this action creates a new build +// record with an unique build ID and in INITIALIZED status. Use the API call +// DescribeBuild to check the status of your build. A build must be in READY +// status before it can be used to create fleets to host your game. +// +// Build-related operations include: +// +// * CreateBuild +// +// * ListBuilds +// +// * DescribeBuild +// +// * UpdateBuild +// +// * DeleteBuild +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateBuild for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateBuild +func (c *GameLift) CreateBuild(input *CreateBuildInput) (*CreateBuildOutput, error) { + req, out := c.CreateBuildRequest(input) + return out, req.Send() +} + +// CreateBuildWithContext is the same as CreateBuild with the addition of +// the ability to pass a context and additional request options. +// +// See CreateBuild for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateBuildWithContext(ctx aws.Context, input *CreateBuildInput, opts ...request.Option) (*CreateBuildOutput, error) { + req, out := c.CreateBuildRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateFleet = "CreateFleet" + +// CreateFleetRequest generates a "aws/request.Request" representing the +// client's request for the CreateFleet operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateFleet for more information on using the CreateFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateFleetRequest method. +// req, resp := client.CreateFleetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleet +func (c *GameLift) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) { + op := &request.Operation{ + Name: opCreateFleet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateFleetInput{} + } + + output = &CreateFleetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateFleet API operation for Amazon GameLift. +// +// Creates a new fleet to run your game servers. A fleet is a set of Amazon +// Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple +// server processes to host game sessions. You configure a fleet to create instances +// with certain hardware specifications (see Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/) +// for more information), and deploy a specified game build to each instance. +// A newly created fleet passes through several statuses; once it reaches the +// ACTIVE status, it can begin hosting game sessions. +// +// To create a new fleet, you must specify the following: (1) fleet name, (2) +// build ID of an uploaded game build, (3) an EC2 instance type, and (4) a run-time +// configuration that describes which server processes to run on each instance +// in the fleet. (Although the run-time configuration is not a required parameter, +// the fleet cannot be successfully activated without it.) +// +// You can also configure the new fleet with the following settings: +// +// * Fleet description +// +// * Access permissions for inbound traffic +// +// * Fleet-wide game session protection +// +// * Resource creation limit +// +// If you use Amazon CloudWatch for metrics, you can add the new fleet to a +// metric group. This allows you to view aggregated metrics for a set of fleets. +// Once you specify a metric group, the new fleet's metrics are included in +// the metric group's data. +// +// You have the option of creating a VPC peering connection with the new fleet. +// For more information, see VPC Peering with Amazon GameLift Fleets (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). +// +// If the CreateFleet call is successful, Amazon GameLift performs the following +// tasks: +// +// * Creates a fleet record and sets the status to NEW (followed by other +// statuses as the fleet is activated). +// +// * Sets the fleet's target capacity to 1 (desired instances), which causes +// Amazon GameLift to start one new EC2 instance. +// +// * Starts launching server processes on the instance. If the fleet is configured +// to run multiple server processes per instance, Amazon GameLift staggers +// each launch by a few seconds. +// +// * Begins writing events to the fleet event log, which can be accessed +// in the Amazon GameLift console. +// +// * Sets the fleet's status to ACTIVE as soon as one server process in the +// fleet is ready to host a game session. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateFleet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The requested operation would cause the resource to exceed the allowed service +// limit. Resolve the issue before retrying. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleet +func (c *GameLift) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) { + req, out := c.CreateFleetRequest(input) + return out, req.Send() +} + +// CreateFleetWithContext is the same as CreateFleet with the addition of +// the ability to pass a context and additional request options. +// +// See CreateFleet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) { + req, out := c.CreateFleetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateGameSession = "CreateGameSession" + +// CreateGameSessionRequest generates a "aws/request.Request" representing the +// client's request for the CreateGameSession operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateGameSession for more information on using the CreateGameSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateGameSessionRequest method. +// req, resp := client.CreateGameSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSession +func (c *GameLift) CreateGameSessionRequest(input *CreateGameSessionInput) (req *request.Request, output *CreateGameSessionOutput) { + op := &request.Operation{ + Name: opCreateGameSession, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateGameSessionInput{} + } + + output = &CreateGameSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateGameSession API operation for Amazon GameLift. +// +// Creates a multiplayer game session for players. This action creates a game +// session record and assigns an available server process in the specified fleet +// to host the game session. A fleet must have an ACTIVE status before a game +// session can be created in it. +// +// To create a game session, specify either fleet ID or alias ID and indicate +// a maximum number of players to allow in the game session. You can also provide +// a name and game-specific properties for this game session. If successful, +// a GameSession object is returned containing the game session properties and +// other settings you specified. +// +// Idempotency tokens. You can add a token that uniquely identifies game session +// requests. This is useful for ensuring that game session requests are idempotent. +// Multiple requests with the same idempotency token are processed only once; +// subsequent requests return the original result. All response values are the +// same with the exception of game session status, which may change. +// +// Resource creation limits. If you are creating a game session on a fleet with +// a resource creation limit policy in force, then you must specify a creator +// ID. Without this ID, Amazon GameLift has no way to evaluate the policy for +// this new game session request. +// +// Player acceptance policy. By default, newly created game sessions are open +// to new players. You can restrict new player access by using UpdateGameSession +// to change the game session's player session creation policy. +// +// Game session logs. Logs are retained for all active game sessions for 14 +// days. To access the logs, call GetGameSessionLogUrl to download the log files. +// +// Available in Amazon GameLift Local. +// +// Game-session-related operations include: +// +// * CreateGameSession +// +// * DescribeGameSessions +// +// * DescribeGameSessionDetails +// +// * SearchGameSessions +// +// * UpdateGameSession +// +// * GetGameSessionLogUrl +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateGameSession for usage and error information. +// +// Returned Error Codes: +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException" +// The requested operation would cause a conflict with the current state of +// a resource associated with the request and/or the fleet. Resolve the conflict +// before retrying. +// +// * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException" +// The service is unable to resolve the routing for a particular alias because +// it has a terminal RoutingStrategy associated with it. The message returned +// in this exception is the message defined in the routing strategy itself. +// Such requests should only be retried if the routing strategy for the specified +// alias is modified. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeFleetCapacityExceededException "FleetCapacityExceededException" +// The specified fleet has no available instances to fulfill a CreateGameSession +// request. Clients can retry such requests immediately or after a waiting period. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The requested operation would cause the resource to exceed the allowed service +// limit. Resolve the issue before retrying. +// +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// A game session with this custom ID string already exists in this fleet. Resolve +// this conflict before retrying this request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSession +func (c *GameLift) CreateGameSession(input *CreateGameSessionInput) (*CreateGameSessionOutput, error) { + req, out := c.CreateGameSessionRequest(input) + return out, req.Send() +} + +// CreateGameSessionWithContext is the same as CreateGameSession with the addition of +// the ability to pass a context and additional request options. +// +// See CreateGameSession for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateGameSessionWithContext(ctx aws.Context, input *CreateGameSessionInput, opts ...request.Option) (*CreateGameSessionOutput, error) { + req, out := c.CreateGameSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateGameSessionQueue = "CreateGameSessionQueue" + +// CreateGameSessionQueueRequest generates a "aws/request.Request" representing the +// client's request for the CreateGameSessionQueue operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateGameSessionQueue for more information on using the CreateGameSessionQueue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateGameSessionQueueRequest method. +// req, resp := client.CreateGameSessionQueueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionQueue +func (c *GameLift) CreateGameSessionQueueRequest(input *CreateGameSessionQueueInput) (req *request.Request, output *CreateGameSessionQueueOutput) { + op := &request.Operation{ + Name: opCreateGameSessionQueue, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateGameSessionQueueInput{} + } + + output = &CreateGameSessionQueueOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateGameSessionQueue API operation for Amazon GameLift. +// +// Establishes a new queue for processing requests to place new game sessions. +// A queue identifies where new game sessions can be hosted -- by specifying +// a list of destinations (fleets or aliases) -- and how long requests can wait +// in the queue before timing out. You can set up a queue to try to place game +// sessions on fleets in multiple regions. To add placement requests to a queue, +// call StartGameSessionPlacement and reference the queue name. +// +// Destination order. When processing a request for a game session, Amazon GameLift +// tries each destination in order until it finds one with available resources +// to host the new game session. A queue's default order is determined by how +// destinations are listed. The default order is overridden when a game session +// placement request provides player latency information. Player latency information +// enables Amazon GameLift to prioritize destinations where players report the +// lowest average latency, as a result placing the new game session where the +// majority of players will have the best possible gameplay experience. +// +// Player latency policies. For placement requests containing player latency +// information, use player latency policies to protect individual players from +// very high latencies. With a latency cap, even when a destination can deliver +// a low latency for most players, the game is not placed where any individual +// player is reporting latency higher than a policy's maximum. A queue can have +// multiple latency policies, which are enforced consecutively starting with +// the policy with the lowest latency cap. Use multiple policies to gradually +// relax latency controls; for example, you might set a policy with a low latency +// cap for the first 60 seconds, a second policy with a higher cap for the next +// 60 seconds, etc. +// +// To create a new queue, provide a name, timeout value, a list of destinations +// and, if desired, a set of latency policies. If successful, a new queue object +// is returned. +// +// Queue-related operations include: +// +// * CreateGameSessionQueue +// +// * DescribeGameSessionQueues +// +// * UpdateGameSessionQueue +// +// * DeleteGameSessionQueue +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateGameSessionQueue for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The requested operation would cause the resource to exceed the allowed service +// limit. Resolve the issue before retrying. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionQueue +func (c *GameLift) CreateGameSessionQueue(input *CreateGameSessionQueueInput) (*CreateGameSessionQueueOutput, error) { + req, out := c.CreateGameSessionQueueRequest(input) + return out, req.Send() +} + +// CreateGameSessionQueueWithContext is the same as CreateGameSessionQueue with the addition of +// the ability to pass a context and additional request options. +// +// See CreateGameSessionQueue for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateGameSessionQueueWithContext(ctx aws.Context, input *CreateGameSessionQueueInput, opts ...request.Option) (*CreateGameSessionQueueOutput, error) { + req, out := c.CreateGameSessionQueueRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateMatchmakingConfiguration = "CreateMatchmakingConfiguration" + +// CreateMatchmakingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateMatchmakingConfiguration operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateMatchmakingConfiguration for more information on using the CreateMatchmakingConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateMatchmakingConfigurationRequest method. +// req, resp := client.CreateMatchmakingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfiguration +func (c *GameLift) CreateMatchmakingConfigurationRequest(input *CreateMatchmakingConfigurationInput) (req *request.Request, output *CreateMatchmakingConfigurationOutput) { + op := &request.Operation{ + Name: opCreateMatchmakingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateMatchmakingConfigurationInput{} + } + + output = &CreateMatchmakingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateMatchmakingConfiguration API operation for Amazon GameLift. +// +// Defines a new matchmaking configuration for use with FlexMatch. A matchmaking +// configuration sets out guidelines for matching players and getting the matches +// into games. You can set up multiple matchmaking configurations to handle +// the scenarios needed for your game. Each matchmaking request (StartMatchmaking) +// specifies a configuration for the match and provides player attributes to +// support the configuration being used. +// +// To create a matchmaking configuration, at a minimum you must specify the +// following: configuration name; a rule set that governs how to evaluate players +// and find acceptable matches; a game session queue to use when placing a new +// game session for the match; and the maximum time allowed for a matchmaking +// attempt. +// +// Player acceptance -- In each configuration, you have the option to require +// that all players accept participation in a proposed match. To enable this +// feature, set AcceptanceRequired to true and specify a time limit for player +// acceptance. Players have the option to accept or reject a proposed match, +// and a match does not move ahead to game session placement unless all matched +// players accept. +// +// Matchmaking status notification -- There are two ways to track the progress +// of matchmaking tickets: (1) polling ticket status with DescribeMatchmaking; +// or (2) receiving notifications with Amazon Simple Notification Service (SNS). +// To use notifications, you first need to set up an SNS topic to receive the +// notifications, and provide the topic ARN in the matchmaking configuration +// (see Setting up Notifications for Matchmaking (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html)). +// Since notifications promise only "best effort" delivery, we recommend calling +// DescribeMatchmaking if no notifications are received within 30 seconds. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateMatchmakingConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The requested operation would cause the resource to exceed the allowed service +// limit. Resolve the issue before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfiguration +func (c *GameLift) CreateMatchmakingConfiguration(input *CreateMatchmakingConfigurationInput) (*CreateMatchmakingConfigurationOutput, error) { + req, out := c.CreateMatchmakingConfigurationRequest(input) + return out, req.Send() +} + +// CreateMatchmakingConfigurationWithContext is the same as CreateMatchmakingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMatchmakingConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateMatchmakingConfigurationWithContext(ctx aws.Context, input *CreateMatchmakingConfigurationInput, opts ...request.Option) (*CreateMatchmakingConfigurationOutput, error) { + req, out := c.CreateMatchmakingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateMatchmakingRuleSet = "CreateMatchmakingRuleSet" + +// CreateMatchmakingRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateMatchmakingRuleSet operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateMatchmakingRuleSet for more information on using the CreateMatchmakingRuleSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateMatchmakingRuleSetRequest method. +// req, resp := client.CreateMatchmakingRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSet +func (c *GameLift) CreateMatchmakingRuleSetRequest(input *CreateMatchmakingRuleSetInput) (req *request.Request, output *CreateMatchmakingRuleSetOutput) { + op := &request.Operation{ + Name: opCreateMatchmakingRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateMatchmakingRuleSetInput{} + } + + output = &CreateMatchmakingRuleSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateMatchmakingRuleSet API operation for Amazon GameLift. +// +// Creates a new rule set for FlexMatch matchmaking. A rule set describes the +// type of match to create, such as the number and size of teams, and sets the +// parameters for acceptable player matches, such as minimum skill level or +// character type. Rule sets are used in matchmaking configurations, which define +// how matchmaking requests are handled. Each MatchmakingConfiguration uses +// one rule set; you can set up multiple rule sets to handle the scenarios that +// suit your game (such as for different game modes), and create a separate +// matchmaking configuration for each rule set. See additional information on +// rule set content in the MatchmakingRuleSet structure. For help creating rule +// sets, including useful examples, see the topic Adding FlexMatch to Your +// Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html). +// +// Once created, matchmaking rule sets cannot be changed or deleted, so we recommend +// checking the rule set syntax using ValidateMatchmakingRuleSetbefore creating +// the rule set. +// +// To create a matchmaking rule set, provide the set of rules and a unique name. +// Rule sets must be defined in the same region as the matchmaking configuration +// they will be used with. Rule sets cannot be edited or deleted. If you need +// to change a rule set, create a new one with the necessary edits and then +// update matchmaking configurations to use the new rule set. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateMatchmakingRuleSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSet +func (c *GameLift) CreateMatchmakingRuleSet(input *CreateMatchmakingRuleSetInput) (*CreateMatchmakingRuleSetOutput, error) { + req, out := c.CreateMatchmakingRuleSetRequest(input) + return out, req.Send() +} + +// CreateMatchmakingRuleSetWithContext is the same as CreateMatchmakingRuleSet with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMatchmakingRuleSet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateMatchmakingRuleSetWithContext(ctx aws.Context, input *CreateMatchmakingRuleSetInput, opts ...request.Option) (*CreateMatchmakingRuleSetOutput, error) { + req, out := c.CreateMatchmakingRuleSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePlayerSession = "CreatePlayerSession" + +// CreatePlayerSessionRequest generates a "aws/request.Request" representing the +// client's request for the CreatePlayerSession operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreatePlayerSession for more information on using the CreatePlayerSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreatePlayerSessionRequest method. +// req, resp := client.CreatePlayerSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSession +func (c *GameLift) CreatePlayerSessionRequest(input *CreatePlayerSessionInput) (req *request.Request, output *CreatePlayerSessionOutput) { + op := &request.Operation{ + Name: opCreatePlayerSession, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreatePlayerSessionInput{} + } + + output = &CreatePlayerSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePlayerSession API operation for Amazon GameLift. +// +// Adds a player to a game session and creates a player session record. Before +// a player can be added, a game session must have an ACTIVE status, have a +// creation policy of ALLOW_ALL, and have an open player slot. To add a group +// of players to a game session, use CreatePlayerSessions. +// +// To create a player session, specify a game session ID, player ID, and optionally +// a string of player data. If successful, the player is added to the game session +// and a new PlayerSession object is returned. Player sessions cannot be updated. +// +// Available in Amazon GameLift Local. +// +// Player-session-related operations include: +// +// * CreatePlayerSession +// +// * CreatePlayerSessions +// +// * DescribePlayerSessions +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreatePlayerSession for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidGameSessionStatusException "InvalidGameSessionStatusException" +// The requested operation would cause a conflict with the current state of +// a resource associated with the request and/or the game instance. Resolve +// the conflict before retrying. +// +// * ErrCodeGameSessionFullException "GameSessionFullException" +// The game instance is currently full and cannot allow the requested player(s) +// to join. Clients can retry such requests immediately or after a waiting period. +// +// * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException" +// The service is unable to resolve the routing for a particular alias because +// it has a terminal RoutingStrategy associated with it. The message returned +// in this exception is the message defined in the routing strategy itself. +// Such requests should only be retried if the routing strategy for the specified +// alias is modified. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSession +func (c *GameLift) CreatePlayerSession(input *CreatePlayerSessionInput) (*CreatePlayerSessionOutput, error) { + req, out := c.CreatePlayerSessionRequest(input) + return out, req.Send() +} + +// CreatePlayerSessionWithContext is the same as CreatePlayerSession with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePlayerSession for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreatePlayerSessionWithContext(ctx aws.Context, input *CreatePlayerSessionInput, opts ...request.Option) (*CreatePlayerSessionOutput, error) { + req, out := c.CreatePlayerSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePlayerSessions = "CreatePlayerSessions" + +// CreatePlayerSessionsRequest generates a "aws/request.Request" representing the +// client's request for the CreatePlayerSessions operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreatePlayerSessions for more information on using the CreatePlayerSessions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreatePlayerSessionsRequest method. +// req, resp := client.CreatePlayerSessionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessions +func (c *GameLift) CreatePlayerSessionsRequest(input *CreatePlayerSessionsInput) (req *request.Request, output *CreatePlayerSessionsOutput) { + op := &request.Operation{ + Name: opCreatePlayerSessions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreatePlayerSessionsInput{} + } + + output = &CreatePlayerSessionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePlayerSessions API operation for Amazon GameLift. +// +// Adds a group of players to a game session. This action is useful with a team +// matching feature. Before players can be added, a game session must have an +// ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player +// slot. To add a single player to a game session, use CreatePlayerSession. +// +// To create player sessions, specify a game session ID, a list of player IDs, +// and optionally a set of player data strings. If successful, the players are +// added to the game session and a set of new PlayerSession objects is returned. +// Player sessions cannot be updated. +// +// Available in Amazon GameLift Local. +// +// Player-session-related operations include: +// +// * CreatePlayerSession +// +// * CreatePlayerSessions +// +// * DescribePlayerSessions +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreatePlayerSessions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidGameSessionStatusException "InvalidGameSessionStatusException" +// The requested operation would cause a conflict with the current state of +// a resource associated with the request and/or the game instance. Resolve +// the conflict before retrying. +// +// * ErrCodeGameSessionFullException "GameSessionFullException" +// The game instance is currently full and cannot allow the requested player(s) +// to join. Clients can retry such requests immediately or after a waiting period. +// +// * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException" +// The service is unable to resolve the routing for a particular alias because +// it has a terminal RoutingStrategy associated with it. The message returned +// in this exception is the message defined in the routing strategy itself. +// Such requests should only be retried if the routing strategy for the specified +// alias is modified. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessions +func (c *GameLift) CreatePlayerSessions(input *CreatePlayerSessionsInput) (*CreatePlayerSessionsOutput, error) { + req, out := c.CreatePlayerSessionsRequest(input) + return out, req.Send() +} + +// CreatePlayerSessionsWithContext is the same as CreatePlayerSessions with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePlayerSessions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreatePlayerSessionsWithContext(ctx aws.Context, input *CreatePlayerSessionsInput, opts ...request.Option) (*CreatePlayerSessionsOutput, error) { + req, out := c.CreatePlayerSessionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateVpcPeeringAuthorization = "CreateVpcPeeringAuthorization" + +// CreateVpcPeeringAuthorizationRequest generates a "aws/request.Request" representing the +// client's request for the CreateVpcPeeringAuthorization operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateVpcPeeringAuthorization for more information on using the CreateVpcPeeringAuthorization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateVpcPeeringAuthorizationRequest method. +// req, resp := client.CreateVpcPeeringAuthorizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorization +func (c *GameLift) CreateVpcPeeringAuthorizationRequest(input *CreateVpcPeeringAuthorizationInput) (req *request.Request, output *CreateVpcPeeringAuthorizationOutput) { + op := &request.Operation{ + Name: opCreateVpcPeeringAuthorization, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateVpcPeeringAuthorizationInput{} + } + + output = &CreateVpcPeeringAuthorizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateVpcPeeringAuthorization API operation for Amazon GameLift. +// +// Requests authorization to create or delete a peer connection between the +// VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your +// AWS account. VPC peering enables the game servers on your fleet to communicate +// directly with other AWS resources. Once you've received authorization, call +// CreateVpcPeeringConnection to establish the peering connection. For more +// information, see VPC Peering with Amazon GameLift Fleets (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). +// +// You can peer with VPCs that are owned by any AWS account you have access +// to, including the account that you use to manage your Amazon GameLift fleets. +// You cannot peer with VPCs that are in different regions. +// +// To request authorization to create a connection, call this operation from +// the AWS account with the VPC that you want to peer to your Amazon GameLift +// fleet. For example, to enable your game servers to retrieve data from a DynamoDB +// table, use the account that manages that DynamoDB resource. Identify the +// following values: (1) The ID of the VPC that you want to peer with, and (2) +// the ID of the AWS account that you use to manage Amazon GameLift. If successful, +// VPC peering is authorized for the specified VPC. +// +// To request authorization to delete a connection, call this operation from +// the AWS account with the VPC that is peered with your Amazon GameLift fleet. +// Identify the following values: (1) VPC ID that you want to delete the peering +// connection for, and (2) ID of the AWS account that you use to manage Amazon +// GameLift. +// +// The authorization remains valid for 24 hours unless it is canceled by a call +// to DeleteVpcPeeringAuthorization. You must create or delete the peering connection +// while the authorization is valid. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateVpcPeeringAuthorization for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorization +func (c *GameLift) CreateVpcPeeringAuthorization(input *CreateVpcPeeringAuthorizationInput) (*CreateVpcPeeringAuthorizationOutput, error) { + req, out := c.CreateVpcPeeringAuthorizationRequest(input) + return out, req.Send() +} + +// CreateVpcPeeringAuthorizationWithContext is the same as CreateVpcPeeringAuthorization with the addition of +// the ability to pass a context and additional request options. +// +// See CreateVpcPeeringAuthorization for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateVpcPeeringAuthorizationWithContext(ctx aws.Context, input *CreateVpcPeeringAuthorizationInput, opts ...request.Option) (*CreateVpcPeeringAuthorizationOutput, error) { + req, out := c.CreateVpcPeeringAuthorizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection" + +// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the +// client's request for the CreateVpcPeeringConnection operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateVpcPeeringConnectionRequest method. +// req, resp := client.CreateVpcPeeringConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnection +func (c *GameLift) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) { + op := &request.Operation{ + Name: opCreateVpcPeeringConnection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateVpcPeeringConnectionInput{} + } + + output = &CreateVpcPeeringConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateVpcPeeringConnection API operation for Amazon GameLift. +// +// Establishes a VPC peering connection between a virtual private cloud (VPC) +// in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering +// enables the game servers on your fleet to communicate directly with other +// AWS resources. You can peer with VPCs in any AWS account that you have access +// to, including the account that you use to manage your Amazon GameLift fleets. +// You cannot peer with VPCs that are in different regions. For more information, +// see VPC Peering with Amazon GameLift Fleets (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). +// +// Before calling this operation to establish the peering connection, you first +// need to call CreateVpcPeeringAuthorization and identify the VPC you want +// to peer with. Once the authorization for the specified VPC is issued, you +// have 24 hours to establish the connection. These two operations handle all +// tasks necessary to peer the two VPCs, including acceptance, updating routing +// tables, etc. +// +// To establish the connection, call this operation from the AWS account that +// is used to manage the Amazon GameLift fleets. Identify the following values: +// (1) The ID of the fleet you want to be enable a VPC peering connection for; +// (2) The AWS account with the VPC that you want to peer with; and (3) The +// ID of the VPC you want to peer with. This operation is asynchronous. If successful, +// a VpcPeeringConnection request is created. You can use continuous polling +// to track the request's status using DescribeVpcPeeringConnections, or by +// monitoring fleet events for success or failure using DescribeFleetEvents. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation CreateVpcPeeringConnection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnection +func (c *GameLift) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) { + req, out := c.CreateVpcPeeringConnectionRequest(input) + return out, req.Send() +} + +// CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of +// the ability to pass a context and additional request options. +// +// See CreateVpcPeeringConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) { + req, out := c.CreateVpcPeeringConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteAlias = "DeleteAlias" + +// DeleteAliasRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAlias operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteAlias for more information on using the DeleteAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteAliasRequest method. +// req, resp := client.DeleteAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAlias +func (c *GameLift) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, output *DeleteAliasOutput) { + op := &request.Operation{ + Name: opDeleteAlias, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteAliasInput{} + } + + output = &DeleteAliasOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAlias API operation for Amazon GameLift. +// +// Deletes an alias. This action removes all record of the alias. Game clients +// attempting to access a server process using the deleted alias receive an +// error. To delete an alias, specify the alias ID to be deleted. +// +// Alias-related operations include: +// +// * CreateAlias +// +// * ListAliases +// +// * DescribeAlias +// +// * UpdateAlias +// +// * DeleteAlias +// +// * ResolveAlias +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteAlias for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAlias +func (c *GameLift) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) { + req, out := c.DeleteAliasRequest(input) + return out, req.Send() +} + +// DeleteAliasWithContext is the same as DeleteAlias with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAlias for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteAliasWithContext(ctx aws.Context, input *DeleteAliasInput, opts ...request.Option) (*DeleteAliasOutput, error) { + req, out := c.DeleteAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteBuild = "DeleteBuild" + +// DeleteBuildRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBuild operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteBuild for more information on using the DeleteBuild +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteBuildRequest method. +// req, resp := client.DeleteBuildRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteBuild +func (c *GameLift) DeleteBuildRequest(input *DeleteBuildInput) (req *request.Request, output *DeleteBuildOutput) { + op := &request.Operation{ + Name: opDeleteBuild, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteBuildInput{} + } + + output = &DeleteBuildOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteBuild API operation for Amazon GameLift. +// +// Deletes a build. This action permanently deletes the build record and any +// uploaded build files. +// +// To delete a build, specify its ID. Deleting a build does not affect the status +// of any active fleets using the build, but you can no longer create new fleets +// with the deleted build. +// +// Build-related operations include: +// +// * CreateBuild +// +// * ListBuilds +// +// * DescribeBuild +// +// * UpdateBuild +// +// * DeleteBuild +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteBuild for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteBuild +func (c *GameLift) DeleteBuild(input *DeleteBuildInput) (*DeleteBuildOutput, error) { + req, out := c.DeleteBuildRequest(input) + return out, req.Send() +} + +// DeleteBuildWithContext is the same as DeleteBuild with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBuild for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteBuildWithContext(ctx aws.Context, input *DeleteBuildInput, opts ...request.Option) (*DeleteBuildOutput, error) { + req, out := c.DeleteBuildRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteFleet = "DeleteFleet" + +// DeleteFleetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFleet operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteFleet for more information on using the DeleteFleet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteFleetRequest method. +// req, resp := client.DeleteFleetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleet +func (c *GameLift) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) { + op := &request.Operation{ + Name: opDeleteFleet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteFleetInput{} + } + + output = &DeleteFleetOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteFleet API operation for Amazon GameLift. +// +// Deletes everything related to a fleet. Before deleting a fleet, you must +// set the fleet's desired capacity to zero. See UpdateFleetCapacity. +// +// This action removes the fleet's resources and the fleet record. Once a fleet +// is deleted, you can no longer use that fleet. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteFleet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException" +// The requested operation would cause a conflict with the current state of +// a resource associated with the request and/or the fleet. Resolve the conflict +// before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleet +func (c *GameLift) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) { + req, out := c.DeleteFleetRequest(input) + return out, req.Send() +} + +// DeleteFleetWithContext is the same as DeleteFleet with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteFleet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) { + req, out := c.DeleteFleetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteGameSessionQueue = "DeleteGameSessionQueue" + +// DeleteGameSessionQueueRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGameSessionQueue operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteGameSessionQueue for more information on using the DeleteGameSessionQueue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteGameSessionQueueRequest method. +// req, resp := client.DeleteGameSessionQueueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameSessionQueue +func (c *GameLift) DeleteGameSessionQueueRequest(input *DeleteGameSessionQueueInput) (req *request.Request, output *DeleteGameSessionQueueOutput) { + op := &request.Operation{ + Name: opDeleteGameSessionQueue, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteGameSessionQueueInput{} + } + + output = &DeleteGameSessionQueueOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteGameSessionQueue API operation for Amazon GameLift. +// +// Deletes a game session queue. This action means that any StartGameSessionPlacement +// requests that reference this queue will fail. To delete a queue, specify +// the queue name. +// +// Queue-related operations include: +// +// * CreateGameSessionQueue +// +// * DescribeGameSessionQueues +// +// * UpdateGameSessionQueue +// +// * DeleteGameSessionQueue +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteGameSessionQueue for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameSessionQueue +func (c *GameLift) DeleteGameSessionQueue(input *DeleteGameSessionQueueInput) (*DeleteGameSessionQueueOutput, error) { + req, out := c.DeleteGameSessionQueueRequest(input) + return out, req.Send() +} + +// DeleteGameSessionQueueWithContext is the same as DeleteGameSessionQueue with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteGameSessionQueue for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteGameSessionQueueWithContext(ctx aws.Context, input *DeleteGameSessionQueueInput, opts ...request.Option) (*DeleteGameSessionQueueOutput, error) { + req, out := c.DeleteGameSessionQueueRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteMatchmakingConfiguration = "DeleteMatchmakingConfiguration" + +// DeleteMatchmakingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMatchmakingConfiguration operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteMatchmakingConfiguration for more information on using the DeleteMatchmakingConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteMatchmakingConfigurationRequest method. +// req, resp := client.DeleteMatchmakingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfiguration +func (c *GameLift) DeleteMatchmakingConfigurationRequest(input *DeleteMatchmakingConfigurationInput) (req *request.Request, output *DeleteMatchmakingConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteMatchmakingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteMatchmakingConfigurationInput{} + } + + output = &DeleteMatchmakingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteMatchmakingConfiguration API operation for Amazon GameLift. +// +// Permanently removes a FlexMatch matchmaking configuration. To delete, specify +// the configuration name. A matchmaking configuration cannot be deleted if +// it is being used in any active matchmaking tickets. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteMatchmakingConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfiguration +func (c *GameLift) DeleteMatchmakingConfiguration(input *DeleteMatchmakingConfigurationInput) (*DeleteMatchmakingConfigurationOutput, error) { + req, out := c.DeleteMatchmakingConfigurationRequest(input) + return out, req.Send() +} + +// DeleteMatchmakingConfigurationWithContext is the same as DeleteMatchmakingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteMatchmakingConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteMatchmakingConfigurationWithContext(ctx aws.Context, input *DeleteMatchmakingConfigurationInput, opts ...request.Option) (*DeleteMatchmakingConfigurationOutput, error) { + req, out := c.DeleteMatchmakingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteScalingPolicy = "DeleteScalingPolicy" + +// DeleteScalingPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteScalingPolicy operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteScalingPolicy for more information on using the DeleteScalingPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteScalingPolicyRequest method. +// req, resp := client.DeleteScalingPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicy +func (c *GameLift) DeleteScalingPolicyRequest(input *DeleteScalingPolicyInput) (req *request.Request, output *DeleteScalingPolicyOutput) { + op := &request.Operation{ + Name: opDeleteScalingPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteScalingPolicyInput{} + } + + output = &DeleteScalingPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteScalingPolicy API operation for Amazon GameLift. +// +// Deletes a fleet scaling policy. This action means that the policy is no longer +// in force and removes all record of it. To delete a scaling policy, specify +// both the scaling policy name and the fleet ID it is associated with. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteScalingPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicy +func (c *GameLift) DeleteScalingPolicy(input *DeleteScalingPolicyInput) (*DeleteScalingPolicyOutput, error) { + req, out := c.DeleteScalingPolicyRequest(input) + return out, req.Send() +} + +// DeleteScalingPolicyWithContext is the same as DeleteScalingPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteScalingPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteScalingPolicyWithContext(ctx aws.Context, input *DeleteScalingPolicyInput, opts ...request.Option) (*DeleteScalingPolicyOutput, error) { + req, out := c.DeleteScalingPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteVpcPeeringAuthorization = "DeleteVpcPeeringAuthorization" + +// DeleteVpcPeeringAuthorizationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVpcPeeringAuthorization operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteVpcPeeringAuthorization for more information on using the DeleteVpcPeeringAuthorization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteVpcPeeringAuthorizationRequest method. +// req, resp := client.DeleteVpcPeeringAuthorizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorization +func (c *GameLift) DeleteVpcPeeringAuthorizationRequest(input *DeleteVpcPeeringAuthorizationInput) (req *request.Request, output *DeleteVpcPeeringAuthorizationOutput) { + op := &request.Operation{ + Name: opDeleteVpcPeeringAuthorization, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteVpcPeeringAuthorizationInput{} + } + + output = &DeleteVpcPeeringAuthorizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteVpcPeeringAuthorization API operation for Amazon GameLift. +// +// Cancels a pending VPC peering authorization for the specified VPC. If the +// authorization has already been used to create a peering connection, call +// DeleteVpcPeeringConnection to remove the connection. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteVpcPeeringAuthorization for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorization +func (c *GameLift) DeleteVpcPeeringAuthorization(input *DeleteVpcPeeringAuthorizationInput) (*DeleteVpcPeeringAuthorizationOutput, error) { + req, out := c.DeleteVpcPeeringAuthorizationRequest(input) + return out, req.Send() +} + +// DeleteVpcPeeringAuthorizationWithContext is the same as DeleteVpcPeeringAuthorization with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteVpcPeeringAuthorization for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteVpcPeeringAuthorizationWithContext(ctx aws.Context, input *DeleteVpcPeeringAuthorizationInput, opts ...request.Option) (*DeleteVpcPeeringAuthorizationOutput, error) { + req, out := c.DeleteVpcPeeringAuthorizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection" + +// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVpcPeeringConnection operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteVpcPeeringConnectionRequest method. +// req, resp := client.DeleteVpcPeeringConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnection +func (c *GameLift) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) { + op := &request.Operation{ + Name: opDeleteVpcPeeringConnection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteVpcPeeringConnectionInput{} + } + + output = &DeleteVpcPeeringConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteVpcPeeringConnection API operation for Amazon GameLift. +// +// Removes a VPC peering connection. To delete the connection, you must have +// a valid authorization for the VPC peering connection that you want to delete. +// You can check for an authorization by calling DescribeVpcPeeringAuthorizations +// or request a new one using CreateVpcPeeringAuthorization. +// +// Once a valid authorization exists, call this operation from the AWS account +// that is used to manage the Amazon GameLift fleets. Identify the connection +// to delete by the connection ID and fleet ID. If successful, the connection +// is removed. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DeleteVpcPeeringConnection for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnection +func (c *GameLift) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) { + req, out := c.DeleteVpcPeeringConnectionRequest(input) + return out, req.Send() +} + +// DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteVpcPeeringConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) { + req, out := c.DeleteVpcPeeringConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAlias = "DescribeAlias" + +// DescribeAliasRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAlias operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeAlias for more information on using the DescribeAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeAliasRequest method. +// req, resp := client.DescribeAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAlias +func (c *GameLift) DescribeAliasRequest(input *DescribeAliasInput) (req *request.Request, output *DescribeAliasOutput) { + op := &request.Operation{ + Name: opDescribeAlias, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeAliasInput{} + } + + output = &DescribeAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAlias API operation for Amazon GameLift. +// +// Retrieves properties for an alias. This operation returns all alias metadata +// and settings. To get an alias's target fleet ID only, use ResolveAlias. +// +// To get alias properties, specify the alias ID. If successful, the requested +// alias record is returned. +// +// Alias-related operations include: +// +// * CreateAlias +// +// * ListAliases +// +// * DescribeAlias +// +// * UpdateAlias +// +// * DeleteAlias +// +// * ResolveAlias +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeAlias for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAlias +func (c *GameLift) DescribeAlias(input *DescribeAliasInput) (*DescribeAliasOutput, error) { + req, out := c.DescribeAliasRequest(input) + return out, req.Send() +} + +// DescribeAliasWithContext is the same as DescribeAlias with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAlias for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeAliasWithContext(ctx aws.Context, input *DescribeAliasInput, opts ...request.Option) (*DescribeAliasOutput, error) { + req, out := c.DescribeAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeBuild = "DescribeBuild" + +// DescribeBuildRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBuild operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeBuild for more information on using the DescribeBuild +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeBuildRequest method. +// req, resp := client.DescribeBuildRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeBuild +func (c *GameLift) DescribeBuildRequest(input *DescribeBuildInput) (req *request.Request, output *DescribeBuildOutput) { + op := &request.Operation{ + Name: opDescribeBuild, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeBuildInput{} + } + + output = &DescribeBuildOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeBuild API operation for Amazon GameLift. +// +// Retrieves properties for a build. To get a build record, specify a build +// ID. If successful, an object containing the build properties is returned. +// +// Build-related operations include: +// +// * CreateBuild +// +// * ListBuilds +// +// * DescribeBuild +// +// * UpdateBuild +// +// * DeleteBuild +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeBuild for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeBuild +func (c *GameLift) DescribeBuild(input *DescribeBuildInput) (*DescribeBuildOutput, error) { + req, out := c.DescribeBuildRequest(input) + return out, req.Send() +} + +// DescribeBuildWithContext is the same as DescribeBuild with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeBuild for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeBuildWithContext(ctx aws.Context, input *DescribeBuildInput, opts ...request.Option) (*DescribeBuildOutput, error) { + req, out := c.DescribeBuildRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeEC2InstanceLimits = "DescribeEC2InstanceLimits" + +// DescribeEC2InstanceLimitsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEC2InstanceLimits operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeEC2InstanceLimits for more information on using the DescribeEC2InstanceLimits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeEC2InstanceLimitsRequest method. +// req, resp := client.DescribeEC2InstanceLimitsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeEC2InstanceLimits +func (c *GameLift) DescribeEC2InstanceLimitsRequest(input *DescribeEC2InstanceLimitsInput) (req *request.Request, output *DescribeEC2InstanceLimitsOutput) { + op := &request.Operation{ + Name: opDescribeEC2InstanceLimits, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEC2InstanceLimitsInput{} + } + + output = &DescribeEC2InstanceLimitsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEC2InstanceLimits API operation for Amazon GameLift. +// +// Retrieves the following information for the specified EC2 instance type: +// +// * maximum number of instances allowed per AWS account (service limit) +// +// * current usage level for the AWS account +// +// Service limits vary depending on region. Available regions for Amazon GameLift +// can be found in the AWS Management Console for Amazon GameLift (see the drop-down +// list in the upper right corner). +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeEC2InstanceLimits for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeEC2InstanceLimits +func (c *GameLift) DescribeEC2InstanceLimits(input *DescribeEC2InstanceLimitsInput) (*DescribeEC2InstanceLimitsOutput, error) { + req, out := c.DescribeEC2InstanceLimitsRequest(input) + return out, req.Send() +} + +// DescribeEC2InstanceLimitsWithContext is the same as DescribeEC2InstanceLimits with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEC2InstanceLimits for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeEC2InstanceLimitsWithContext(ctx aws.Context, input *DescribeEC2InstanceLimitsInput, opts ...request.Option) (*DescribeEC2InstanceLimitsOutput, error) { + req, out := c.DescribeEC2InstanceLimitsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeFleetAttributes = "DescribeFleetAttributes" + +// DescribeFleetAttributesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFleetAttributes operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeFleetAttributes for more information on using the DescribeFleetAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeFleetAttributesRequest method. +// req, resp := client.DescribeFleetAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributes +func (c *GameLift) DescribeFleetAttributesRequest(input *DescribeFleetAttributesInput) (req *request.Request, output *DescribeFleetAttributesOutput) { + op := &request.Operation{ + Name: opDescribeFleetAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeFleetAttributesInput{} + } + + output = &DescribeFleetAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFleetAttributes API operation for Amazon GameLift. +// +// Retrieves fleet properties, including metadata, status, and configuration, +// for one or more fleets. You can request attributes for all fleets, or specify +// a list of one or more fleet IDs. When requesting multiple fleets, use the +// pagination parameters to retrieve results as a set of sequential pages. If +// successful, a FleetAttributes object is returned for each requested fleet +// ID. When specifying a list of fleet IDs, attribute objects are returned only +// for fleets that currently exist. +// +// Some API actions may limit the number of fleet IDs allowed in one request. +// If a request exceeds this limit, the request fails and the error message +// includes the maximum allowed. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeFleetAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributes +func (c *GameLift) DescribeFleetAttributes(input *DescribeFleetAttributesInput) (*DescribeFleetAttributesOutput, error) { + req, out := c.DescribeFleetAttributesRequest(input) + return out, req.Send() +} + +// DescribeFleetAttributesWithContext is the same as DescribeFleetAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFleetAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeFleetAttributesWithContext(ctx aws.Context, input *DescribeFleetAttributesInput, opts ...request.Option) (*DescribeFleetAttributesOutput, error) { + req, out := c.DescribeFleetAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeFleetCapacity = "DescribeFleetCapacity" + +// DescribeFleetCapacityRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFleetCapacity operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeFleetCapacity for more information on using the DescribeFleetCapacity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeFleetCapacityRequest method. +// req, resp := client.DescribeFleetCapacityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacity +func (c *GameLift) DescribeFleetCapacityRequest(input *DescribeFleetCapacityInput) (req *request.Request, output *DescribeFleetCapacityOutput) { + op := &request.Operation{ + Name: opDescribeFleetCapacity, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeFleetCapacityInput{} + } + + output = &DescribeFleetCapacityOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFleetCapacity API operation for Amazon GameLift. +// +// Retrieves the current status of fleet capacity for one or more fleets. This +// information includes the number of instances that have been requested for +// the fleet and the number currently active. You can request capacity for all +// fleets, or specify a list of one or more fleet IDs. When requesting multiple +// fleets, use the pagination parameters to retrieve results as a set of sequential +// pages. If successful, a FleetCapacity object is returned for each requested +// fleet ID. When specifying a list of fleet IDs, attribute objects are returned +// only for fleets that currently exist. +// +// Some API actions may limit the number of fleet IDs allowed in one request. +// If a request exceeds this limit, the request fails and the error message +// includes the maximum allowed. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeFleetCapacity for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacity +func (c *GameLift) DescribeFleetCapacity(input *DescribeFleetCapacityInput) (*DescribeFleetCapacityOutput, error) { + req, out := c.DescribeFleetCapacityRequest(input) + return out, req.Send() +} + +// DescribeFleetCapacityWithContext is the same as DescribeFleetCapacity with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFleetCapacity for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeFleetCapacityWithContext(ctx aws.Context, input *DescribeFleetCapacityInput, opts ...request.Option) (*DescribeFleetCapacityOutput, error) { + req, out := c.DescribeFleetCapacityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeFleetEvents = "DescribeFleetEvents" + +// DescribeFleetEventsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFleetEvents operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeFleetEvents for more information on using the DescribeFleetEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeFleetEventsRequest method. +// req, resp := client.DescribeFleetEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEvents +func (c *GameLift) DescribeFleetEventsRequest(input *DescribeFleetEventsInput) (req *request.Request, output *DescribeFleetEventsOutput) { + op := &request.Operation{ + Name: opDescribeFleetEvents, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeFleetEventsInput{} + } + + output = &DescribeFleetEventsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFleetEvents API operation for Amazon GameLift. +// +// Retrieves entries from the specified fleet's event log. You can specify a +// time range to limit the result set. Use the pagination parameters to retrieve +// results as a set of sequential pages. If successful, a collection of event +// log entries matching the request are returned. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeFleetEvents for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEvents +func (c *GameLift) DescribeFleetEvents(input *DescribeFleetEventsInput) (*DescribeFleetEventsOutput, error) { + req, out := c.DescribeFleetEventsRequest(input) + return out, req.Send() +} + +// DescribeFleetEventsWithContext is the same as DescribeFleetEvents with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFleetEvents for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeFleetEventsWithContext(ctx aws.Context, input *DescribeFleetEventsInput, opts ...request.Option) (*DescribeFleetEventsOutput, error) { + req, out := c.DescribeFleetEventsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeFleetPortSettings = "DescribeFleetPortSettings" + +// DescribeFleetPortSettingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFleetPortSettings operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeFleetPortSettings for more information on using the DescribeFleetPortSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeFleetPortSettingsRequest method. +// req, resp := client.DescribeFleetPortSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetPortSettings +func (c *GameLift) DescribeFleetPortSettingsRequest(input *DescribeFleetPortSettingsInput) (req *request.Request, output *DescribeFleetPortSettingsOutput) { + op := &request.Operation{ + Name: opDescribeFleetPortSettings, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeFleetPortSettingsInput{} + } + + output = &DescribeFleetPortSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFleetPortSettings API operation for Amazon GameLift. +// +// Retrieves the inbound connection permissions for a fleet. Connection permissions +// include a range of IP addresses and port settings that incoming traffic can +// use to access server processes in the fleet. To get a fleet's inbound connection +// permissions, specify a fleet ID. If successful, a collection of IpPermission +// objects is returned for the requested fleet ID. If the requested fleet has +// been deleted, the result set is empty. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeFleetPortSettings for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetPortSettings +func (c *GameLift) DescribeFleetPortSettings(input *DescribeFleetPortSettingsInput) (*DescribeFleetPortSettingsOutput, error) { + req, out := c.DescribeFleetPortSettingsRequest(input) + return out, req.Send() +} + +// DescribeFleetPortSettingsWithContext is the same as DescribeFleetPortSettings with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFleetPortSettings for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeFleetPortSettingsWithContext(ctx aws.Context, input *DescribeFleetPortSettingsInput, opts ...request.Option) (*DescribeFleetPortSettingsOutput, error) { + req, out := c.DescribeFleetPortSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeFleetUtilization = "DescribeFleetUtilization" + +// DescribeFleetUtilizationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFleetUtilization operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeFleetUtilization for more information on using the DescribeFleetUtilization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeFleetUtilizationRequest method. +// req, resp := client.DescribeFleetUtilizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetUtilization +func (c *GameLift) DescribeFleetUtilizationRequest(input *DescribeFleetUtilizationInput) (req *request.Request, output *DescribeFleetUtilizationOutput) { + op := &request.Operation{ + Name: opDescribeFleetUtilization, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeFleetUtilizationInput{} + } + + output = &DescribeFleetUtilizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFleetUtilization API operation for Amazon GameLift. +// +// Retrieves utilization statistics for one or more fleets. You can request +// utilization data for all fleets, or specify a list of one or more fleet IDs. +// When requesting multiple fleets, use the pagination parameters to retrieve +// results as a set of sequential pages. If successful, a FleetUtilization object +// is returned for each requested fleet ID. When specifying a list of fleet +// IDs, utilization objects are returned only for fleets that currently exist. +// +// Some API actions may limit the number of fleet IDs allowed in one request. +// If a request exceeds this limit, the request fails and the error message +// includes the maximum allowed. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeFleetUtilization for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetUtilization +func (c *GameLift) DescribeFleetUtilization(input *DescribeFleetUtilizationInput) (*DescribeFleetUtilizationOutput, error) { + req, out := c.DescribeFleetUtilizationRequest(input) + return out, req.Send() +} + +// DescribeFleetUtilizationWithContext is the same as DescribeFleetUtilization with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFleetUtilization for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeFleetUtilizationWithContext(ctx aws.Context, input *DescribeFleetUtilizationInput, opts ...request.Option) (*DescribeFleetUtilizationOutput, error) { + req, out := c.DescribeFleetUtilizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeGameSessionDetails = "DescribeGameSessionDetails" + +// DescribeGameSessionDetailsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeGameSessionDetails operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeGameSessionDetails for more information on using the DescribeGameSessionDetails +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeGameSessionDetailsRequest method. +// req, resp := client.DescribeGameSessionDetailsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionDetails +func (c *GameLift) DescribeGameSessionDetailsRequest(input *DescribeGameSessionDetailsInput) (req *request.Request, output *DescribeGameSessionDetailsOutput) { + op := &request.Operation{ + Name: opDescribeGameSessionDetails, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeGameSessionDetailsInput{} + } + + output = &DescribeGameSessionDetailsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeGameSessionDetails API operation for Amazon GameLift. +// +// Retrieves properties, including the protection policy in force, for one or +// more game sessions. This action can be used in several ways: (1) provide +// a GameSessionId or GameSessionArn to request details for a specific game +// session; (2) provide either a FleetId or an AliasId to request properties +// for all game sessions running on a fleet. +// +// To get game session record(s), specify just one of the following: game session +// ID, fleet ID, or alias ID. You can filter this request by game session status. +// Use the pagination parameters to retrieve results as a set of sequential +// pages. If successful, a GameSessionDetail object is returned for each session +// matching the request. +// +// Game-session-related operations include: +// +// * CreateGameSession +// +// * DescribeGameSessions +// +// * DescribeGameSessionDetails +// +// * SearchGameSessions +// +// * UpdateGameSession +// +// * GetGameSessionLogUrl +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeGameSessionDetails for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException" +// The service is unable to resolve the routing for a particular alias because +// it has a terminal RoutingStrategy associated with it. The message returned +// in this exception is the message defined in the routing strategy itself. +// Such requests should only be retried if the routing strategy for the specified +// alias is modified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionDetails +func (c *GameLift) DescribeGameSessionDetails(input *DescribeGameSessionDetailsInput) (*DescribeGameSessionDetailsOutput, error) { + req, out := c.DescribeGameSessionDetailsRequest(input) + return out, req.Send() +} + +// DescribeGameSessionDetailsWithContext is the same as DescribeGameSessionDetails with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeGameSessionDetails for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeGameSessionDetailsWithContext(ctx aws.Context, input *DescribeGameSessionDetailsInput, opts ...request.Option) (*DescribeGameSessionDetailsOutput, error) { + req, out := c.DescribeGameSessionDetailsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeGameSessionPlacement = "DescribeGameSessionPlacement" + +// DescribeGameSessionPlacementRequest generates a "aws/request.Request" representing the +// client's request for the DescribeGameSessionPlacement operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeGameSessionPlacement for more information on using the DescribeGameSessionPlacement +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeGameSessionPlacementRequest method. +// req, resp := client.DescribeGameSessionPlacementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacement +func (c *GameLift) DescribeGameSessionPlacementRequest(input *DescribeGameSessionPlacementInput) (req *request.Request, output *DescribeGameSessionPlacementOutput) { + op := &request.Operation{ + Name: opDescribeGameSessionPlacement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeGameSessionPlacementInput{} + } + + output = &DescribeGameSessionPlacementOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeGameSessionPlacement API operation for Amazon GameLift. +// +// Retrieves properties and current status of a game session placement request. +// To get game session placement details, specify the placement ID. If successful, +// a GameSessionPlacement object is returned. +// +// Game-session-related operations include: +// +// * CreateGameSession +// +// * DescribeGameSessions +// +// * DescribeGameSessionDetails +// +// * SearchGameSessions +// +// * UpdateGameSession +// +// * GetGameSessionLogUrl +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeGameSessionPlacement for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacement +func (c *GameLift) DescribeGameSessionPlacement(input *DescribeGameSessionPlacementInput) (*DescribeGameSessionPlacementOutput, error) { + req, out := c.DescribeGameSessionPlacementRequest(input) + return out, req.Send() +} + +// DescribeGameSessionPlacementWithContext is the same as DescribeGameSessionPlacement with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeGameSessionPlacement for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeGameSessionPlacementWithContext(ctx aws.Context, input *DescribeGameSessionPlacementInput, opts ...request.Option) (*DescribeGameSessionPlacementOutput, error) { + req, out := c.DescribeGameSessionPlacementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeGameSessionQueues = "DescribeGameSessionQueues" + +// DescribeGameSessionQueuesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeGameSessionQueues operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeGameSessionQueues for more information on using the DescribeGameSessionQueues +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeGameSessionQueuesRequest method. +// req, resp := client.DescribeGameSessionQueuesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionQueues +func (c *GameLift) DescribeGameSessionQueuesRequest(input *DescribeGameSessionQueuesInput) (req *request.Request, output *DescribeGameSessionQueuesOutput) { + op := &request.Operation{ + Name: opDescribeGameSessionQueues, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeGameSessionQueuesInput{} + } + + output = &DescribeGameSessionQueuesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeGameSessionQueues API operation for Amazon GameLift. +// +// Retrieves the properties for one or more game session queues. When requesting +// multiple queues, use the pagination parameters to retrieve results as a set +// of sequential pages. If successful, a GameSessionQueue object is returned +// for each requested queue. When specifying a list of queues, objects are returned +// only for queues that currently exist in the region. +// +// Queue-related operations include: +// +// * CreateGameSessionQueue +// +// * DescribeGameSessionQueues +// +// * UpdateGameSessionQueue +// +// * DeleteGameSessionQueue +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeGameSessionQueues for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionQueues +func (c *GameLift) DescribeGameSessionQueues(input *DescribeGameSessionQueuesInput) (*DescribeGameSessionQueuesOutput, error) { + req, out := c.DescribeGameSessionQueuesRequest(input) + return out, req.Send() +} + +// DescribeGameSessionQueuesWithContext is the same as DescribeGameSessionQueues with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeGameSessionQueues for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeGameSessionQueuesWithContext(ctx aws.Context, input *DescribeGameSessionQueuesInput, opts ...request.Option) (*DescribeGameSessionQueuesOutput, error) { + req, out := c.DescribeGameSessionQueuesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeGameSessions = "DescribeGameSessions" + +// DescribeGameSessionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeGameSessions operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeGameSessions for more information on using the DescribeGameSessions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeGameSessionsRequest method. +// req, resp := client.DescribeGameSessionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessions +func (c *GameLift) DescribeGameSessionsRequest(input *DescribeGameSessionsInput) (req *request.Request, output *DescribeGameSessionsOutput) { + op := &request.Operation{ + Name: opDescribeGameSessions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeGameSessionsInput{} + } + + output = &DescribeGameSessionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeGameSessions API operation for Amazon GameLift. +// +// Retrieves a set of one or more game sessions. Request a specific game session +// or request all game sessions on a fleet. Alternatively, use SearchGameSessions +// to request a set of active game sessions that are filtered by certain criteria. +// To retrieve protection policy settings for game sessions, use DescribeGameSessionDetails. +// +// To get game sessions, specify one of the following: game session ID, fleet +// ID, or alias ID. You can filter this request by game session status. Use +// the pagination parameters to retrieve results as a set of sequential pages. +// If successful, a GameSession object is returned for each game session matching +// the request. +// +// Available in Amazon GameLift Local. +// +// Game-session-related operations include: +// +// * CreateGameSession +// +// * DescribeGameSessions +// +// * DescribeGameSessionDetails +// +// * SearchGameSessions +// +// * UpdateGameSession +// +// * GetGameSessionLogUrl +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeGameSessions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException" +// The service is unable to resolve the routing for a particular alias because +// it has a terminal RoutingStrategy associated with it. The message returned +// in this exception is the message defined in the routing strategy itself. +// Such requests should only be retried if the routing strategy for the specified +// alias is modified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessions +func (c *GameLift) DescribeGameSessions(input *DescribeGameSessionsInput) (*DescribeGameSessionsOutput, error) { + req, out := c.DescribeGameSessionsRequest(input) + return out, req.Send() +} + +// DescribeGameSessionsWithContext is the same as DescribeGameSessions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeGameSessions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeGameSessionsWithContext(ctx aws.Context, input *DescribeGameSessionsInput, opts ...request.Option) (*DescribeGameSessionsOutput, error) { + req, out := c.DescribeGameSessionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeInstances = "DescribeInstances" + +// DescribeInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstances operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeInstances for more information on using the DescribeInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeInstancesRequest method. +// req, resp := client.DescribeInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeInstances +func (c *GameLift) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) { + op := &request.Operation{ + Name: opDescribeInstances, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeInstancesInput{} + } + + output = &DescribeInstancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInstances API operation for Amazon GameLift. +// +// Retrieves information about a fleet's instances, including instance IDs. +// Use this action to get details on all instances in the fleet or get details +// on one specific instance. +// +// To get a specific instance, specify fleet ID and instance ID. To get all +// instances in a fleet, specify a fleet ID only. Use the pagination parameters +// to retrieve results as a set of sequential pages. If successful, an Instance +// object is returned for each result. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeInstances for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeInstances +func (c *GameLift) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) { + req, out := c.DescribeInstancesRequest(input) + return out, req.Send() +} + +// DescribeInstancesWithContext is the same as DescribeInstances with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInstances for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) { + req, out := c.DescribeInstancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeMatchmaking = "DescribeMatchmaking" + +// DescribeMatchmakingRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMatchmaking operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeMatchmaking for more information on using the DescribeMatchmaking +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeMatchmakingRequest method. +// req, resp := client.DescribeMatchmakingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmaking +func (c *GameLift) DescribeMatchmakingRequest(input *DescribeMatchmakingInput) (req *request.Request, output *DescribeMatchmakingOutput) { + op := &request.Operation{ + Name: opDescribeMatchmaking, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMatchmakingInput{} + } + + output = &DescribeMatchmakingOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeMatchmaking API operation for Amazon GameLift. +// +// Retrieves a set of one or more matchmaking tickets. Use this operation to +// retrieve ticket information, including status and--once a successful match +// is made--acquire connection information for the resulting new game session. +// +// You can use this operation to track the progress of matchmaking requests +// (through polling) as an alternative to using event notifications. See more +// details on tracking matchmaking requests through polling or notifications +// in StartMatchmaking. +// +// You can request data for a one or a list of ticket IDs. If the request is +// successful, a ticket object is returned for each requested ID. When specifying +// a list of ticket IDs, objects are returned only for tickets that currently +// exist. +// +// Matchmaking-related operations include: +// +// * StartMatchmaking +// +// * DescribeMatchmaking +// +// * StopMatchmaking +// +// * AcceptMatch +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeMatchmaking for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmaking +func (c *GameLift) DescribeMatchmaking(input *DescribeMatchmakingInput) (*DescribeMatchmakingOutput, error) { + req, out := c.DescribeMatchmakingRequest(input) + return out, req.Send() +} + +// DescribeMatchmakingWithContext is the same as DescribeMatchmaking with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeMatchmaking for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeMatchmakingWithContext(ctx aws.Context, input *DescribeMatchmakingInput, opts ...request.Option) (*DescribeMatchmakingOutput, error) { + req, out := c.DescribeMatchmakingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeMatchmakingConfigurations = "DescribeMatchmakingConfigurations" + +// DescribeMatchmakingConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMatchmakingConfigurations operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeMatchmakingConfigurations for more information on using the DescribeMatchmakingConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeMatchmakingConfigurationsRequest method. +// req, resp := client.DescribeMatchmakingConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurations +func (c *GameLift) DescribeMatchmakingConfigurationsRequest(input *DescribeMatchmakingConfigurationsInput) (req *request.Request, output *DescribeMatchmakingConfigurationsOutput) { + op := &request.Operation{ + Name: opDescribeMatchmakingConfigurations, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMatchmakingConfigurationsInput{} + } + + output = &DescribeMatchmakingConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeMatchmakingConfigurations API operation for Amazon GameLift. +// +// Retrieves the details of FlexMatch matchmaking configurations. with this +// operation, you have the following options: (1) retrieve all existing configurations, +// (2) provide the names of one or more configurations to retrieve, or (3) retrieve +// all configurations that use a specified rule set name. When requesting multiple +// items, use the pagination parameters to retrieve results as a set of sequential +// pages. If successful, a configuration is returned for each requested name. +// When specifying a list of names, only configurations that currently exist +// are returned. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeMatchmakingConfigurations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurations +func (c *GameLift) DescribeMatchmakingConfigurations(input *DescribeMatchmakingConfigurationsInput) (*DescribeMatchmakingConfigurationsOutput, error) { + req, out := c.DescribeMatchmakingConfigurationsRequest(input) + return out, req.Send() +} + +// DescribeMatchmakingConfigurationsWithContext is the same as DescribeMatchmakingConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeMatchmakingConfigurations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeMatchmakingConfigurationsWithContext(ctx aws.Context, input *DescribeMatchmakingConfigurationsInput, opts ...request.Option) (*DescribeMatchmakingConfigurationsOutput, error) { + req, out := c.DescribeMatchmakingConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeMatchmakingRuleSets = "DescribeMatchmakingRuleSets" + +// DescribeMatchmakingRuleSetsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMatchmakingRuleSets operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeMatchmakingRuleSets for more information on using the DescribeMatchmakingRuleSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeMatchmakingRuleSetsRequest method. +// req, resp := client.DescribeMatchmakingRuleSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSets +func (c *GameLift) DescribeMatchmakingRuleSetsRequest(input *DescribeMatchmakingRuleSetsInput) (req *request.Request, output *DescribeMatchmakingRuleSetsOutput) { + op := &request.Operation{ + Name: opDescribeMatchmakingRuleSets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMatchmakingRuleSetsInput{} + } + + output = &DescribeMatchmakingRuleSetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeMatchmakingRuleSets API operation for Amazon GameLift. +// +// Retrieves the details for FlexMatch matchmaking rule sets. You can request +// all existing rule sets for the region, or provide a list of one or more rule +// set names. When requesting multiple items, use the pagination parameters +// to retrieve results as a set of sequential pages. If successful, a rule set +// is returned for each requested name. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeMatchmakingRuleSets for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSets +func (c *GameLift) DescribeMatchmakingRuleSets(input *DescribeMatchmakingRuleSetsInput) (*DescribeMatchmakingRuleSetsOutput, error) { + req, out := c.DescribeMatchmakingRuleSetsRequest(input) + return out, req.Send() +} + +// DescribeMatchmakingRuleSetsWithContext is the same as DescribeMatchmakingRuleSets with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeMatchmakingRuleSets for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeMatchmakingRuleSetsWithContext(ctx aws.Context, input *DescribeMatchmakingRuleSetsInput, opts ...request.Option) (*DescribeMatchmakingRuleSetsOutput, error) { + req, out := c.DescribeMatchmakingRuleSetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribePlayerSessions = "DescribePlayerSessions" + +// DescribePlayerSessionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribePlayerSessions operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribePlayerSessions for more information on using the DescribePlayerSessions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribePlayerSessionsRequest method. +// req, resp := client.DescribePlayerSessionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessions +func (c *GameLift) DescribePlayerSessionsRequest(input *DescribePlayerSessionsInput) (req *request.Request, output *DescribePlayerSessionsOutput) { + op := &request.Operation{ + Name: opDescribePlayerSessions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribePlayerSessionsInput{} + } + + output = &DescribePlayerSessionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribePlayerSessions API operation for Amazon GameLift. +// +// Retrieves properties for one or more player sessions. This action can be +// used in several ways: (1) provide a PlayerSessionId to request properties +// for a specific player session; (2) provide a GameSessionId to request properties +// for all player sessions in the specified game session; (3) provide a PlayerId +// to request properties for all player sessions of a specified player. +// +// To get game session record(s), specify only one of the following: a player +// session ID, a game session ID, or a player ID. You can filter this request +// by player session status. Use the pagination parameters to retrieve results +// as a set of sequential pages. If successful, a PlayerSession object is returned +// for each session matching the request. +// +// Available in Amazon GameLift Local. +// +// Player-session-related operations include: +// +// * CreatePlayerSession +// +// * CreatePlayerSessions +// +// * DescribePlayerSessions +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribePlayerSessions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessions +func (c *GameLift) DescribePlayerSessions(input *DescribePlayerSessionsInput) (*DescribePlayerSessionsOutput, error) { + req, out := c.DescribePlayerSessionsRequest(input) + return out, req.Send() +} + +// DescribePlayerSessionsWithContext is the same as DescribePlayerSessions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribePlayerSessions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribePlayerSessionsWithContext(ctx aws.Context, input *DescribePlayerSessionsInput, opts ...request.Option) (*DescribePlayerSessionsOutput, error) { + req, out := c.DescribePlayerSessionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeRuntimeConfiguration = "DescribeRuntimeConfiguration" + +// DescribeRuntimeConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRuntimeConfiguration operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeRuntimeConfiguration for more information on using the DescribeRuntimeConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeRuntimeConfigurationRequest method. +// req, resp := client.DescribeRuntimeConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeRuntimeConfiguration +func (c *GameLift) DescribeRuntimeConfigurationRequest(input *DescribeRuntimeConfigurationInput) (req *request.Request, output *DescribeRuntimeConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeRuntimeConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeRuntimeConfigurationInput{} + } + + output = &DescribeRuntimeConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeRuntimeConfiguration API operation for Amazon GameLift. +// +// Retrieves the current run-time configuration for the specified fleet. The +// run-time configuration tells Amazon GameLift how to launch server processes +// on instances in the fleet. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeRuntimeConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeRuntimeConfiguration +func (c *GameLift) DescribeRuntimeConfiguration(input *DescribeRuntimeConfigurationInput) (*DescribeRuntimeConfigurationOutput, error) { + req, out := c.DescribeRuntimeConfigurationRequest(input) + return out, req.Send() +} + +// DescribeRuntimeConfigurationWithContext is the same as DescribeRuntimeConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeRuntimeConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeRuntimeConfigurationWithContext(ctx aws.Context, input *DescribeRuntimeConfigurationInput, opts ...request.Option) (*DescribeRuntimeConfigurationOutput, error) { + req, out := c.DescribeRuntimeConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeScalingPolicies = "DescribeScalingPolicies" + +// DescribeScalingPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeScalingPolicies operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeScalingPolicies for more information on using the DescribeScalingPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeScalingPoliciesRequest method. +// req, resp := client.DescribeScalingPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScalingPolicies +func (c *GameLift) DescribeScalingPoliciesRequest(input *DescribeScalingPoliciesInput) (req *request.Request, output *DescribeScalingPoliciesOutput) { + op := &request.Operation{ + Name: opDescribeScalingPolicies, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeScalingPoliciesInput{} + } + + output = &DescribeScalingPoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeScalingPolicies API operation for Amazon GameLift. +// +// Retrieves all scaling policies applied to a fleet. +// +// To get a fleet's scaling policies, specify the fleet ID. You can filter this +// request by policy status, such as to retrieve only active scaling policies. +// Use the pagination parameters to retrieve results as a set of sequential +// pages. If successful, set of ScalingPolicy objects is returned for the fleet. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeScalingPolicies for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScalingPolicies +func (c *GameLift) DescribeScalingPolicies(input *DescribeScalingPoliciesInput) (*DescribeScalingPoliciesOutput, error) { + req, out := c.DescribeScalingPoliciesRequest(input) + return out, req.Send() +} + +// DescribeScalingPoliciesWithContext is the same as DescribeScalingPolicies with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeScalingPolicies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeScalingPoliciesWithContext(ctx aws.Context, input *DescribeScalingPoliciesInput, opts ...request.Option) (*DescribeScalingPoliciesOutput, error) { + req, out := c.DescribeScalingPoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeVpcPeeringAuthorizations = "DescribeVpcPeeringAuthorizations" + +// DescribeVpcPeeringAuthorizationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpcPeeringAuthorizations operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeVpcPeeringAuthorizations for more information on using the DescribeVpcPeeringAuthorizations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeVpcPeeringAuthorizationsRequest method. +// req, resp := client.DescribeVpcPeeringAuthorizationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizations +func (c *GameLift) DescribeVpcPeeringAuthorizationsRequest(input *DescribeVpcPeeringAuthorizationsInput) (req *request.Request, output *DescribeVpcPeeringAuthorizationsOutput) { + op := &request.Operation{ + Name: opDescribeVpcPeeringAuthorizations, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeVpcPeeringAuthorizationsInput{} + } + + output = &DescribeVpcPeeringAuthorizationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeVpcPeeringAuthorizations API operation for Amazon GameLift. +// +// Retrieves valid VPC peering authorizations that are pending for the AWS account. +// This operation returns all VPC peering authorizations and requests for peering. +// This includes those initiated and received by this account. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeVpcPeeringAuthorizations for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizations +func (c *GameLift) DescribeVpcPeeringAuthorizations(input *DescribeVpcPeeringAuthorizationsInput) (*DescribeVpcPeeringAuthorizationsOutput, error) { + req, out := c.DescribeVpcPeeringAuthorizationsRequest(input) + return out, req.Send() +} + +// DescribeVpcPeeringAuthorizationsWithContext is the same as DescribeVpcPeeringAuthorizations with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeVpcPeeringAuthorizations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeVpcPeeringAuthorizationsWithContext(ctx aws.Context, input *DescribeVpcPeeringAuthorizationsInput, opts ...request.Option) (*DescribeVpcPeeringAuthorizationsOutput, error) { + req, out := c.DescribeVpcPeeringAuthorizationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections" + +// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpcPeeringConnections operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeVpcPeeringConnectionsRequest method. +// req, resp := client.DescribeVpcPeeringConnectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnections +func (c *GameLift) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) { + op := &request.Operation{ + Name: opDescribeVpcPeeringConnections, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeVpcPeeringConnectionsInput{} + } + + output = &DescribeVpcPeeringConnectionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeVpcPeeringConnections API operation for Amazon GameLift. +// +// Retrieves information on VPC peering connections. Use this operation to get +// peering information for all fleets or for one specific fleet ID. +// +// To retrieve connection information, call this operation from the AWS account +// that is used to manage the Amazon GameLift fleets. Specify a fleet ID or +// leave the parameter empty to retrieve all connection records. If successful, +// the retrieved information includes both active and pending connections. Active +// connections identify the IpV4 CIDR block that the VPC uses to connect. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation DescribeVpcPeeringConnections for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnections +func (c *GameLift) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) { + req, out := c.DescribeVpcPeeringConnectionsRequest(input) + return out, req.Send() +} + +// DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeVpcPeeringConnections for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) { + req, out := c.DescribeVpcPeeringConnectionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetGameSessionLogUrl = "GetGameSessionLogUrl" + +// GetGameSessionLogUrlRequest generates a "aws/request.Request" representing the +// client's request for the GetGameSessionLogUrl operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetGameSessionLogUrl for more information on using the GetGameSessionLogUrl +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetGameSessionLogUrlRequest method. +// req, resp := client.GetGameSessionLogUrlRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetGameSessionLogUrl +func (c *GameLift) GetGameSessionLogUrlRequest(input *GetGameSessionLogUrlInput) (req *request.Request, output *GetGameSessionLogUrlOutput) { + op := &request.Operation{ + Name: opGetGameSessionLogUrl, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetGameSessionLogUrlInput{} + } + + output = &GetGameSessionLogUrlOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetGameSessionLogUrl API operation for Amazon GameLift. +// +// Retrieves the location of stored game session logs for a specified game session. +// When a game session is terminated, Amazon GameLift automatically stores the +// logs in Amazon S3 and retains them for 14 days. Use this URL to download +// the logs. +// +// See the AWS Service Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift) +// page for maximum log file sizes. Log files that exceed this limit are not +// saved. +// +// Game-session-related operations include: +// +// * CreateGameSession +// +// * DescribeGameSessions +// +// * DescribeGameSessionDetails +// +// * SearchGameSessions +// +// * UpdateGameSession +// +// * GetGameSessionLogUrl +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation GetGameSessionLogUrl for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetGameSessionLogUrl +func (c *GameLift) GetGameSessionLogUrl(input *GetGameSessionLogUrlInput) (*GetGameSessionLogUrlOutput, error) { + req, out := c.GetGameSessionLogUrlRequest(input) + return out, req.Send() +} + +// GetGameSessionLogUrlWithContext is the same as GetGameSessionLogUrl with the addition of +// the ability to pass a context and additional request options. +// +// See GetGameSessionLogUrl for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) GetGameSessionLogUrlWithContext(ctx aws.Context, input *GetGameSessionLogUrlInput, opts ...request.Option) (*GetGameSessionLogUrlOutput, error) { + req, out := c.GetGameSessionLogUrlRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetInstanceAccess = "GetInstanceAccess" + +// GetInstanceAccessRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceAccess operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetInstanceAccess for more information on using the GetInstanceAccess +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetInstanceAccessRequest method. +// req, resp := client.GetInstanceAccessRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetInstanceAccess +func (c *GameLift) GetInstanceAccessRequest(input *GetInstanceAccessInput) (req *request.Request, output *GetInstanceAccessOutput) { + op := &request.Operation{ + Name: opGetInstanceAccess, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetInstanceAccessInput{} + } + + output = &GetInstanceAccessOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetInstanceAccess API operation for Amazon GameLift. +// +// Requests remote access to a fleet instance. Remote access is useful for debugging, +// gathering benchmarking data, or watching activity in real time. +// +// Access requires credentials that match the operating system of the instance. +// For a Windows instance, Amazon GameLift returns a user name and password +// as strings for use with a Windows Remote Desktop client. For a Linux instance, +// Amazon GameLift returns a user name and RSA private key, also as strings, +// for use with an SSH client. The private key must be saved in the proper format +// to a .pem file before using. If you're making this request using the AWS +// CLI, saving the secret can be handled as part of the GetInstanceAccess request. +// (See the example later in this topic). For more information on remote access, +// see Remotely Accessing an Instance (http://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html). +// +// To request access to a specific instance, specify the IDs of the instance +// and the fleet it belongs to. If successful, an InstanceAccess object is returned +// containing the instance's IP address and a set of credentials. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation GetInstanceAccess for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetInstanceAccess +func (c *GameLift) GetInstanceAccess(input *GetInstanceAccessInput) (*GetInstanceAccessOutput, error) { + req, out := c.GetInstanceAccessRequest(input) + return out, req.Send() +} + +// GetInstanceAccessWithContext is the same as GetInstanceAccess with the addition of +// the ability to pass a context and additional request options. +// +// See GetInstanceAccess for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) GetInstanceAccessWithContext(ctx aws.Context, input *GetInstanceAccessInput, opts ...request.Option) (*GetInstanceAccessOutput, error) { + req, out := c.GetInstanceAccessRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListAliases = "ListAliases" + +// ListAliasesRequest generates a "aws/request.Request" representing the +// client's request for the ListAliases operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListAliases for more information on using the ListAliases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListAliasesRequest method. +// req, resp := client.ListAliasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListAliases +func (c *GameLift) ListAliasesRequest(input *ListAliasesInput) (req *request.Request, output *ListAliasesOutput) { + op := &request.Operation{ + Name: opListAliases, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListAliasesInput{} + } + + output = &ListAliasesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAliases API operation for Amazon GameLift. +// +// Retrieves all aliases for this AWS account. You can filter the result set +// by alias name and/or routing strategy type. Use the pagination parameters +// to retrieve results in sequential pages. +// +// Returned aliases are not listed in any particular order. +// +// Alias-related operations include: +// +// * CreateAlias +// +// * ListAliases +// +// * DescribeAlias +// +// * UpdateAlias +// +// * DeleteAlias +// +// * ResolveAlias +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation ListAliases for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListAliases +func (c *GameLift) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) { + req, out := c.ListAliasesRequest(input) + return out, req.Send() +} + +// ListAliasesWithContext is the same as ListAliases with the addition of +// the ability to pass a context and additional request options. +// +// See ListAliases for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) ListAliasesWithContext(ctx aws.Context, input *ListAliasesInput, opts ...request.Option) (*ListAliasesOutput, error) { + req, out := c.ListAliasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListBuilds = "ListBuilds" + +// ListBuildsRequest generates a "aws/request.Request" representing the +// client's request for the ListBuilds operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListBuilds for more information on using the ListBuilds +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListBuildsRequest method. +// req, resp := client.ListBuildsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListBuilds +func (c *GameLift) ListBuildsRequest(input *ListBuildsInput) (req *request.Request, output *ListBuildsOutput) { + op := &request.Operation{ + Name: opListBuilds, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListBuildsInput{} + } + + output = &ListBuildsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBuilds API operation for Amazon GameLift. +// +// Retrieves build records for all builds associated with the AWS account in +// use. You can limit results to builds that are in a specific status by using +// the Status parameter. Use the pagination parameters to retrieve results in +// a set of sequential pages. +// +// Build records are not listed in any particular order. +// +// Build-related operations include: +// +// * CreateBuild +// +// * ListBuilds +// +// * DescribeBuild +// +// * UpdateBuild +// +// * DeleteBuild +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation ListBuilds for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListBuilds +func (c *GameLift) ListBuilds(input *ListBuildsInput) (*ListBuildsOutput, error) { + req, out := c.ListBuildsRequest(input) + return out, req.Send() +} + +// ListBuildsWithContext is the same as ListBuilds with the addition of +// the ability to pass a context and additional request options. +// +// See ListBuilds for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInput, opts ...request.Option) (*ListBuildsOutput, error) { + req, out := c.ListBuildsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListFleets = "ListFleets" + +// ListFleetsRequest generates a "aws/request.Request" representing the +// client's request for the ListFleets operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListFleets for more information on using the ListFleets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListFleetsRequest method. +// req, resp := client.ListFleetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleets +func (c *GameLift) ListFleetsRequest(input *ListFleetsInput) (req *request.Request, output *ListFleetsOutput) { + op := &request.Operation{ + Name: opListFleets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListFleetsInput{} + } + + output = &ListFleetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFleets API operation for Amazon GameLift. +// +// Retrieves a collection of fleet records for this AWS account. You can filter +// the result set by build ID. Use the pagination parameters to retrieve results +// in sequential pages. +// +// Fleet records are not listed in any particular order. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation ListFleets for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleets +func (c *GameLift) ListFleets(input *ListFleetsInput) (*ListFleetsOutput, error) { + req, out := c.ListFleetsRequest(input) + return out, req.Send() +} + +// ListFleetsWithContext is the same as ListFleets with the addition of +// the ability to pass a context and additional request options. +// +// See ListFleets for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) ListFleetsWithContext(ctx aws.Context, input *ListFleetsInput, opts ...request.Option) (*ListFleetsOutput, error) { + req, out := c.ListFleetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutScalingPolicy = "PutScalingPolicy" + +// PutScalingPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutScalingPolicy operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutScalingPolicy for more information on using the PutScalingPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutScalingPolicyRequest method. +// req, resp := client.PutScalingPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicy +func (c *GameLift) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req *request.Request, output *PutScalingPolicyOutput) { + op := &request.Operation{ + Name: opPutScalingPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutScalingPolicyInput{} + } + + output = &PutScalingPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutScalingPolicy API operation for Amazon GameLift. +// +// Creates or updates a scaling policy for a fleet. An active scaling policy +// prompts Amazon GameLift to track a certain metric for a fleet and automatically +// change the fleet's capacity in specific circumstances. Each scaling policy +// contains one rule statement. Fleets can have multiple scaling policies in +// force simultaneously. +// +// A scaling policy rule statement has the following structure: +// +// If [MetricName] is [ComparisonOperator][Threshold] for [EvaluationPeriods] +// minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment]. +// +// For example, this policy: "If the number of idle instances exceeds 20 for +// more than 15 minutes, then reduce the fleet capacity by 10 instances" could +// be implemented as the following rule statement: +// +// If [IdleInstances] is [GreaterThanOrEqualToThreshold] [20] for [15] minutes, +// then [ChangeInCapacity] by [-10]. +// +// To create or update a scaling policy, specify a unique combination of name +// and fleet ID, and set the rule values. All parameters for this action are +// required. If successful, the policy name is returned. Scaling policies cannot +// be suspended or made inactive. To stop enforcing a scaling policy, call DeleteScalingPolicy. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation PutScalingPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicy +func (c *GameLift) PutScalingPolicy(input *PutScalingPolicyInput) (*PutScalingPolicyOutput, error) { + req, out := c.PutScalingPolicyRequest(input) + return out, req.Send() +} + +// PutScalingPolicyWithContext is the same as PutScalingPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutScalingPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) PutScalingPolicyWithContext(ctx aws.Context, input *PutScalingPolicyInput, opts ...request.Option) (*PutScalingPolicyOutput, error) { + req, out := c.PutScalingPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRequestUploadCredentials = "RequestUploadCredentials" + +// RequestUploadCredentialsRequest generates a "aws/request.Request" representing the +// client's request for the RequestUploadCredentials operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RequestUploadCredentials for more information on using the RequestUploadCredentials +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the RequestUploadCredentialsRequest method. +// req, resp := client.RequestUploadCredentialsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RequestUploadCredentials +func (c *GameLift) RequestUploadCredentialsRequest(input *RequestUploadCredentialsInput) (req *request.Request, output *RequestUploadCredentialsOutput) { + op := &request.Operation{ + Name: opRequestUploadCredentials, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RequestUploadCredentialsInput{} + } + + output = &RequestUploadCredentialsOutput{} + req = c.newRequest(op, input, output) + return +} + +// RequestUploadCredentials API operation for Amazon GameLift. +// +// This API call is not currently in use. Retrieves a fresh set of upload credentials +// and the assigned Amazon S3 storage location for a specific build. Valid credentials +// are required to upload your game build files to Amazon S3. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation RequestUploadCredentials for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RequestUploadCredentials +func (c *GameLift) RequestUploadCredentials(input *RequestUploadCredentialsInput) (*RequestUploadCredentialsOutput, error) { + req, out := c.RequestUploadCredentialsRequest(input) + return out, req.Send() +} + +// RequestUploadCredentialsWithContext is the same as RequestUploadCredentials with the addition of +// the ability to pass a context and additional request options. +// +// See RequestUploadCredentials for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) RequestUploadCredentialsWithContext(ctx aws.Context, input *RequestUploadCredentialsInput, opts ...request.Option) (*RequestUploadCredentialsOutput, error) { + req, out := c.RequestUploadCredentialsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opResolveAlias = "ResolveAlias" + +// ResolveAliasRequest generates a "aws/request.Request" representing the +// client's request for the ResolveAlias operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ResolveAlias for more information on using the ResolveAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ResolveAliasRequest method. +// req, resp := client.ResolveAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResolveAlias +func (c *GameLift) ResolveAliasRequest(input *ResolveAliasInput) (req *request.Request, output *ResolveAliasOutput) { + op := &request.Operation{ + Name: opResolveAlias, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ResolveAliasInput{} + } + + output = &ResolveAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// ResolveAlias API operation for Amazon GameLift. +// +// Retrieves the fleet ID that a specified alias is currently pointing to. +// +// Alias-related operations include: +// +// * CreateAlias +// +// * ListAliases +// +// * DescribeAlias +// +// * UpdateAlias +// +// * DeleteAlias +// +// * ResolveAlias +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation ResolveAlias for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException" +// The service is unable to resolve the routing for a particular alias because +// it has a terminal RoutingStrategy associated with it. The message returned +// in this exception is the message defined in the routing strategy itself. +// Such requests should only be retried if the routing strategy for the specified +// alias is modified. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResolveAlias +func (c *GameLift) ResolveAlias(input *ResolveAliasInput) (*ResolveAliasOutput, error) { + req, out := c.ResolveAliasRequest(input) + return out, req.Send() +} + +// ResolveAliasWithContext is the same as ResolveAlias with the addition of +// the ability to pass a context and additional request options. +// +// See ResolveAlias for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) ResolveAliasWithContext(ctx aws.Context, input *ResolveAliasInput, opts ...request.Option) (*ResolveAliasOutput, error) { + req, out := c.ResolveAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSearchGameSessions = "SearchGameSessions" + +// SearchGameSessionsRequest generates a "aws/request.Request" representing the +// client's request for the SearchGameSessions operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SearchGameSessions for more information on using the SearchGameSessions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the SearchGameSessionsRequest method. +// req, resp := client.SearchGameSessionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SearchGameSessions +func (c *GameLift) SearchGameSessionsRequest(input *SearchGameSessionsInput) (req *request.Request, output *SearchGameSessionsOutput) { + op := &request.Operation{ + Name: opSearchGameSessions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SearchGameSessionsInput{} + } + + output = &SearchGameSessionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchGameSessions API operation for Amazon GameLift. +// +// Retrieves a set of game sessions that match a set of search criteria and +// sorts them in a specified order. A game session search is limited to a single +// fleet. Search results include only game sessions that are in ACTIVE status. +// If you need to retrieve game sessions with a status other than active, use +// DescribeGameSessions. If you need to retrieve the protection policy for each +// game session, use DescribeGameSessionDetails. +// +// You can search or sort by the following game session attributes: +// +// * gameSessionId -- Unique identifier for the game session. You can use +// either a GameSessionId or GameSessionArn value. +// +// * gameSessionName -- Name assigned to a game session. This value is set +// when requesting a new game session with CreateGameSession or updating +// with UpdateGameSession. Game session names do not need to be unique to +// a game session. +// +// * creationTimeMillis -- Value indicating when a game session was created. +// It is expressed in Unix time as milliseconds. +// +// * playerSessionCount -- Number of players currently connected to a game +// session. This value changes rapidly as players join the session or drop +// out. +// +// * maximumSessions -- Maximum number of player sessions allowed for a game +// session. This value is set when requesting a new game session with CreateGameSession +// or updating with UpdateGameSession. +// +// * hasAvailablePlayerSessions -- Boolean value indicating whether a game +// session has reached its maximum number of players. When searching with +// this attribute, the search value must be true or false. It is highly recommended +// that all search requests include this filter attribute to optimize search +// performance and return only sessions that players can join. +// +// To search or sort, specify either a fleet ID or an alias ID, and provide +// a search filter expression, a sort expression, or both. Use the pagination +// parameters to retrieve results as a set of sequential pages. If successful, +// a collection of GameSession objects matching the request is returned. +// +// Returned values for playerSessionCount and hasAvailablePlayerSessions change +// quickly as players join sessions and others drop out. Results should be considered +// a snapshot in time. Be sure to refresh search results often, and handle sessions +// that fill up before a player can join. +// +// Game-session-related operations include: +// +// * CreateGameSession +// +// * DescribeGameSessions +// +// * DescribeGameSessionDetails +// +// * SearchGameSessions +// +// * UpdateGameSession +// +// * GetGameSessionLogUrl +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation SearchGameSessions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException" +// The service is unable to resolve the routing for a particular alias because +// it has a terminal RoutingStrategy associated with it. The message returned +// in this exception is the message defined in the routing strategy itself. +// Such requests should only be retried if the routing strategy for the specified +// alias is modified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SearchGameSessions +func (c *GameLift) SearchGameSessions(input *SearchGameSessionsInput) (*SearchGameSessionsOutput, error) { + req, out := c.SearchGameSessionsRequest(input) + return out, req.Send() +} + +// SearchGameSessionsWithContext is the same as SearchGameSessions with the addition of +// the ability to pass a context and additional request options. +// +// See SearchGameSessions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) SearchGameSessionsWithContext(ctx aws.Context, input *SearchGameSessionsInput, opts ...request.Option) (*SearchGameSessionsOutput, error) { + req, out := c.SearchGameSessionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartGameSessionPlacement = "StartGameSessionPlacement" + +// StartGameSessionPlacementRequest generates a "aws/request.Request" representing the +// client's request for the StartGameSessionPlacement operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartGameSessionPlacement for more information on using the StartGameSessionPlacement +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartGameSessionPlacementRequest method. +// req, resp := client.StartGameSessionPlacementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacement +func (c *GameLift) StartGameSessionPlacementRequest(input *StartGameSessionPlacementInput) (req *request.Request, output *StartGameSessionPlacementOutput) { + op := &request.Operation{ + Name: opStartGameSessionPlacement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartGameSessionPlacementInput{} + } + + output = &StartGameSessionPlacementOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartGameSessionPlacement API operation for Amazon GameLift. +// +// Places a request for a new game session in a queue (see CreateGameSessionQueue). +// When processing a placement request, Amazon GameLift searches for available +// resources on the queue's destinations, scanning each until it finds resources +// or the placement request times out. +// +// A game session placement request can also request player sessions. When a +// new game session is successfully created, Amazon GameLift creates a player +// session for each player included in the request. +// +// When placing a game session, by default Amazon GameLift tries each fleet +// in the order they are listed in the queue configuration. Ideally, a queue's +// destinations are listed in preference order. +// +// Alternatively, when requesting a game session with players, you can also +// provide latency data for each player in relevant regions. Latency data indicates +// the performance lag a player experiences when connected to a fleet in the +// region. Amazon GameLift uses latency data to reorder the list of destinations +// to place the game session in a region with minimal lag. If latency data is +// provided for multiple players, Amazon GameLift calculates each region's average +// lag for all players and reorders to get the best game play across all players. +// +// To place a new game session request, specify the following: +// +// * The queue name and a set of game session properties and settings +// +// * A unique ID (such as a UUID) for the placement. You use this ID to track +// the status of the placement request +// +// * (Optional) A set of IDs and player data for each player you want to +// join to the new game session +// +// * Latency data for all players (if you want to optimize game play for +// the players) +// +// If successful, a new game session placement is created. +// +// To track the status of a placement request, call DescribeGameSessionPlacement +// and check the request's status. If the status is FULFILLED, a new game session +// has been created and a game session ARN and region are referenced. If the +// placement request times out, you can resubmit the request or retry it with +// a different queue. +// +// Game-session-related operations include: +// +// * CreateGameSession +// +// * DescribeGameSessions +// +// * DescribeGameSessionDetails +// +// * SearchGameSessions +// +// * UpdateGameSession +// +// * GetGameSessionLogUrl +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation StartGameSessionPlacement for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacement +func (c *GameLift) StartGameSessionPlacement(input *StartGameSessionPlacementInput) (*StartGameSessionPlacementOutput, error) { + req, out := c.StartGameSessionPlacementRequest(input) + return out, req.Send() +} + +// StartGameSessionPlacementWithContext is the same as StartGameSessionPlacement with the addition of +// the ability to pass a context and additional request options. +// +// See StartGameSessionPlacement for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) StartGameSessionPlacementWithContext(ctx aws.Context, input *StartGameSessionPlacementInput, opts ...request.Option) (*StartGameSessionPlacementOutput, error) { + req, out := c.StartGameSessionPlacementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartMatchmaking = "StartMatchmaking" + +// StartMatchmakingRequest generates a "aws/request.Request" representing the +// client's request for the StartMatchmaking operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartMatchmaking for more information on using the StartMatchmaking +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartMatchmakingRequest method. +// req, resp := client.StartMatchmakingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking +func (c *GameLift) StartMatchmakingRequest(input *StartMatchmakingInput) (req *request.Request, output *StartMatchmakingOutput) { + op := &request.Operation{ + Name: opStartMatchmaking, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartMatchmakingInput{} + } + + output = &StartMatchmakingOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartMatchmaking API operation for Amazon GameLift. +// +// Uses FlexMatch to create a game match for a group of players based on custom +// matchmaking rules, and starts a new game for the matched players. Each matchmaking +// request specifies the type of match to build (team configuration, rules for +// an acceptable match, etc.). The request also specifies the players to find +// a match for and where to host the new game session for optimal performance. +// A matchmaking request might start with a single player or a group of players +// who want to play together. FlexMatch finds additional players as needed to +// fill the match. Match type, rules, and the queue used to place a new game +// session are defined in a MatchmakingConfiguration. For complete information +// on setting up and using FlexMatch, see the topic Adding FlexMatch to Your +// Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html). +// +// To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, +// and include the players to be matched. You must also include a set of player +// attributes relevant for the matchmaking configuration. If successful, a matchmaking +// ticket is returned with status set to QUEUED. Track the status of the ticket +// to respond as needed and acquire game session connection information for +// successfully completed matches. +// +// Tracking ticket status -- A couple of options are available for tracking +// the status of matchmaking requests: +// +// * Polling -- Call DescribeMatchmaking. This operation returns the full +// ticket object, including current status and (for completed tickets) game +// session connection info. We recommend polling no more than once every +// 10 seconds. +// +// * Notifications -- Get event notifications for changes in ticket status +// using Amazon Simple Notification Service (SNS). Notifications are easy +// to set up (see CreateMatchmakingConfiguration) and typically deliver match +// status changes faster and more efficiently than polling. We recommend +// that you use polling to back up to notifications (since delivery is not +// guaranteed) and call DescribeMatchmaking only when notifications are not +// received within 30 seconds. +// +// Processing a matchmaking request -- FlexMatch handles a matchmaking request +// as follows: +// +// Your client code submits a StartMatchmaking request for one or more players +// and tracks the status of the request ticket. +// +// FlexMatch uses this ticket and others in process to build an acceptable match. +// When a potential match is identified, all tickets in the proposed match are +// advanced to the next status. +// +// If the match requires player acceptance (set in the matchmaking configuration), +// the tickets move into status REQUIRES_ACCEPTANCE. This status triggers your +// client code to solicit acceptance from all players in every ticket involved +// in the match, and then call AcceptMatch for each player. If any player rejects +// or fails to accept the match before a specified timeout, the proposed match +// is dropped (see AcceptMatch for more details). +// +// Once a match is proposed and accepted, the matchmaking tickets move into +// status PLACING. FlexMatch locates resources for a new game session using +// the game session queue (set in the matchmaking configuration) and creates +// the game session based on the match data. +// +// When the match is successfully placed, the matchmaking tickets move into +// COMPLETED status. Connection information (including game session endpoint +// and player session) is added to the matchmaking tickets. Matched players +// can use the connection information to join the game. +// +// Matchmaking-related operations include: +// +// * StartMatchmaking +// +// * DescribeMatchmaking +// +// * StopMatchmaking +// +// * AcceptMatch +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation StartMatchmaking for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking +func (c *GameLift) StartMatchmaking(input *StartMatchmakingInput) (*StartMatchmakingOutput, error) { + req, out := c.StartMatchmakingRequest(input) + return out, req.Send() +} + +// StartMatchmakingWithContext is the same as StartMatchmaking with the addition of +// the ability to pass a context and additional request options. +// +// See StartMatchmaking for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) StartMatchmakingWithContext(ctx aws.Context, input *StartMatchmakingInput, opts ...request.Option) (*StartMatchmakingOutput, error) { + req, out := c.StartMatchmakingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopGameSessionPlacement = "StopGameSessionPlacement" + +// StopGameSessionPlacementRequest generates a "aws/request.Request" representing the +// client's request for the StopGameSessionPlacement operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopGameSessionPlacement for more information on using the StopGameSessionPlacement +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopGameSessionPlacementRequest method. +// req, resp := client.StopGameSessionPlacementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacement +func (c *GameLift) StopGameSessionPlacementRequest(input *StopGameSessionPlacementInput) (req *request.Request, output *StopGameSessionPlacementOutput) { + op := &request.Operation{ + Name: opStopGameSessionPlacement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopGameSessionPlacementInput{} + } + + output = &StopGameSessionPlacementOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopGameSessionPlacement API operation for Amazon GameLift. +// +// Cancels a game session placement that is in PENDING status. To stop a placement, +// provide the placement ID values. If successful, the placement is moved to +// CANCELLED status. +// +// Game-session-related operations include: +// +// * CreateGameSession +// +// * DescribeGameSessions +// +// * DescribeGameSessionDetails +// +// * SearchGameSessions +// +// * UpdateGameSession +// +// * GetGameSessionLogUrl +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation StopGameSessionPlacement for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacement +func (c *GameLift) StopGameSessionPlacement(input *StopGameSessionPlacementInput) (*StopGameSessionPlacementOutput, error) { + req, out := c.StopGameSessionPlacementRequest(input) + return out, req.Send() +} + +// StopGameSessionPlacementWithContext is the same as StopGameSessionPlacement with the addition of +// the ability to pass a context and additional request options. +// +// See StopGameSessionPlacement for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) StopGameSessionPlacementWithContext(ctx aws.Context, input *StopGameSessionPlacementInput, opts ...request.Option) (*StopGameSessionPlacementOutput, error) { + req, out := c.StopGameSessionPlacementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopMatchmaking = "StopMatchmaking" + +// StopMatchmakingRequest generates a "aws/request.Request" representing the +// client's request for the StopMatchmaking operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopMatchmaking for more information on using the StopMatchmaking +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopMatchmakingRequest method. +// req, resp := client.StopMatchmakingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmaking +func (c *GameLift) StopMatchmakingRequest(input *StopMatchmakingInput) (req *request.Request, output *StopMatchmakingOutput) { + op := &request.Operation{ + Name: opStopMatchmaking, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopMatchmakingInput{} + } + + output = &StopMatchmakingOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopMatchmaking API operation for Amazon GameLift. +// +// Cancels a matchmaking ticket that is currently being processed. To stop the +// matchmaking operation, specify the ticket ID. If successful, work on the +// ticket is stopped, and the ticket status is changed to CANCELLED. +// +// Matchmaking-related operations include: +// +// * StartMatchmaking +// +// * DescribeMatchmaking +// +// * StopMatchmaking +// +// * AcceptMatch +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation StopMatchmaking for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmaking +func (c *GameLift) StopMatchmaking(input *StopMatchmakingInput) (*StopMatchmakingOutput, error) { + req, out := c.StopMatchmakingRequest(input) + return out, req.Send() +} + +// StopMatchmakingWithContext is the same as StopMatchmaking with the addition of +// the ability to pass a context and additional request options. +// +// See StopMatchmaking for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) StopMatchmakingWithContext(ctx aws.Context, input *StopMatchmakingInput, opts ...request.Option) (*StopMatchmakingOutput, error) { + req, out := c.StopMatchmakingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAlias = "UpdateAlias" + +// UpdateAliasRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAlias operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateAlias for more information on using the UpdateAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateAliasRequest method. +// req, resp := client.UpdateAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAlias +func (c *GameLift) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, output *UpdateAliasOutput) { + op := &request.Operation{ + Name: opUpdateAlias, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateAliasInput{} + } + + output = &UpdateAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAlias API operation for Amazon GameLift. +// +// Updates properties for an alias. To update properties, specify the alias +// ID to be updated and provide the information to be changed. To reassign an +// alias to another fleet, provide an updated routing strategy. If successful, +// the updated alias record is returned. +// +// Alias-related operations include: +// +// * CreateAlias +// +// * ListAliases +// +// * DescribeAlias +// +// * UpdateAlias +// +// * DeleteAlias +// +// * ResolveAlias +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation UpdateAlias for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAlias +func (c *GameLift) UpdateAlias(input *UpdateAliasInput) (*UpdateAliasOutput, error) { + req, out := c.UpdateAliasRequest(input) + return out, req.Send() +} + +// UpdateAliasWithContext is the same as UpdateAlias with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAlias for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) UpdateAliasWithContext(ctx aws.Context, input *UpdateAliasInput, opts ...request.Option) (*UpdateAliasOutput, error) { + req, out := c.UpdateAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateBuild = "UpdateBuild" + +// UpdateBuildRequest generates a "aws/request.Request" representing the +// client's request for the UpdateBuild operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateBuild for more information on using the UpdateBuild +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateBuildRequest method. +// req, resp := client.UpdateBuildRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuild +func (c *GameLift) UpdateBuildRequest(input *UpdateBuildInput) (req *request.Request, output *UpdateBuildOutput) { + op := &request.Operation{ + Name: opUpdateBuild, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateBuildInput{} + } + + output = &UpdateBuildOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateBuild API operation for Amazon GameLift. +// +// Updates metadata in a build record, including the build name and version. +// To update the metadata, specify the build ID to update and provide the new +// values. If successful, a build object containing the updated metadata is +// returned. +// +// Build-related operations include: +// +// * CreateBuild +// +// * ListBuilds +// +// * DescribeBuild +// +// * UpdateBuild +// +// * DeleteBuild +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation UpdateBuild for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuild +func (c *GameLift) UpdateBuild(input *UpdateBuildInput) (*UpdateBuildOutput, error) { + req, out := c.UpdateBuildRequest(input) + return out, req.Send() +} + +// UpdateBuildWithContext is the same as UpdateBuild with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateBuild for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) UpdateBuildWithContext(ctx aws.Context, input *UpdateBuildInput, opts ...request.Option) (*UpdateBuildOutput, error) { + req, out := c.UpdateBuildRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFleetAttributes = "UpdateFleetAttributes" + +// UpdateFleetAttributesRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFleetAttributes operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateFleetAttributes for more information on using the UpdateFleetAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateFleetAttributesRequest method. +// req, resp := client.UpdateFleetAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetAttributes +func (c *GameLift) UpdateFleetAttributesRequest(input *UpdateFleetAttributesInput) (req *request.Request, output *UpdateFleetAttributesOutput) { + op := &request.Operation{ + Name: opUpdateFleetAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateFleetAttributesInput{} + } + + output = &UpdateFleetAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFleetAttributes API operation for Amazon GameLift. +// +// Updates fleet properties, including name and description, for a fleet. To +// update metadata, specify the fleet ID and the property values that you want +// to change. If successful, the fleet ID for the updated fleet is returned. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation UpdateFleetAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. +// +// * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException" +// The requested operation would cause a conflict with the current state of +// a resource associated with the request and/or the fleet. Resolve the conflict +// before retrying. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The requested operation would cause the resource to exceed the allowed service +// limit. Resolve the issue before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetAttributes +func (c *GameLift) UpdateFleetAttributes(input *UpdateFleetAttributesInput) (*UpdateFleetAttributesOutput, error) { + req, out := c.UpdateFleetAttributesRequest(input) + return out, req.Send() +} + +// UpdateFleetAttributesWithContext is the same as UpdateFleetAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFleetAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) UpdateFleetAttributesWithContext(ctx aws.Context, input *UpdateFleetAttributesInput, opts ...request.Option) (*UpdateFleetAttributesOutput, error) { + req, out := c.UpdateFleetAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFleetCapacity = "UpdateFleetCapacity" + +// UpdateFleetCapacityRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFleetCapacity operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateFleetCapacity for more information on using the UpdateFleetCapacity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateFleetCapacityRequest method. +// req, resp := client.UpdateFleetCapacityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetCapacity +func (c *GameLift) UpdateFleetCapacityRequest(input *UpdateFleetCapacityInput) (req *request.Request, output *UpdateFleetCapacityOutput) { + op := &request.Operation{ + Name: opUpdateFleetCapacity, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateFleetCapacityInput{} + } + + output = &UpdateFleetCapacityOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFleetCapacity API operation for Amazon GameLift. +// +// Updates capacity settings for a fleet. Use this action to specify the number +// of EC2 instances (hosts) that you want this fleet to contain. Before calling +// this action, you may want to call DescribeEC2InstanceLimits to get the maximum +// capacity based on the fleet's EC2 instance type. +// +// If you're using autoscaling (see PutScalingPolicy), you may want to specify +// a minimum and/or maximum capacity. If you don't provide these, autoscaling +// can set capacity anywhere between zero and the service limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift). +// +// To update fleet capacity, specify the fleet ID and the number of instances +// you want the fleet to host. If successful, Amazon GameLift starts or terminates +// instances so that the fleet's active instance count matches the desired instance +// count. You can view a fleet's current capacity information by calling DescribeFleetCapacity. +// If the desired instance count is higher than the instance type's limit, the +// "Limit Exceeded" exception occurs. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation UpdateFleetCapacity for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The requested operation would cause the resource to exceed the allowed service +// limit. Resolve the issue before retrying. +// +// * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException" +// The requested operation would cause a conflict with the current state of +// a resource associated with the request and/or the fleet. Resolve the conflict +// before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetCapacity +func (c *GameLift) UpdateFleetCapacity(input *UpdateFleetCapacityInput) (*UpdateFleetCapacityOutput, error) { + req, out := c.UpdateFleetCapacityRequest(input) + return out, req.Send() +} + +// UpdateFleetCapacityWithContext is the same as UpdateFleetCapacity with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFleetCapacity for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) UpdateFleetCapacityWithContext(ctx aws.Context, input *UpdateFleetCapacityInput, opts ...request.Option) (*UpdateFleetCapacityOutput, error) { + req, out := c.UpdateFleetCapacityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFleetPortSettings = "UpdateFleetPortSettings" + +// UpdateFleetPortSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFleetPortSettings operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateFleetPortSettings for more information on using the UpdateFleetPortSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateFleetPortSettingsRequest method. +// req, resp := client.UpdateFleetPortSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettings +func (c *GameLift) UpdateFleetPortSettingsRequest(input *UpdateFleetPortSettingsInput) (req *request.Request, output *UpdateFleetPortSettingsOutput) { + op := &request.Operation{ + Name: opUpdateFleetPortSettings, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateFleetPortSettingsInput{} + } + + output = &UpdateFleetPortSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFleetPortSettings API operation for Amazon GameLift. +// +// Updates port settings for a fleet. To update settings, specify the fleet +// ID to be updated and list the permissions you want to update. List the permissions +// you want to add in InboundPermissionAuthorizations, and permissions you want +// to remove in InboundPermissionRevocations. Permissions to be removed must +// match existing fleet permissions. If successful, the fleet ID for the updated +// fleet is returned. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation UpdateFleetPortSettings for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. +// +// * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException" +// The requested operation would cause a conflict with the current state of +// a resource associated with the request and/or the fleet. Resolve the conflict +// before retrying. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// The requested operation would cause the resource to exceed the allowed service +// limit. Resolve the issue before retrying. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettings +func (c *GameLift) UpdateFleetPortSettings(input *UpdateFleetPortSettingsInput) (*UpdateFleetPortSettingsOutput, error) { + req, out := c.UpdateFleetPortSettingsRequest(input) + return out, req.Send() +} + +// UpdateFleetPortSettingsWithContext is the same as UpdateFleetPortSettings with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFleetPortSettings for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) UpdateFleetPortSettingsWithContext(ctx aws.Context, input *UpdateFleetPortSettingsInput, opts ...request.Option) (*UpdateFleetPortSettingsOutput, error) { + req, out := c.UpdateFleetPortSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateGameSession = "UpdateGameSession" + +// UpdateGameSessionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGameSession operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateGameSession for more information on using the UpdateGameSession +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateGameSessionRequest method. +// req, resp := client.UpdateGameSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSession +func (c *GameLift) UpdateGameSessionRequest(input *UpdateGameSessionInput) (req *request.Request, output *UpdateGameSessionOutput) { + op := &request.Operation{ + Name: opUpdateGameSession, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateGameSessionInput{} + } + + output = &UpdateGameSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateGameSession API operation for Amazon GameLift. +// +// Updates game session properties. This includes the session name, maximum +// player count, protection policy, which controls whether or not an active +// game session can be terminated during a scale-down event, and the player +// session creation policy, which controls whether or not new players can join +// the session. To update a game session, specify the game session ID and the +// values you want to change. If successful, an updated GameSession object is +// returned. +// +// Game-session-related operations include: +// +// * CreateGameSession +// +// * DescribeGameSessions +// +// * DescribeGameSessionDetails +// +// * SearchGameSessions +// +// * UpdateGameSession +// +// * GetGameSessionLogUrl +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation UpdateGameSession for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeConflictException "ConflictException" +// The requested operation would cause a conflict with the current state of +// a service resource associated with the request. Resolve the conflict before +// retrying this request. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeInvalidGameSessionStatusException "InvalidGameSessionStatusException" +// The requested operation would cause a conflict with the current state of +// a resource associated with the request and/or the game instance. Resolve +// the conflict before retrying. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSession +func (c *GameLift) UpdateGameSession(input *UpdateGameSessionInput) (*UpdateGameSessionOutput, error) { + req, out := c.UpdateGameSessionRequest(input) + return out, req.Send() +} + +// UpdateGameSessionWithContext is the same as UpdateGameSession with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGameSession for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) UpdateGameSessionWithContext(ctx aws.Context, input *UpdateGameSessionInput, opts ...request.Option) (*UpdateGameSessionOutput, error) { + req, out := c.UpdateGameSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateGameSessionQueue = "UpdateGameSessionQueue" + +// UpdateGameSessionQueueRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGameSessionQueue operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateGameSessionQueue for more information on using the UpdateGameSessionQueue +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateGameSessionQueueRequest method. +// req, resp := client.UpdateGameSessionQueueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueue +func (c *GameLift) UpdateGameSessionQueueRequest(input *UpdateGameSessionQueueInput) (req *request.Request, output *UpdateGameSessionQueueOutput) { + op := &request.Operation{ + Name: opUpdateGameSessionQueue, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateGameSessionQueueInput{} + } + + output = &UpdateGameSessionQueueOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateGameSessionQueue API operation for Amazon GameLift. +// +// Updates settings for a game session queue, which determines how new game +// session requests in the queue are processed. To update settings, specify +// the queue name to be updated and provide the new settings. When updating +// destinations, provide a complete list of destinations. +// +// Queue-related operations include: +// +// * CreateGameSessionQueue +// +// * DescribeGameSessionQueues +// +// * UpdateGameSessionQueue +// +// * DeleteGameSessionQueue +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation UpdateGameSessionQueue for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueue +func (c *GameLift) UpdateGameSessionQueue(input *UpdateGameSessionQueueInput) (*UpdateGameSessionQueueOutput, error) { + req, out := c.UpdateGameSessionQueueRequest(input) + return out, req.Send() +} + +// UpdateGameSessionQueueWithContext is the same as UpdateGameSessionQueue with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGameSessionQueue for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) UpdateGameSessionQueueWithContext(ctx aws.Context, input *UpdateGameSessionQueueInput, opts ...request.Option) (*UpdateGameSessionQueueOutput, error) { + req, out := c.UpdateGameSessionQueueRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateMatchmakingConfiguration = "UpdateMatchmakingConfiguration" + +// UpdateMatchmakingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMatchmakingConfiguration operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateMatchmakingConfiguration for more information on using the UpdateMatchmakingConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateMatchmakingConfigurationRequest method. +// req, resp := client.UpdateMatchmakingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfiguration +func (c *GameLift) UpdateMatchmakingConfigurationRequest(input *UpdateMatchmakingConfigurationInput) (req *request.Request, output *UpdateMatchmakingConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateMatchmakingConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateMatchmakingConfigurationInput{} + } + + output = &UpdateMatchmakingConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMatchmakingConfiguration API operation for Amazon GameLift. +// +// Updates settings for a FlexMatch matchmaking configuration. To update settings, +// specify the configuration name to be updated and provide the new settings. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation UpdateMatchmakingConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfiguration +func (c *GameLift) UpdateMatchmakingConfiguration(input *UpdateMatchmakingConfigurationInput) (*UpdateMatchmakingConfigurationOutput, error) { + req, out := c.UpdateMatchmakingConfigurationRequest(input) + return out, req.Send() +} + +// UpdateMatchmakingConfigurationWithContext is the same as UpdateMatchmakingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMatchmakingConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) UpdateMatchmakingConfigurationWithContext(ctx aws.Context, input *UpdateMatchmakingConfigurationInput, opts ...request.Option) (*UpdateMatchmakingConfigurationOutput, error) { + req, out := c.UpdateMatchmakingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRuntimeConfiguration = "UpdateRuntimeConfiguration" + +// UpdateRuntimeConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRuntimeConfiguration operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateRuntimeConfiguration for more information on using the UpdateRuntimeConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateRuntimeConfigurationRequest method. +// req, resp := client.UpdateRuntimeConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfiguration +func (c *GameLift) UpdateRuntimeConfigurationRequest(input *UpdateRuntimeConfigurationInput) (req *request.Request, output *UpdateRuntimeConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateRuntimeConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRuntimeConfigurationInput{} + } + + output = &UpdateRuntimeConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateRuntimeConfiguration API operation for Amazon GameLift. +// +// Updates the current run-time configuration for the specified fleet, which +// tells Amazon GameLift how to launch server processes on instances in the +// fleet. You can update a fleet's run-time configuration at any time after +// the fleet is created; it does not need to be in an ACTIVE status. +// +// To update run-time configuration, specify the fleet ID and provide a RuntimeConfiguration +// object with the updated collection of server process configurations. +// +// Each instance in a Amazon GameLift fleet checks regularly for an updated +// run-time configuration and changes how it launches server processes to comply +// with the latest version. Existing server processes are not affected by the +// update; they continue to run until they end, while Amazon GameLift simply +// adds new server processes to fit the current run-time configuration. As a +// result, the run-time configuration changes are applied gradually as existing +// processes shut down and new processes are launched in Amazon GameLift's normal +// process recycling activity. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation UpdateRuntimeConfiguration for usage and error information. +// +// Returned Error Codes: +// * ErrCodeUnauthorizedException "UnauthorizedException" +// The client failed authentication. Clients should not retry such requests. +// +// * ErrCodeNotFoundException "NotFoundException" +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException" +// The requested operation would cause a conflict with the current state of +// a resource associated with the request and/or the fleet. Resolve the conflict +// before retrying. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfiguration +func (c *GameLift) UpdateRuntimeConfiguration(input *UpdateRuntimeConfigurationInput) (*UpdateRuntimeConfigurationOutput, error) { + req, out := c.UpdateRuntimeConfigurationRequest(input) + return out, req.Send() +} + +// UpdateRuntimeConfigurationWithContext is the same as UpdateRuntimeConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRuntimeConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) UpdateRuntimeConfigurationWithContext(ctx aws.Context, input *UpdateRuntimeConfigurationInput, opts ...request.Option) (*UpdateRuntimeConfigurationOutput, error) { + req, out := c.UpdateRuntimeConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opValidateMatchmakingRuleSet = "ValidateMatchmakingRuleSet" + +// ValidateMatchmakingRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the ValidateMatchmakingRuleSet operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ValidateMatchmakingRuleSet for more information on using the ValidateMatchmakingRuleSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ValidateMatchmakingRuleSetRequest method. +// req, resp := client.ValidateMatchmakingRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSet +func (c *GameLift) ValidateMatchmakingRuleSetRequest(input *ValidateMatchmakingRuleSetInput) (req *request.Request, output *ValidateMatchmakingRuleSetOutput) { + op := &request.Operation{ + Name: opValidateMatchmakingRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ValidateMatchmakingRuleSetInput{} + } + + output = &ValidateMatchmakingRuleSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// ValidateMatchmakingRuleSet API operation for Amazon GameLift. +// +// Validates the syntax of a matchmaking rule or rule set. This operation checks +// that the rule set uses syntactically correct JSON and that it conforms to +// allowed property expressions. To validate syntax, provide a rule set string. +// +// Operations related to match configurations and rule sets include: +// +// * CreateMatchmakingConfiguration +// +// * DescribeMatchmakingConfigurations +// +// * UpdateMatchmakingConfiguration +// +// * DeleteMatchmakingConfiguration +// +// * CreateMatchmakingRuleSet +// +// * DescribeMatchmakingRuleSets +// +// * ValidateMatchmakingRuleSet +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GameLift's +// API operation ValidateMatchmakingRuleSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalServiceException "InternalServiceException" +// The service encountered an unrecoverable internal failure while processing +// the request. Clients can retry such requests immediately or after a waiting +// period. +// +// * ErrCodeUnsupportedRegionException "UnsupportedRegionException" +// The requested operation is not supported in the region specified. +// +// * ErrCodeInvalidRequestException "InvalidRequestException" +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSet +func (c *GameLift) ValidateMatchmakingRuleSet(input *ValidateMatchmakingRuleSetInput) (*ValidateMatchmakingRuleSetOutput, error) { + req, out := c.ValidateMatchmakingRuleSetRequest(input) + return out, req.Send() +} + +// ValidateMatchmakingRuleSetWithContext is the same as ValidateMatchmakingRuleSet with the addition of +// the ability to pass a context and additional request options. +// +// See ValidateMatchmakingRuleSet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GameLift) ValidateMatchmakingRuleSetWithContext(ctx aws.Context, input *ValidateMatchmakingRuleSetInput, opts ...request.Option) (*ValidateMatchmakingRuleSetOutput, error) { + req, out := c.ValidateMatchmakingRuleSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AcceptMatchInput +type AcceptMatchInput struct { + _ struct{} `type:"structure"` + + // Player response to the proposed match. + // + // AcceptanceType is a required field + AcceptanceType *string `type:"string" required:"true" enum:"AcceptanceType"` + + // Unique identifier for a player delivering the response. This parameter can + // include one or multiple player IDs. + // + // PlayerIds is a required field + PlayerIds []*string `type:"list" required:"true"` + + // Unique identifier for a matchmaking ticket. The ticket must be in status + // REQUIRES_ACCEPTANCE; otherwise this request will fail. + // + // TicketId is a required field + TicketId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AcceptMatchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptMatchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcceptMatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcceptMatchInput"} + if s.AcceptanceType == nil { + invalidParams.Add(request.NewErrParamRequired("AcceptanceType")) + } + if s.PlayerIds == nil { + invalidParams.Add(request.NewErrParamRequired("PlayerIds")) + } + if s.TicketId == nil { + invalidParams.Add(request.NewErrParamRequired("TicketId")) + } + if s.TicketId != nil && len(*s.TicketId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TicketId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceptanceType sets the AcceptanceType field's value. +func (s *AcceptMatchInput) SetAcceptanceType(v string) *AcceptMatchInput { + s.AcceptanceType = &v + return s +} + +// SetPlayerIds sets the PlayerIds field's value. +func (s *AcceptMatchInput) SetPlayerIds(v []*string) *AcceptMatchInput { + s.PlayerIds = v + return s +} + +// SetTicketId sets the TicketId field's value. +func (s *AcceptMatchInput) SetTicketId(v string) *AcceptMatchInput { + s.TicketId = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AcceptMatchOutput +type AcceptMatchOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AcceptMatchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptMatchOutput) GoString() string { + return s.String() +} + +// Properties describing a fleet alias. +// +// Alias-related operations include: +// +// * CreateAlias +// +// * ListAliases +// +// * DescribeAlias +// +// * UpdateAlias +// +// * DeleteAlias +// +// * ResolveAlias +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/Alias +type Alias struct { + _ struct{} `type:"structure"` + + // Unique identifier for an alias; alias ARNs are unique across all regions. + AliasArn *string `min:"1" type:"string"` + + // Unique identifier for an alias; alias IDs are unique within a region. + AliasId *string `type:"string"` + + // Time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Human-readable description of an alias. + Description *string `type:"string"` + + // Time stamp indicating when this data object was last modified. Format is + // a number expressed in Unix time as milliseconds (for example "1469498468.057"). + LastUpdatedTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Descriptive label that is associated with an alias. Alias names do not need + // to be unique. + Name *string `min:"1" type:"string"` + + // Alias configuration for the alias, including routing type and settings. + RoutingStrategy *RoutingStrategy `type:"structure"` +} + +// String returns the string representation +func (s Alias) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Alias) GoString() string { + return s.String() +} + +// SetAliasArn sets the AliasArn field's value. +func (s *Alias) SetAliasArn(v string) *Alias { + s.AliasArn = &v + return s +} + +// SetAliasId sets the AliasId field's value. +func (s *Alias) SetAliasId(v string) *Alias { + s.AliasId = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Alias) SetCreationTime(v time.Time) *Alias { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Alias) SetDescription(v string) *Alias { + s.Description = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Alias) SetLastUpdatedTime(v time.Time) *Alias { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Alias) SetName(v string) *Alias { + s.Name = &v + return s +} + +// SetRoutingStrategy sets the RoutingStrategy field's value. +func (s *Alias) SetRoutingStrategy(v *RoutingStrategy) *Alias { + s.RoutingStrategy = v + return s +} + +// Values for use in Player attribute type:value pairs. This object lets you +// specify an attribute value using any of the valid data types: string, number, +// string array or data map. Each AttributeValue object can use only one of +// the available properties. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AttributeValue +type AttributeValue struct { + _ struct{} `type:"structure"` + + // For number values, expressed as double. + N *float64 `type:"double"` + + // For single string values. Maximum string length is 100 characters. + S *string `min:"1" type:"string"` + + // For a map of up to 10 type:value pairs. Maximum length for each string value + // is 100 characters. + SDM map[string]*float64 `type:"map"` + + // For a list of up to 10 strings. Maximum length for each string is 100 characters. + // Duplicate values are not recognized; all occurrences of the repeated value + // after the first of a repeated value are ignored. + SL []*string `type:"list"` +} + +// String returns the string representation +func (s AttributeValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttributeValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttributeValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttributeValue"} + if s.S != nil && len(*s.S) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetN sets the N field's value. +func (s *AttributeValue) SetN(v float64) *AttributeValue { + s.N = &v + return s +} + +// SetS sets the S field's value. +func (s *AttributeValue) SetS(v string) *AttributeValue { + s.S = &v + return s +} + +// SetSDM sets the SDM field's value. +func (s *AttributeValue) SetSDM(v map[string]*float64) *AttributeValue { + s.SDM = v + return s +} + +// SetSL sets the SL field's value. +func (s *AttributeValue) SetSL(v []*string) *AttributeValue { + s.SL = v + return s +} + +// Temporary access credentials used for uploading game build files to Amazon +// GameLift. They are valid for a limited time. If they expire before you upload +// your game build, get a new set by calling RequestUploadCredentials. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AwsCredentials +type AwsCredentials struct { + _ struct{} `type:"structure"` + + // Temporary key allowing access to the Amazon GameLift S3 account. + AccessKeyId *string `min:"1" type:"string"` + + // Temporary secret key allowing access to the Amazon GameLift S3 account. + SecretAccessKey *string `min:"1" type:"string"` + + // Token used to associate a specific build ID with the files uploaded using + // these credentials. + SessionToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s AwsCredentials) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsCredentials) GoString() string { + return s.String() +} + +// SetAccessKeyId sets the AccessKeyId field's value. +func (s *AwsCredentials) SetAccessKeyId(v string) *AwsCredentials { + s.AccessKeyId = &v + return s +} + +// SetSecretAccessKey sets the SecretAccessKey field's value. +func (s *AwsCredentials) SetSecretAccessKey(v string) *AwsCredentials { + s.SecretAccessKey = &v + return s +} + +// SetSessionToken sets the SessionToken field's value. +func (s *AwsCredentials) SetSessionToken(v string) *AwsCredentials { + s.SessionToken = &v + return s +} + +// Properties describing a game build. +// +// Build-related operations include: +// +// * CreateBuild +// +// * ListBuilds +// +// * DescribeBuild +// +// * UpdateBuild +// +// * DeleteBuild +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/Build +type Build struct { + _ struct{} `type:"structure"` + + // Unique identifier for a build. + BuildId *string `type:"string"` + + // Time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Descriptive label that is associated with a build. Build names do not need + // to be unique. It can be set using CreateBuild or UpdateBuild. + Name *string `type:"string"` + + // Operating system that the game server binaries are built to run on. This + // value determines the type of fleet resources that you can use for this build. + OperatingSystem *string `type:"string" enum:"OperatingSystem"` + + // File size of the uploaded game build, expressed in bytes. When the build + // status is INITIALIZED, this value is 0. + SizeOnDisk *int64 `min:"1" type:"long"` + + // Current status of the build. + // + // Possible build statuses include the following: + // + // * INITIALIZED -- A new build has been defined, but no files have been + // uploaded. You cannot create fleets for builds that are in this status. + // When a build is successfully created, the build status is set to this + // value. + // + // * READY -- The game build has been successfully uploaded. You can now + // create new fleets for this build. + // + // * FAILED -- The game build upload failed. You cannot create new fleets + // for this build. + Status *string `type:"string" enum:"BuildStatus"` + + // Version that is associated with this build. Version strings do not need to + // be unique. This value can be set using CreateBuild or UpdateBuild. + Version *string `type:"string"` +} + +// String returns the string representation +func (s Build) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Build) GoString() string { + return s.String() +} + +// SetBuildId sets the BuildId field's value. +func (s *Build) SetBuildId(v string) *Build { + s.BuildId = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Build) SetCreationTime(v time.Time) *Build { + s.CreationTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Build) SetName(v string) *Build { + s.Name = &v + return s +} + +// SetOperatingSystem sets the OperatingSystem field's value. +func (s *Build) SetOperatingSystem(v string) *Build { + s.OperatingSystem = &v + return s +} + +// SetSizeOnDisk sets the SizeOnDisk field's value. +func (s *Build) SetSizeOnDisk(v int64) *Build { + s.SizeOnDisk = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Build) SetStatus(v string) *Build { + s.Status = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *Build) SetVersion(v string) *Build { + s.Version = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateAliasInput +type CreateAliasInput struct { + _ struct{} `type:"structure"` + + // Human-readable description of an alias. + Description *string `min:"1" type:"string"` + + // Descriptive label that is associated with an alias. Alias names do not need + // to be unique. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Object that specifies the fleet and routing type to use for the alias. + // + // RoutingStrategy is a required field + RoutingStrategy *RoutingStrategy `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAliasInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RoutingStrategy == nil { + invalidParams.Add(request.NewErrParamRequired("RoutingStrategy")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateAliasInput) SetDescription(v string) *CreateAliasInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateAliasInput) SetName(v string) *CreateAliasInput { + s.Name = &v + return s +} + +// SetRoutingStrategy sets the RoutingStrategy field's value. +func (s *CreateAliasInput) SetRoutingStrategy(v *RoutingStrategy) *CreateAliasInput { + s.RoutingStrategy = v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateAliasOutput +type CreateAliasOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the newly created alias record. + Alias *Alias `type:"structure"` +} + +// String returns the string representation +func (s CreateAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAliasOutput) GoString() string { + return s.String() +} + +// SetAlias sets the Alias field's value. +func (s *CreateAliasOutput) SetAlias(v *Alias) *CreateAliasOutput { + s.Alias = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateBuildInput +type CreateBuildInput struct { + _ struct{} `type:"structure"` + + // Descriptive label that is associated with a build. Build names do not need + // to be unique. You can use UpdateBuild to change this value later. + Name *string `min:"1" type:"string"` + + // Operating system that the game server binaries are built to run on. This + // value determines the type of fleet resources that you can use for this build. + // If your game build contains multiple executables, they all must run on the + // same operating system. + OperatingSystem *string `type:"string" enum:"OperatingSystem"` + + // Amazon S3 location of the game build files to be uploaded. The S3 bucket + // must be owned by the same AWS account that you're using to manage Amazon + // GameLift. It also must in the same region that you want to create a new build + // in. Before calling CreateBuild with this location, you must allow Amazon + // GameLift to access your Amazon S3 bucket (see Create a Build with Files in + // Amazon S3 (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build)). + StorageLocation *S3Location `type:"structure"` + + // Version that is associated with this build. Version strings do not need to + // be unique. You can use UpdateBuild to change this value later. + Version *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateBuildInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBuildInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBuildInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBuildInput"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Version != nil && len(*s.Version) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Version", 1)) + } + if s.StorageLocation != nil { + if err := s.StorageLocation.Validate(); err != nil { + invalidParams.AddNested("StorageLocation", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CreateBuildInput) SetName(v string) *CreateBuildInput { + s.Name = &v + return s +} + +// SetOperatingSystem sets the OperatingSystem field's value. +func (s *CreateBuildInput) SetOperatingSystem(v string) *CreateBuildInput { + s.OperatingSystem = &v + return s +} + +// SetStorageLocation sets the StorageLocation field's value. +func (s *CreateBuildInput) SetStorageLocation(v *S3Location) *CreateBuildInput { + s.StorageLocation = v + return s +} + +// SetVersion sets the Version field's value. +func (s *CreateBuildInput) SetVersion(v string) *CreateBuildInput { + s.Version = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateBuildOutput +type CreateBuildOutput struct { + _ struct{} `type:"structure"` + + // The newly created build record, including a unique build ID and status. + Build *Build `type:"structure"` + + // Amazon S3 location specified in the request. + StorageLocation *S3Location `type:"structure"` + + // This element is not currently in use. + UploadCredentials *AwsCredentials `type:"structure"` +} + +// String returns the string representation +func (s CreateBuildOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateBuildOutput) GoString() string { + return s.String() +} + +// SetBuild sets the Build field's value. +func (s *CreateBuildOutput) SetBuild(v *Build) *CreateBuildOutput { + s.Build = v + return s +} + +// SetStorageLocation sets the StorageLocation field's value. +func (s *CreateBuildOutput) SetStorageLocation(v *S3Location) *CreateBuildOutput { + s.StorageLocation = v + return s +} + +// SetUploadCredentials sets the UploadCredentials field's value. +func (s *CreateBuildOutput) SetUploadCredentials(v *AwsCredentials) *CreateBuildOutput { + s.UploadCredentials = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleetInput +type CreateFleetInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a build to be deployed on the new fleet. The build + // must have been successfully uploaded to Amazon GameLift and be in a READY + // status. This fleet setting cannot be changed once the fleet is created. + // + // BuildId is a required field + BuildId *string `type:"string" required:"true"` + + // Human-readable description of a fleet. + Description *string `min:"1" type:"string"` + + // Range of IP addresses and port settings that permit inbound traffic to access + // server processes running on the fleet. If no inbound permissions are set, + // including both IP address range and port range, the server processes in the + // fleet cannot accept connections. You can specify one or more sets of permissions + // for a fleet. + EC2InboundPermissions []*IpPermission `type:"list"` + + // Name of an EC2 instance type that is supported in Amazon GameLift. A fleet + // instance type determines the computing resources of each instance in the + // fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift + // supports the following EC2 instance types. See Amazon EC2 Instance Types + // (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. + // + // EC2InstanceType is a required field + EC2InstanceType *string `type:"string" required:"true" enum:"EC2InstanceType"` + + // This parameter is no longer used. Instead, to specify where Amazon GameLift + // should store log files once a server process shuts down, use the Amazon GameLift + // server API ProcessReady() and specify one or more directory paths in logParameters. + // See more information in the Server API Reference (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process). + LogPaths []*string `type:"list"` + + // Names of metric groups to add this fleet to. Use an existing metric group + // name to add this fleet to the group. Or use a new name to create a new metric + // group. A fleet can only be included in one metric group at a time. + MetricGroups []*string `type:"list"` + + // Descriptive label that is associated with a fleet. Fleet names do not need + // to be unique. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Game session protection policy to apply to all instances in this fleet. If + // this parameter is not set, instances in this fleet default to no protection. + // You can change a fleet's protection policy using UpdateFleetAttributes, but + // this change will only affect sessions created after the policy change. You + // can also set protection for individual instances using UpdateGameSession. + // + // * NoProtection -- The game session can be terminated during a scale-down + // event. + // + // * FullProtection -- If the game session is in an ACTIVE status, it cannot + // be terminated during a scale-down event. + NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"` + + // Unique identifier for the AWS account with the VPC that you want to peer + // your Amazon GameLift fleet with. You can find your Account ID in the AWS + // Management Console under account settings. + PeerVpcAwsAccountId *string `min:"1" type:"string"` + + // Unique identifier for a VPC with resources to be accessed by your Amazon + // GameLift fleet. The VPC must be in the same region where your fleet is deployed. + // To get VPC information, including IDs, use the Virtual Private Cloud service + // tools, including the VPC Dashboard in the AWS Management Console. + PeerVpcId *string `min:"1" type:"string"` + + // Policy that limits the number of game sessions an individual player can create + // over a span of time for this fleet. + ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"` + + // Instructions for launching server processes on each instance in the fleet. + // The run-time configuration for a fleet has a collection of server process + // configurations, one for each type of server process to run on an instance. + // A server process configuration specifies the location of the server executable, + // launch parameters, and the number of concurrent processes with that configuration + // to maintain on each instance. A CreateFleet request must include a run-time + // configuration with at least one server process configuration; otherwise the + // request fails with an invalid request exception. (This parameter replaces + // the parameters ServerLaunchPath and ServerLaunchParameters; requests that + // contain values for these parameters instead of a run-time configuration will + // continue to work.) + RuntimeConfiguration *RuntimeConfiguration `type:"structure"` + + // This parameter is no longer used. Instead, specify server launch parameters + // in the RuntimeConfiguration parameter. (Requests that specify a server launch + // path and launch parameters instead of a run-time configuration will continue + // to work.) + ServerLaunchParameters *string `min:"1" type:"string"` + + // This parameter is no longer used. Instead, specify a server launch path using + // the RuntimeConfiguration parameter. (Requests that specify a server launch + // path and launch parameters instead of a run-time configuration will continue + // to work.) + ServerLaunchPath *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateFleetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFleetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFleetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"} + if s.BuildId == nil { + invalidParams.Add(request.NewErrParamRequired("BuildId")) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.EC2InstanceType == nil { + invalidParams.Add(request.NewErrParamRequired("EC2InstanceType")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.PeerVpcAwsAccountId != nil && len(*s.PeerVpcAwsAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PeerVpcAwsAccountId", 1)) + } + if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1)) + } + if s.ServerLaunchParameters != nil && len(*s.ServerLaunchParameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServerLaunchParameters", 1)) + } + if s.ServerLaunchPath != nil && len(*s.ServerLaunchPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServerLaunchPath", 1)) + } + if s.EC2InboundPermissions != nil { + for i, v := range s.EC2InboundPermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EC2InboundPermissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RuntimeConfiguration != nil { + if err := s.RuntimeConfiguration.Validate(); err != nil { + invalidParams.AddNested("RuntimeConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBuildId sets the BuildId field's value. +func (s *CreateFleetInput) SetBuildId(v string) *CreateFleetInput { + s.BuildId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateFleetInput) SetDescription(v string) *CreateFleetInput { + s.Description = &v + return s +} + +// SetEC2InboundPermissions sets the EC2InboundPermissions field's value. +func (s *CreateFleetInput) SetEC2InboundPermissions(v []*IpPermission) *CreateFleetInput { + s.EC2InboundPermissions = v + return s +} + +// SetEC2InstanceType sets the EC2InstanceType field's value. +func (s *CreateFleetInput) SetEC2InstanceType(v string) *CreateFleetInput { + s.EC2InstanceType = &v + return s +} + +// SetLogPaths sets the LogPaths field's value. +func (s *CreateFleetInput) SetLogPaths(v []*string) *CreateFleetInput { + s.LogPaths = v + return s +} + +// SetMetricGroups sets the MetricGroups field's value. +func (s *CreateFleetInput) SetMetricGroups(v []*string) *CreateFleetInput { + s.MetricGroups = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateFleetInput) SetName(v string) *CreateFleetInput { + s.Name = &v + return s +} + +// SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value. +func (s *CreateFleetInput) SetNewGameSessionProtectionPolicy(v string) *CreateFleetInput { + s.NewGameSessionProtectionPolicy = &v + return s +} + +// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value. +func (s *CreateFleetInput) SetPeerVpcAwsAccountId(v string) *CreateFleetInput { + s.PeerVpcAwsAccountId = &v + return s +} + +// SetPeerVpcId sets the PeerVpcId field's value. +func (s *CreateFleetInput) SetPeerVpcId(v string) *CreateFleetInput { + s.PeerVpcId = &v + return s +} + +// SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value. +func (s *CreateFleetInput) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *CreateFleetInput { + s.ResourceCreationLimitPolicy = v + return s +} + +// SetRuntimeConfiguration sets the RuntimeConfiguration field's value. +func (s *CreateFleetInput) SetRuntimeConfiguration(v *RuntimeConfiguration) *CreateFleetInput { + s.RuntimeConfiguration = v + return s +} + +// SetServerLaunchParameters sets the ServerLaunchParameters field's value. +func (s *CreateFleetInput) SetServerLaunchParameters(v string) *CreateFleetInput { + s.ServerLaunchParameters = &v + return s +} + +// SetServerLaunchPath sets the ServerLaunchPath field's value. +func (s *CreateFleetInput) SetServerLaunchPath(v string) *CreateFleetInput { + s.ServerLaunchPath = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleetOutput +type CreateFleetOutput struct { + _ struct{} `type:"structure"` + + // Properties for the newly created fleet. + FleetAttributes *FleetAttributes `type:"structure"` +} + +// String returns the string representation +func (s CreateFleetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFleetOutput) GoString() string { + return s.String() +} + +// SetFleetAttributes sets the FleetAttributes field's value. +func (s *CreateFleetOutput) SetFleetAttributes(v *FleetAttributes) *CreateFleetOutput { + s.FleetAttributes = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionInput +type CreateGameSessionInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for an alias associated with the fleet to create a game + // session in. Each request must reference either a fleet ID or alias ID, but + // not both. + AliasId *string `type:"string"` + + // Unique identifier for a player or entity creating the game session. This + // ID is used to enforce a resource protection policy (if one exists) that limits + // the number of concurrent active game sessions one player can have. + CreatorId *string `min:"1" type:"string"` + + // Unique identifier for a fleet to create a game session in. Each request must + // reference either a fleet ID or alias ID, but not both. + FleetId *string `type:"string"` + + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + GameProperties []*GameProperty `type:"list"` + + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + GameSessionData *string `min:"1" type:"string"` + + // This parameter is no longer preferred. Please use IdempotencyToken instead. + // Custom string that uniquely identifies a request for a new game session. + // Maximum token length is 48 characters. If provided, this string is included + // in the new game session's ID. (A game session ARN has the following format: + // arn:aws:gamelift:::gamesession//.) + GameSessionId *string `min:"1" type:"string"` + + // Custom string that uniquely identifies a request for a new game session. + // Maximum token length is 48 characters. If provided, this string is included + // in the new game session's ID. (A game session ARN has the following format: + // arn:aws:gamelift:::gamesession//.) Idempotency tokens remain in use for 30 days after a game session + // has ended; game session objects are retained for this time period and then + // deleted. + IdempotencyToken *string `min:"1" type:"string"` + + // Maximum number of players that can be connected simultaneously to the game + // session. + // + // MaximumPlayerSessionCount is a required field + MaximumPlayerSessionCount *int64 `type:"integer" required:"true"` + + // Descriptive label that is associated with a game session. Session names do + // not need to be unique. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateGameSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGameSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGameSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGameSessionInput"} + if s.CreatorId != nil && len(*s.CreatorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorId", 1)) + } + if s.GameSessionData != nil && len(*s.GameSessionData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1)) + } + if s.GameSessionId != nil && len(*s.GameSessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1)) + } + if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1)) + } + if s.MaximumPlayerSessionCount == nil { + invalidParams.Add(request.NewErrParamRequired("MaximumPlayerSessionCount")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.GameProperties != nil { + for i, v := range s.GameProperties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasId sets the AliasId field's value. +func (s *CreateGameSessionInput) SetAliasId(v string) *CreateGameSessionInput { + s.AliasId = &v + return s +} + +// SetCreatorId sets the CreatorId field's value. +func (s *CreateGameSessionInput) SetCreatorId(v string) *CreateGameSessionInput { + s.CreatorId = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *CreateGameSessionInput) SetFleetId(v string) *CreateGameSessionInput { + s.FleetId = &v + return s +} + +// SetGameProperties sets the GameProperties field's value. +func (s *CreateGameSessionInput) SetGameProperties(v []*GameProperty) *CreateGameSessionInput { + s.GameProperties = v + return s +} + +// SetGameSessionData sets the GameSessionData field's value. +func (s *CreateGameSessionInput) SetGameSessionData(v string) *CreateGameSessionInput { + s.GameSessionData = &v + return s +} + +// SetGameSessionId sets the GameSessionId field's value. +func (s *CreateGameSessionInput) SetGameSessionId(v string) *CreateGameSessionInput { + s.GameSessionId = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateGameSessionInput) SetIdempotencyToken(v string) *CreateGameSessionInput { + s.IdempotencyToken = &v + return s +} + +// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value. +func (s *CreateGameSessionInput) SetMaximumPlayerSessionCount(v int64) *CreateGameSessionInput { + s.MaximumPlayerSessionCount = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateGameSessionInput) SetName(v string) *CreateGameSessionInput { + s.Name = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionOutput +type CreateGameSessionOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the newly created game session record. + GameSession *GameSession `type:"structure"` +} + +// String returns the string representation +func (s CreateGameSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGameSessionOutput) GoString() string { + return s.String() +} + +// SetGameSession sets the GameSession field's value. +func (s *CreateGameSessionOutput) SetGameSession(v *GameSession) *CreateGameSessionOutput { + s.GameSession = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionQueueInput +type CreateGameSessionQueueInput struct { + _ struct{} `type:"structure"` + + // List of fleets that can be used to fulfill game session placement requests + // in the queue. Fleets are identified by either a fleet ARN or a fleet alias + // ARN. Destinations are listed in default preference order. + Destinations []*GameSessionQueueDestination `type:"list"` + + // Descriptive label that is associated with game session queue. Queue names + // must be unique within each region. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Collection of latency policies to apply when processing game sessions placement + // requests with player latency information. Multiple policies are evaluated + // in order of the maximum latency value, starting with the lowest latency values. + // With just one policy, it is enforced at the start of the game session placement + // for the duration period. With multiple policies, each policy is enforced + // consecutively for its duration period. For example, a queue might enforce + // a 60-second policy followed by a 120-second policy, and then no policy for + // the remainder of the placement. A player latency policy must set a value + // for MaximumIndividualPlayerLatencyMilliseconds; if none is set, this API + // requests will fail. + PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"` + + // Maximum time, in seconds, that a new game session placement request remains + // in the queue. When a request exceeds this time, the game session placement + // changes to a TIMED_OUT status. + TimeoutInSeconds *int64 `type:"integer"` +} + +// String returns the string representation +func (s CreateGameSessionQueueInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGameSessionQueueInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGameSessionQueueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGameSessionQueueInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Destinations != nil { + for i, v := range s.Destinations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinations sets the Destinations field's value. +func (s *CreateGameSessionQueueInput) SetDestinations(v []*GameSessionQueueDestination) *CreateGameSessionQueueInput { + s.Destinations = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateGameSessionQueueInput) SetName(v string) *CreateGameSessionQueueInput { + s.Name = &v + return s +} + +// SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value. +func (s *CreateGameSessionQueueInput) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *CreateGameSessionQueueInput { + s.PlayerLatencyPolicies = v + return s +} + +// SetTimeoutInSeconds sets the TimeoutInSeconds field's value. +func (s *CreateGameSessionQueueInput) SetTimeoutInSeconds(v int64) *CreateGameSessionQueueInput { + s.TimeoutInSeconds = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionQueueOutput +type CreateGameSessionQueueOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the newly created game session queue. + GameSessionQueue *GameSessionQueue `type:"structure"` +} + +// String returns the string representation +func (s CreateGameSessionQueueOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGameSessionQueueOutput) GoString() string { + return s.String() +} + +// SetGameSessionQueue sets the GameSessionQueue field's value. +func (s *CreateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) *CreateGameSessionQueueOutput { + s.GameSessionQueue = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfigurationInput +type CreateMatchmakingConfigurationInput struct { + _ struct{} `type:"structure"` + + // Flag that determines whether or not a match that was created with this configuration + // must be accepted by the matched players. To require acceptance, set to TRUE. + // + // AcceptanceRequired is a required field + AcceptanceRequired *bool `type:"boolean" required:"true"` + + // Length of time (in seconds) to wait for players to accept a proposed match. + // If any player rejects the match or fails to accept before the timeout, the + // ticket continues to look for an acceptable match. + AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"` + + // Number of player slots in a match to keep open for future players. For example, + // if the configuration's rule set specifies a match for a single 12-person + // team, and the additional player count is set to 2, only 10 players are selected + // for the match. + AdditionalPlayerCount *int64 `type:"integer"` + + // Information to attached to all events related to the matchmaking configuration. + CustomEventData *string `type:"string"` + + // Meaningful description of the matchmaking configuration. + Description *string `min:"1" type:"string"` + + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // This information is added to the new GameSession object that is created for + // a successful match. + GameProperties []*GameProperty `type:"list"` + + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // This information is added to the new GameSession object that is created for + // a successful match. + GameSessionData *string `min:"1" type:"string"` + + // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // that is assigned to a game session queue and uniquely identifies it. Format + // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. + // These queues are used when placing game sessions for matches that are created + // with this matchmaking configuration. Queues can be located in any region. + // + // GameSessionQueueArns is a required field + GameSessionQueueArns []*string `type:"list" required:"true"` + + // Unique identifier for a matchmaking configuration. This name is used to identify + // the configuration associated with a matchmaking request or ticket. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // SNS topic ARN that is set up to receive matchmaking notifications. + NotificationTarget *string `type:"string"` + + // Maximum duration, in seconds, that a matchmaking ticket can remain in process + // before timing out. Requests that time out can be resubmitted as needed. + // + // RequestTimeoutSeconds is a required field + RequestTimeoutSeconds *int64 `min:"1" type:"integer" required:"true"` + + // Unique identifier for a matchmaking rule set to use with this configuration. + // A matchmaking configuration can only use rule sets that are defined in the + // same region. + // + // RuleSetName is a required field + RuleSetName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateMatchmakingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMatchmakingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMatchmakingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMatchmakingConfigurationInput"} + if s.AcceptanceRequired == nil { + invalidParams.Add(request.NewErrParamRequired("AcceptanceRequired")) + } + if s.AcceptanceTimeoutSeconds != nil && *s.AcceptanceTimeoutSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("AcceptanceTimeoutSeconds", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.GameSessionData != nil && len(*s.GameSessionData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1)) + } + if s.GameSessionQueueArns == nil { + invalidParams.Add(request.NewErrParamRequired("GameSessionQueueArns")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RequestTimeoutSeconds == nil { + invalidParams.Add(request.NewErrParamRequired("RequestTimeoutSeconds")) + } + if s.RequestTimeoutSeconds != nil && *s.RequestTimeoutSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("RequestTimeoutSeconds", 1)) + } + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + if s.RuleSetName != nil && len(*s.RuleSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1)) + } + if s.GameProperties != nil { + for i, v := range s.GameProperties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceptanceRequired sets the AcceptanceRequired field's value. +func (s *CreateMatchmakingConfigurationInput) SetAcceptanceRequired(v bool) *CreateMatchmakingConfigurationInput { + s.AcceptanceRequired = &v + return s +} + +// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value. +func (s *CreateMatchmakingConfigurationInput) SetAcceptanceTimeoutSeconds(v int64) *CreateMatchmakingConfigurationInput { + s.AcceptanceTimeoutSeconds = &v + return s +} + +// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value. +func (s *CreateMatchmakingConfigurationInput) SetAdditionalPlayerCount(v int64) *CreateMatchmakingConfigurationInput { + s.AdditionalPlayerCount = &v + return s +} + +// SetCustomEventData sets the CustomEventData field's value. +func (s *CreateMatchmakingConfigurationInput) SetCustomEventData(v string) *CreateMatchmakingConfigurationInput { + s.CustomEventData = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateMatchmakingConfigurationInput) SetDescription(v string) *CreateMatchmakingConfigurationInput { + s.Description = &v + return s +} + +// SetGameProperties sets the GameProperties field's value. +func (s *CreateMatchmakingConfigurationInput) SetGameProperties(v []*GameProperty) *CreateMatchmakingConfigurationInput { + s.GameProperties = v + return s +} + +// SetGameSessionData sets the GameSessionData field's value. +func (s *CreateMatchmakingConfigurationInput) SetGameSessionData(v string) *CreateMatchmakingConfigurationInput { + s.GameSessionData = &v + return s +} + +// SetGameSessionQueueArns sets the GameSessionQueueArns field's value. +func (s *CreateMatchmakingConfigurationInput) SetGameSessionQueueArns(v []*string) *CreateMatchmakingConfigurationInput { + s.GameSessionQueueArns = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateMatchmakingConfigurationInput) SetName(v string) *CreateMatchmakingConfigurationInput { + s.Name = &v + return s +} + +// SetNotificationTarget sets the NotificationTarget field's value. +func (s *CreateMatchmakingConfigurationInput) SetNotificationTarget(v string) *CreateMatchmakingConfigurationInput { + s.NotificationTarget = &v + return s +} + +// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value. +func (s *CreateMatchmakingConfigurationInput) SetRequestTimeoutSeconds(v int64) *CreateMatchmakingConfigurationInput { + s.RequestTimeoutSeconds = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *CreateMatchmakingConfigurationInput) SetRuleSetName(v string) *CreateMatchmakingConfigurationInput { + s.RuleSetName = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfigurationOutput +type CreateMatchmakingConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the newly created matchmaking configuration. + Configuration *MatchmakingConfiguration `type:"structure"` +} + +// String returns the string representation +func (s CreateMatchmakingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMatchmakingConfigurationOutput) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *CreateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingConfiguration) *CreateMatchmakingConfigurationOutput { + s.Configuration = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSetInput +type CreateMatchmakingRuleSetInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a matchmaking rule set. This name is used to identify + // the rule set associated with a matchmaking configuration. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Collection of matchmaking rules, formatted as a JSON string. (Note that comments + // are not allowed in JSON, but most elements support a description field.) + // + // RuleSetBody is a required field + RuleSetBody *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateMatchmakingRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMatchmakingRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMatchmakingRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMatchmakingRuleSetInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RuleSetBody == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetBody")) + } + if s.RuleSetBody != nil && len(*s.RuleSetBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetBody", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CreateMatchmakingRuleSetInput) SetName(v string) *CreateMatchmakingRuleSetInput { + s.Name = &v + return s +} + +// SetRuleSetBody sets the RuleSetBody field's value. +func (s *CreateMatchmakingRuleSetInput) SetRuleSetBody(v string) *CreateMatchmakingRuleSetInput { + s.RuleSetBody = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSetOutput +type CreateMatchmakingRuleSetOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the newly created matchmaking rule set. + // + // RuleSet is a required field + RuleSet *MatchmakingRuleSet `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateMatchmakingRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMatchmakingRuleSetOutput) GoString() string { + return s.String() +} + +// SetRuleSet sets the RuleSet field's value. +func (s *CreateMatchmakingRuleSetOutput) SetRuleSet(v *MatchmakingRuleSet) *CreateMatchmakingRuleSetOutput { + s.RuleSet = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessionInput +type CreatePlayerSessionInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for the game session to add a player to. + // + // GameSessionId is a required field + GameSessionId *string `min:"1" type:"string" required:"true"` + + // Developer-defined information related to a player. Amazon GameLift does not + // use this data, so it can be formatted as needed for use in the game. + PlayerData *string `min:"1" type:"string"` + + // Unique identifier for a player. Player IDs are developer-defined. + // + // PlayerId is a required field + PlayerId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePlayerSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePlayerSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePlayerSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePlayerSessionInput"} + if s.GameSessionId == nil { + invalidParams.Add(request.NewErrParamRequired("GameSessionId")) + } + if s.GameSessionId != nil && len(*s.GameSessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1)) + } + if s.PlayerData != nil && len(*s.PlayerData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlayerData", 1)) + } + if s.PlayerId == nil { + invalidParams.Add(request.NewErrParamRequired("PlayerId")) + } + if s.PlayerId != nil && len(*s.PlayerId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGameSessionId sets the GameSessionId field's value. +func (s *CreatePlayerSessionInput) SetGameSessionId(v string) *CreatePlayerSessionInput { + s.GameSessionId = &v + return s +} + +// SetPlayerData sets the PlayerData field's value. +func (s *CreatePlayerSessionInput) SetPlayerData(v string) *CreatePlayerSessionInput { + s.PlayerData = &v + return s +} + +// SetPlayerId sets the PlayerId field's value. +func (s *CreatePlayerSessionInput) SetPlayerId(v string) *CreatePlayerSessionInput { + s.PlayerId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessionOutput +type CreatePlayerSessionOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the newly created player session record. + PlayerSession *PlayerSession `type:"structure"` +} + +// String returns the string representation +func (s CreatePlayerSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePlayerSessionOutput) GoString() string { + return s.String() +} + +// SetPlayerSession sets the PlayerSession field's value. +func (s *CreatePlayerSessionOutput) SetPlayerSession(v *PlayerSession) *CreatePlayerSessionOutput { + s.PlayerSession = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessionsInput +type CreatePlayerSessionsInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for the game session to add players to. + // + // GameSessionId is a required field + GameSessionId *string `min:"1" type:"string" required:"true"` + + // Map of string pairs, each specifying a player ID and a set of developer-defined + // information related to the player. Amazon GameLift does not use this data, + // so it can be formatted as needed for use in the game. Player data strings + // for player IDs not included in the PlayerIds parameter are ignored. + PlayerDataMap map[string]*string `type:"map"` + + // List of unique identifiers for the players to be added. + // + // PlayerIds is a required field + PlayerIds []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s CreatePlayerSessionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePlayerSessionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePlayerSessionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePlayerSessionsInput"} + if s.GameSessionId == nil { + invalidParams.Add(request.NewErrParamRequired("GameSessionId")) + } + if s.GameSessionId != nil && len(*s.GameSessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1)) + } + if s.PlayerIds == nil { + invalidParams.Add(request.NewErrParamRequired("PlayerIds")) + } + if s.PlayerIds != nil && len(s.PlayerIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlayerIds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGameSessionId sets the GameSessionId field's value. +func (s *CreatePlayerSessionsInput) SetGameSessionId(v string) *CreatePlayerSessionsInput { + s.GameSessionId = &v + return s +} + +// SetPlayerDataMap sets the PlayerDataMap field's value. +func (s *CreatePlayerSessionsInput) SetPlayerDataMap(v map[string]*string) *CreatePlayerSessionsInput { + s.PlayerDataMap = v + return s +} + +// SetPlayerIds sets the PlayerIds field's value. +func (s *CreatePlayerSessionsInput) SetPlayerIds(v []*string) *CreatePlayerSessionsInput { + s.PlayerIds = v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessionsOutput +type CreatePlayerSessionsOutput struct { + _ struct{} `type:"structure"` + + // Collection of player session objects created for the added players. + PlayerSessions []*PlayerSession `type:"list"` +} + +// String returns the string representation +func (s CreatePlayerSessionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePlayerSessionsOutput) GoString() string { + return s.String() +} + +// SetPlayerSessions sets the PlayerSessions field's value. +func (s *CreatePlayerSessionsOutput) SetPlayerSessions(v []*PlayerSession) *CreatePlayerSessionsOutput { + s.PlayerSessions = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorizationInput +type CreateVpcPeeringAuthorizationInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for the AWS account that you use to manage your Amazon + // GameLift fleet. You can find your Account ID in the AWS Management Console + // under account settings. + // + // GameLiftAwsAccountId is a required field + GameLiftAwsAccountId *string `min:"1" type:"string" required:"true"` + + // Unique identifier for a VPC with resources to be accessed by your Amazon + // GameLift fleet. The VPC must be in the same region where your fleet is deployed. + // To get VPC information, including IDs, use the Virtual Private Cloud service + // tools, including the VPC Dashboard in the AWS Management Console. + // + // PeerVpcId is a required field + PeerVpcId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateVpcPeeringAuthorizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVpcPeeringAuthorizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateVpcPeeringAuthorizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringAuthorizationInput"} + if s.GameLiftAwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("GameLiftAwsAccountId")) + } + if s.GameLiftAwsAccountId != nil && len(*s.GameLiftAwsAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameLiftAwsAccountId", 1)) + } + if s.PeerVpcId == nil { + invalidParams.Add(request.NewErrParamRequired("PeerVpcId")) + } + if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value. +func (s *CreateVpcPeeringAuthorizationInput) SetGameLiftAwsAccountId(v string) *CreateVpcPeeringAuthorizationInput { + s.GameLiftAwsAccountId = &v + return s +} + +// SetPeerVpcId sets the PeerVpcId field's value. +func (s *CreateVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *CreateVpcPeeringAuthorizationInput { + s.PeerVpcId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorizationOutput +type CreateVpcPeeringAuthorizationOutput struct { + _ struct{} `type:"structure"` + + // Details on the requested VPC peering authorization, including expiration. + VpcPeeringAuthorization *VpcPeeringAuthorization `type:"structure"` +} + +// String returns the string representation +func (s CreateVpcPeeringAuthorizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVpcPeeringAuthorizationOutput) GoString() string { + return s.String() +} + +// SetVpcPeeringAuthorization sets the VpcPeeringAuthorization field's value. +func (s *CreateVpcPeeringAuthorizationOutput) SetVpcPeeringAuthorization(v *VpcPeeringAuthorization) *CreateVpcPeeringAuthorizationOutput { + s.VpcPeeringAuthorization = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnectionInput +type CreateVpcPeeringConnectionInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet. This tells Amazon GameLift which GameLift + // VPC to peer with. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Unique identifier for the AWS account with the VPC that you want to peer + // your Amazon GameLift fleet with. You can find your Account ID in the AWS + // Management Console under account settings. + // + // PeerVpcAwsAccountId is a required field + PeerVpcAwsAccountId *string `min:"1" type:"string" required:"true"` + + // Unique identifier for a VPC with resources to be accessed by your Amazon + // GameLift fleet. The VPC must be in the same region where your fleet is deployed. + // To get VPC information, including IDs, use the Virtual Private Cloud service + // tools, including the VPC Dashboard in the AWS Management Console. + // + // PeerVpcId is a required field + PeerVpcId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateVpcPeeringConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVpcPeeringConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateVpcPeeringConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringConnectionInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.PeerVpcAwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("PeerVpcAwsAccountId")) + } + if s.PeerVpcAwsAccountId != nil && len(*s.PeerVpcAwsAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PeerVpcAwsAccountId", 1)) + } + if s.PeerVpcId == nil { + invalidParams.Add(request.NewErrParamRequired("PeerVpcId")) + } + if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *CreateVpcPeeringConnectionInput) SetFleetId(v string) *CreateVpcPeeringConnectionInput { + s.FleetId = &v + return s +} + +// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value. +func (s *CreateVpcPeeringConnectionInput) SetPeerVpcAwsAccountId(v string) *CreateVpcPeeringConnectionInput { + s.PeerVpcAwsAccountId = &v + return s +} + +// SetPeerVpcId sets the PeerVpcId field's value. +func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput { + s.PeerVpcId = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnectionOutput +type CreateVpcPeeringConnectionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateVpcPeeringConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVpcPeeringConnectionOutput) GoString() string { + return s.String() +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAliasInput +type DeleteAliasInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet alias. Specify the alias you want to delete. + // + // AliasId is a required field + AliasId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAliasInput"} + if s.AliasId == nil { + invalidParams.Add(request.NewErrParamRequired("AliasId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasId sets the AliasId field's value. +func (s *DeleteAliasInput) SetAliasId(v string) *DeleteAliasInput { + s.AliasId = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAliasOutput +type DeleteAliasOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAliasOutput) GoString() string { + return s.String() +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteBuildInput +type DeleteBuildInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a build to delete. + // + // BuildId is a required field + BuildId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteBuildInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBuildInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBuildInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBuildInput"} + if s.BuildId == nil { + invalidParams.Add(request.NewErrParamRequired("BuildId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBuildId sets the BuildId field's value. +func (s *DeleteBuildInput) SetBuildId(v string) *DeleteBuildInput { + s.BuildId = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteBuildOutput +type DeleteBuildOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteBuildOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBuildOutput) GoString() string { + return s.String() +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleetInput +type DeleteFleetInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet to be deleted. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteFleetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFleetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFleetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *DeleteFleetInput) SetFleetId(v string) *DeleteFleetInput { + s.FleetId = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleetOutput +type DeleteFleetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteFleetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFleetOutput) GoString() string { + return s.String() +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameSessionQueueInput +type DeleteGameSessionQueueInput struct { + _ struct{} `type:"structure"` + + // Descriptive label that is associated with game session queue. Queue names + // must be unique within each region. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteGameSessionQueueInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteGameSessionQueueInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteGameSessionQueueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGameSessionQueueInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteGameSessionQueueInput) SetName(v string) *DeleteGameSessionQueueInput { + s.Name = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameSessionQueueOutput +type DeleteGameSessionQueueOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteGameSessionQueueOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteGameSessionQueueOutput) GoString() string { + return s.String() +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfigurationInput +type DeleteMatchmakingConfigurationInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a matchmaking configuration + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteMatchmakingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteMatchmakingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMatchmakingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMatchmakingConfigurationInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteMatchmakingConfigurationInput) SetName(v string) *DeleteMatchmakingConfigurationInput { + s.Name = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfigurationOutput +type DeleteMatchmakingConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteMatchmakingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteMatchmakingConfigurationOutput) GoString() string { + return s.String() +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicyInput +type DeleteScalingPolicyInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet to be deleted. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Descriptive label that is associated with a scaling policy. Policy names + // do not need to be unique. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteScalingPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteScalingPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteScalingPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteScalingPolicyInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *DeleteScalingPolicyInput) SetFleetId(v string) *DeleteScalingPolicyInput { + s.FleetId = &v + return s +} + +// SetName sets the Name field's value. +func (s *DeleteScalingPolicyInput) SetName(v string) *DeleteScalingPolicyInput { + s.Name = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicyOutput +type DeleteScalingPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteScalingPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteScalingPolicyOutput) GoString() string { + return s.String() +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorizationInput +type DeleteVpcPeeringAuthorizationInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for the AWS account that you use to manage your Amazon + // GameLift fleet. You can find your Account ID in the AWS Management Console + // under account settings. + // + // GameLiftAwsAccountId is a required field + GameLiftAwsAccountId *string `min:"1" type:"string" required:"true"` + + // Unique identifier for a VPC with resources to be accessed by your Amazon + // GameLift fleet. The VPC must be in the same region where your fleet is deployed. + // To get VPC information, including IDs, use the Virtual Private Cloud service + // tools, including the VPC Dashboard in the AWS Management Console. + // + // PeerVpcId is a required field + PeerVpcId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteVpcPeeringAuthorizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVpcPeeringAuthorizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteVpcPeeringAuthorizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringAuthorizationInput"} + if s.GameLiftAwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("GameLiftAwsAccountId")) + } + if s.GameLiftAwsAccountId != nil && len(*s.GameLiftAwsAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameLiftAwsAccountId", 1)) + } + if s.PeerVpcId == nil { + invalidParams.Add(request.NewErrParamRequired("PeerVpcId")) + } + if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value. +func (s *DeleteVpcPeeringAuthorizationInput) SetGameLiftAwsAccountId(v string) *DeleteVpcPeeringAuthorizationInput { + s.GameLiftAwsAccountId = &v + return s +} + +// SetPeerVpcId sets the PeerVpcId field's value. +func (s *DeleteVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *DeleteVpcPeeringAuthorizationInput { + s.PeerVpcId = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorizationOutput +type DeleteVpcPeeringAuthorizationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteVpcPeeringAuthorizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVpcPeeringAuthorizationOutput) GoString() string { + return s.String() +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnectionInput +type DeleteVpcPeeringConnectionInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet. This value must match the fleet ID referenced + // in the VPC peering connection record. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Unique identifier for a VPC peering connection. This value is included in + // the VpcPeeringConnection object, which can be retrieved by calling DescribeVpcPeeringConnections. + // + // VpcPeeringConnectionId is a required field + VpcPeeringConnectionId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteVpcPeeringConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVpcPeeringConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteVpcPeeringConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.VpcPeeringConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId")) + } + if s.VpcPeeringConnectionId != nil && len(*s.VpcPeeringConnectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcPeeringConnectionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *DeleteVpcPeeringConnectionInput) SetFleetId(v string) *DeleteVpcPeeringConnectionInput { + s.FleetId = &v + return s +} + +// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value. +func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput { + s.VpcPeeringConnectionId = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnectionOutput +type DeleteVpcPeeringConnectionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteVpcPeeringConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVpcPeeringConnectionOutput) GoString() string { + return s.String() +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAliasInput +type DescribeAliasInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet alias. Specify the alias you want to retrieve. + // + // AliasId is a required field + AliasId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAliasInput"} + if s.AliasId == nil { + invalidParams.Add(request.NewErrParamRequired("AliasId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasId sets the AliasId field's value. +func (s *DescribeAliasInput) SetAliasId(v string) *DescribeAliasInput { + s.AliasId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAliasOutput +type DescribeAliasOutput struct { + _ struct{} `type:"structure"` + + // Object that contains the requested alias. + Alias *Alias `type:"structure"` +} + +// String returns the string representation +func (s DescribeAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAliasOutput) GoString() string { + return s.String() +} + +// SetAlias sets the Alias field's value. +func (s *DescribeAliasOutput) SetAlias(v *Alias) *DescribeAliasOutput { + s.Alias = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeBuildInput +type DescribeBuildInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a build to retrieve properties for. + // + // BuildId is a required field + BuildId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeBuildInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBuildInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeBuildInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBuildInput"} + if s.BuildId == nil { + invalidParams.Add(request.NewErrParamRequired("BuildId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBuildId sets the BuildId field's value. +func (s *DescribeBuildInput) SetBuildId(v string) *DescribeBuildInput { + s.BuildId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeBuildOutput +type DescribeBuildOutput struct { + _ struct{} `type:"structure"` + + // Set of properties describing the requested build. + Build *Build `type:"structure"` +} + +// String returns the string representation +func (s DescribeBuildOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBuildOutput) GoString() string { + return s.String() +} + +// SetBuild sets the Build field's value. +func (s *DescribeBuildOutput) SetBuild(v *Build) *DescribeBuildOutput { + s.Build = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeEC2InstanceLimitsInput +type DescribeEC2InstanceLimitsInput struct { + _ struct{} `type:"structure"` + + // Name of an EC2 instance type that is supported in Amazon GameLift. A fleet + // instance type determines the computing resources of each instance in the + // fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift + // supports the following EC2 instance types. See Amazon EC2 Instance Types + // (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. Leave + // this parameter blank to retrieve limits for all types. + EC2InstanceType *string `type:"string" enum:"EC2InstanceType"` +} + +// String returns the string representation +func (s DescribeEC2InstanceLimitsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEC2InstanceLimitsInput) GoString() string { + return s.String() +} + +// SetEC2InstanceType sets the EC2InstanceType field's value. +func (s *DescribeEC2InstanceLimitsInput) SetEC2InstanceType(v string) *DescribeEC2InstanceLimitsInput { + s.EC2InstanceType = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeEC2InstanceLimitsOutput +type DescribeEC2InstanceLimitsOutput struct { + _ struct{} `type:"structure"` + + // Object that contains the maximum number of instances for the specified instance + // type. + EC2InstanceLimits []*EC2InstanceLimit `type:"list"` +} + +// String returns the string representation +func (s DescribeEC2InstanceLimitsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEC2InstanceLimitsOutput) GoString() string { + return s.String() +} + +// SetEC2InstanceLimits sets the EC2InstanceLimits field's value. +func (s *DescribeEC2InstanceLimitsOutput) SetEC2InstanceLimits(v []*EC2InstanceLimit) *DescribeEC2InstanceLimitsOutput { + s.EC2InstanceLimits = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributesInput +type DescribeFleetAttributesInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet(s) to retrieve attributes for. To request attributes + // for all fleets, leave this parameter empty. + FleetIds []*string `min:"1" type:"list"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. This parameter is ignored when + // the request specifies one or a list of fleet IDs. + Limit *int64 `min:"1" type:"integer"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. This parameter + // is ignored when the request specifies one or a list of fleet IDs. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeFleetAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFleetAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFleetAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFleetAttributesInput"} + if s.FleetIds != nil && len(s.FleetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1)) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetIds sets the FleetIds field's value. +func (s *DescribeFleetAttributesInput) SetFleetIds(v []*string) *DescribeFleetAttributesInput { + s.FleetIds = v + return s +} + +// SetLimit sets the Limit field's value. +func (s *DescribeFleetAttributesInput) SetLimit(v int64) *DescribeFleetAttributesInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFleetAttributesInput) SetNextToken(v string) *DescribeFleetAttributesInput { + s.NextToken = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributesOutput +type DescribeFleetAttributesOutput struct { + _ struct{} `type:"structure"` + + // Collection of objects containing attribute metadata for each requested fleet + // ID. + FleetAttributes []*FleetAttributes `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeFleetAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFleetAttributesOutput) GoString() string { + return s.String() +} + +// SetFleetAttributes sets the FleetAttributes field's value. +func (s *DescribeFleetAttributesOutput) SetFleetAttributes(v []*FleetAttributes) *DescribeFleetAttributesOutput { + s.FleetAttributes = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFleetAttributesOutput) SetNextToken(v string) *DescribeFleetAttributesOutput { + s.NextToken = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacityInput +type DescribeFleetCapacityInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet(s) to retrieve capacity information for. To + // request capacity information for all fleets, leave this parameter empty. + FleetIds []*string `min:"1" type:"list"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. This parameter is ignored when + // the request specifies one or a list of fleet IDs. + Limit *int64 `min:"1" type:"integer"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. This parameter + // is ignored when the request specifies one or a list of fleet IDs. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeFleetCapacityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFleetCapacityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFleetCapacityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFleetCapacityInput"} + if s.FleetIds != nil && len(s.FleetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1)) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetIds sets the FleetIds field's value. +func (s *DescribeFleetCapacityInput) SetFleetIds(v []*string) *DescribeFleetCapacityInput { + s.FleetIds = v + return s +} + +// SetLimit sets the Limit field's value. +func (s *DescribeFleetCapacityInput) SetLimit(v int64) *DescribeFleetCapacityInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFleetCapacityInput) SetNextToken(v string) *DescribeFleetCapacityInput { + s.NextToken = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacityOutput +type DescribeFleetCapacityOutput struct { + _ struct{} `type:"structure"` + + // Collection of objects containing capacity information for each requested + // fleet ID. Leave this parameter empty to retrieve capacity information for + // all fleets. + FleetCapacity []*FleetCapacity `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeFleetCapacityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFleetCapacityOutput) GoString() string { + return s.String() +} + +// SetFleetCapacity sets the FleetCapacity field's value. +func (s *DescribeFleetCapacityOutput) SetFleetCapacity(v []*FleetCapacity) *DescribeFleetCapacityOutput { + s.FleetCapacity = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFleetCapacityOutput) SetNextToken(v string) *DescribeFleetCapacityOutput { + s.NextToken = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEventsInput +type DescribeFleetEventsInput struct { + _ struct{} `type:"structure"` + + // Most recent date to retrieve event logs for. If no end time is specified, + // this call returns entries from the specified start time up to the present. + // Format is a number expressed in Unix time as milliseconds (ex: "1469498468.057"). + EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Unique identifier for a fleet to get event logs for. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int64 `min:"1" type:"integer"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` + + // Earliest date to retrieve event logs for. If no start time is specified, + // this call returns entries starting from when the fleet was created to the + // specified end time. Format is a number expressed in Unix time as milliseconds + // (ex: "1469498468.057"). + StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` +} + +// String returns the string representation +func (s DescribeFleetEventsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFleetEventsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFleetEventsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFleetEventsInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *DescribeFleetEventsInput) SetEndTime(v time.Time) *DescribeFleetEventsInput { + s.EndTime = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *DescribeFleetEventsInput) SetFleetId(v string) *DescribeFleetEventsInput { + s.FleetId = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *DescribeFleetEventsInput) SetLimit(v int64) *DescribeFleetEventsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFleetEventsInput) SetNextToken(v string) *DescribeFleetEventsInput { + s.NextToken = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *DescribeFleetEventsInput) SetStartTime(v time.Time) *DescribeFleetEventsInput { + s.StartTime = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEventsOutput +type DescribeFleetEventsOutput struct { + _ struct{} `type:"structure"` + + // Collection of objects containing event log entries for the specified fleet. + Events []*Event `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeFleetEventsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFleetEventsOutput) GoString() string { + return s.String() +} + +// SetEvents sets the Events field's value. +func (s *DescribeFleetEventsOutput) SetEvents(v []*Event) *DescribeFleetEventsOutput { + s.Events = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFleetEventsOutput) SetNextToken(v string) *DescribeFleetEventsOutput { + s.NextToken = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetPortSettingsInput +type DescribeFleetPortSettingsInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet to retrieve port settings for. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeFleetPortSettingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFleetPortSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFleetPortSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFleetPortSettingsInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *DescribeFleetPortSettingsInput) SetFleetId(v string) *DescribeFleetPortSettingsInput { + s.FleetId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetPortSettingsOutput +type DescribeFleetPortSettingsOutput struct { + _ struct{} `type:"structure"` + + // Object that contains port settings for the requested fleet ID. + InboundPermissions []*IpPermission `type:"list"` +} + +// String returns the string representation +func (s DescribeFleetPortSettingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFleetPortSettingsOutput) GoString() string { + return s.String() +} + +// SetInboundPermissions sets the InboundPermissions field's value. +func (s *DescribeFleetPortSettingsOutput) SetInboundPermissions(v []*IpPermission) *DescribeFleetPortSettingsOutput { + s.InboundPermissions = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetUtilizationInput +type DescribeFleetUtilizationInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet(s) to retrieve utilization data for. To request + // utilization data for all fleets, leave this parameter empty. + FleetIds []*string `min:"1" type:"list"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. This parameter is ignored when + // the request specifies one or a list of fleet IDs. + Limit *int64 `min:"1" type:"integer"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. This parameter + // is ignored when the request specifies one or a list of fleet IDs. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeFleetUtilizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFleetUtilizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFleetUtilizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFleetUtilizationInput"} + if s.FleetIds != nil && len(s.FleetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1)) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetIds sets the FleetIds field's value. +func (s *DescribeFleetUtilizationInput) SetFleetIds(v []*string) *DescribeFleetUtilizationInput { + s.FleetIds = v + return s +} + +// SetLimit sets the Limit field's value. +func (s *DescribeFleetUtilizationInput) SetLimit(v int64) *DescribeFleetUtilizationInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFleetUtilizationInput) SetNextToken(v string) *DescribeFleetUtilizationInput { + s.NextToken = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetUtilizationOutput +type DescribeFleetUtilizationOutput struct { + _ struct{} `type:"structure"` + + // Collection of objects containing utilization information for each requested + // fleet ID. + FleetUtilization []*FleetUtilization `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeFleetUtilizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFleetUtilizationOutput) GoString() string { + return s.String() +} + +// SetFleetUtilization sets the FleetUtilization field's value. +func (s *DescribeFleetUtilizationOutput) SetFleetUtilization(v []*FleetUtilization) *DescribeFleetUtilizationOutput { + s.FleetUtilization = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFleetUtilizationOutput) SetNextToken(v string) *DescribeFleetUtilizationOutput { + s.NextToken = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionDetailsInput +type DescribeGameSessionDetailsInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for an alias associated with the fleet to retrieve all + // game sessions for. + AliasId *string `type:"string"` + + // Unique identifier for a fleet to retrieve all game sessions active on the + // fleet. + FleetId *string `type:"string"` + + // Unique identifier for the game session to retrieve. + GameSessionId *string `min:"1" type:"string"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int64 `min:"1" type:"integer"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` + + // Game session status to filter results on. Possible game session statuses + // include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are + // transitory). + StatusFilter *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeGameSessionDetailsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGameSessionDetailsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeGameSessionDetailsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionDetailsInput"} + if s.GameSessionId != nil && len(*s.GameSessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1)) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.StatusFilter != nil && len(*s.StatusFilter) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StatusFilter", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasId sets the AliasId field's value. +func (s *DescribeGameSessionDetailsInput) SetAliasId(v string) *DescribeGameSessionDetailsInput { + s.AliasId = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *DescribeGameSessionDetailsInput) SetFleetId(v string) *DescribeGameSessionDetailsInput { + s.FleetId = &v + return s +} + +// SetGameSessionId sets the GameSessionId field's value. +func (s *DescribeGameSessionDetailsInput) SetGameSessionId(v string) *DescribeGameSessionDetailsInput { + s.GameSessionId = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *DescribeGameSessionDetailsInput) SetLimit(v int64) *DescribeGameSessionDetailsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeGameSessionDetailsInput) SetNextToken(v string) *DescribeGameSessionDetailsInput { + s.NextToken = &v + return s +} + +// SetStatusFilter sets the StatusFilter field's value. +func (s *DescribeGameSessionDetailsInput) SetStatusFilter(v string) *DescribeGameSessionDetailsInput { + s.StatusFilter = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionDetailsOutput +type DescribeGameSessionDetailsOutput struct { + _ struct{} `type:"structure"` + + // Collection of objects containing game session properties and the protection + // policy currently in force for each session matching the request. + GameSessionDetails []*GameSessionDetail `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeGameSessionDetailsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGameSessionDetailsOutput) GoString() string { + return s.String() +} + +// SetGameSessionDetails sets the GameSessionDetails field's value. +func (s *DescribeGameSessionDetailsOutput) SetGameSessionDetails(v []*GameSessionDetail) *DescribeGameSessionDetailsOutput { + s.GameSessionDetails = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeGameSessionDetailsOutput) SetNextToken(v string) *DescribeGameSessionDetailsOutput { + s.NextToken = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacementInput +type DescribeGameSessionPlacementInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a game session placement to retrieve. + // + // PlacementId is a required field + PlacementId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeGameSessionPlacementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGameSessionPlacementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeGameSessionPlacementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionPlacementInput"} + if s.PlacementId == nil { + invalidParams.Add(request.NewErrParamRequired("PlacementId")) + } + if s.PlacementId != nil && len(*s.PlacementId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPlacementId sets the PlacementId field's value. +func (s *DescribeGameSessionPlacementInput) SetPlacementId(v string) *DescribeGameSessionPlacementInput { + s.PlacementId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacementOutput +type DescribeGameSessionPlacementOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the requested game session placement. + GameSessionPlacement *GameSessionPlacement `type:"structure"` +} + +// String returns the string representation +func (s DescribeGameSessionPlacementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGameSessionPlacementOutput) GoString() string { + return s.String() +} + +// SetGameSessionPlacement sets the GameSessionPlacement field's value. +func (s *DescribeGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *DescribeGameSessionPlacementOutput { + s.GameSessionPlacement = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionQueuesInput +type DescribeGameSessionQueuesInput struct { + _ struct{} `type:"structure"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int64 `min:"1" type:"integer"` + + // List of queue names to retrieve information for. To request settings for + // all queues, leave this parameter empty. + Names []*string `type:"list"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeGameSessionQueuesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGameSessionQueuesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeGameSessionQueuesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionQueuesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *DescribeGameSessionQueuesInput) SetLimit(v int64) *DescribeGameSessionQueuesInput { + s.Limit = &v + return s +} + +// SetNames sets the Names field's value. +func (s *DescribeGameSessionQueuesInput) SetNames(v []*string) *DescribeGameSessionQueuesInput { + s.Names = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeGameSessionQueuesInput) SetNextToken(v string) *DescribeGameSessionQueuesInput { + s.NextToken = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionQueuesOutput +type DescribeGameSessionQueuesOutput struct { + _ struct{} `type:"structure"` + + // Collection of objects that describes the requested game session queues. + GameSessionQueues []*GameSessionQueue `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeGameSessionQueuesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGameSessionQueuesOutput) GoString() string { + return s.String() +} + +// SetGameSessionQueues sets the GameSessionQueues field's value. +func (s *DescribeGameSessionQueuesOutput) SetGameSessionQueues(v []*GameSessionQueue) *DescribeGameSessionQueuesOutput { + s.GameSessionQueues = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeGameSessionQueuesOutput) SetNextToken(v string) *DescribeGameSessionQueuesOutput { + s.NextToken = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionsInput +type DescribeGameSessionsInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for an alias associated with the fleet to retrieve all + // game sessions for. + AliasId *string `type:"string"` + + // Unique identifier for a fleet to retrieve all game sessions for. + FleetId *string `type:"string"` + + // Unique identifier for the game session to retrieve. You can use either a + // GameSessionId or GameSessionArn value. + GameSessionId *string `min:"1" type:"string"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int64 `min:"1" type:"integer"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` + + // Game session status to filter results on. Possible game session statuses + // include ACTIVE, TERMINATED, ACTIVATING, and TERMINATING (the last two are + // transitory). + StatusFilter *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeGameSessionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGameSessionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeGameSessionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionsInput"} + if s.GameSessionId != nil && len(*s.GameSessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1)) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.StatusFilter != nil && len(*s.StatusFilter) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StatusFilter", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasId sets the AliasId field's value. +func (s *DescribeGameSessionsInput) SetAliasId(v string) *DescribeGameSessionsInput { + s.AliasId = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *DescribeGameSessionsInput) SetFleetId(v string) *DescribeGameSessionsInput { + s.FleetId = &v + return s +} + +// SetGameSessionId sets the GameSessionId field's value. +func (s *DescribeGameSessionsInput) SetGameSessionId(v string) *DescribeGameSessionsInput { + s.GameSessionId = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *DescribeGameSessionsInput) SetLimit(v int64) *DescribeGameSessionsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeGameSessionsInput) SetNextToken(v string) *DescribeGameSessionsInput { + s.NextToken = &v + return s +} + +// SetStatusFilter sets the StatusFilter field's value. +func (s *DescribeGameSessionsInput) SetStatusFilter(v string) *DescribeGameSessionsInput { + s.StatusFilter = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionsOutput +type DescribeGameSessionsOutput struct { + _ struct{} `type:"structure"` + + // Collection of objects containing game session properties for each session + // matching the request. + GameSessions []*GameSession `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeGameSessionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGameSessionsOutput) GoString() string { + return s.String() +} + +// SetGameSessions sets the GameSessions field's value. +func (s *DescribeGameSessionsOutput) SetGameSessions(v []*GameSession) *DescribeGameSessionsOutput { + s.GameSessions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeGameSessionsOutput) SetNextToken(v string) *DescribeGameSessionsOutput { + s.NextToken = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeInstancesInput +type DescribeInstancesInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet to retrieve instance information for. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Unique identifier for an instance to retrieve. Specify an instance ID or + // leave blank to retrieve all instances in the fleet. + InstanceId *string `type:"string"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int64 `min:"1" type:"integer"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInstancesInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *DescribeInstancesInput) SetFleetId(v string) *DescribeInstancesInput { + s.FleetId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DescribeInstancesInput) SetInstanceId(v string) *DescribeInstancesInput { + s.InstanceId = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *DescribeInstancesInput) SetLimit(v int64) *DescribeInstancesInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput { + s.NextToken = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeInstancesOutput +type DescribeInstancesOutput struct { + _ struct{} `type:"structure"` + + // Collection of objects containing properties for each instance returned. + Instances []*Instance `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeInstancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstancesOutput) GoString() string { + return s.String() +} + +// SetInstances sets the Instances field's value. +func (s *DescribeInstancesOutput) SetInstances(v []*Instance) *DescribeInstancesOutput { + s.Instances = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput { + s.NextToken = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurationsInput +type DescribeMatchmakingConfigurationsInput struct { + _ struct{} `type:"structure"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. This parameter is limited to 10. + Limit *int64 `min:"1" type:"integer"` + + // Unique identifier for a matchmaking configuration(s) to retrieve. To request + // all existing configurations, leave this parameter empty. + Names []*string `type:"list"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` + + // Unique identifier for a matchmaking rule set. Use this parameter to retrieve + // all matchmaking configurations that use this rule set. + RuleSetName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeMatchmakingConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMatchmakingConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMatchmakingConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingConfigurationsInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.RuleSetName != nil && len(*s.RuleSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *DescribeMatchmakingConfigurationsInput) SetLimit(v int64) *DescribeMatchmakingConfigurationsInput { + s.Limit = &v + return s +} + +// SetNames sets the Names field's value. +func (s *DescribeMatchmakingConfigurationsInput) SetNames(v []*string) *DescribeMatchmakingConfigurationsInput { + s.Names = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMatchmakingConfigurationsInput) SetNextToken(v string) *DescribeMatchmakingConfigurationsInput { + s.NextToken = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *DescribeMatchmakingConfigurationsInput) SetRuleSetName(v string) *DescribeMatchmakingConfigurationsInput { + s.RuleSetName = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurationsOutput +type DescribeMatchmakingConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // Collection of requested matchmaking configuration objects. + Configurations []*MatchmakingConfiguration `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeMatchmakingConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMatchmakingConfigurationsOutput) GoString() string { + return s.String() +} + +// SetConfigurations sets the Configurations field's value. +func (s *DescribeMatchmakingConfigurationsOutput) SetConfigurations(v []*MatchmakingConfiguration) *DescribeMatchmakingConfigurationsOutput { + s.Configurations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMatchmakingConfigurationsOutput) SetNextToken(v string) *DescribeMatchmakingConfigurationsOutput { + s.NextToken = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingInput +type DescribeMatchmakingInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a matchmaking ticket. To request all existing tickets, + // leave this parameter empty. + // + // TicketIds is a required field + TicketIds []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeMatchmakingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMatchmakingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMatchmakingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingInput"} + if s.TicketIds == nil { + invalidParams.Add(request.NewErrParamRequired("TicketIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTicketIds sets the TicketIds field's value. +func (s *DescribeMatchmakingInput) SetTicketIds(v []*string) *DescribeMatchmakingInput { + s.TicketIds = v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingOutput +type DescribeMatchmakingOutput struct { + _ struct{} `type:"structure"` + + // Collection of existing matchmaking ticket objects matching the request. + TicketList []*MatchmakingTicket `type:"list"` +} + +// String returns the string representation +func (s DescribeMatchmakingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMatchmakingOutput) GoString() string { + return s.String() +} + +// SetTicketList sets the TicketList field's value. +func (s *DescribeMatchmakingOutput) SetTicketList(v []*MatchmakingTicket) *DescribeMatchmakingOutput { + s.TicketList = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSetsInput +type DescribeMatchmakingRuleSetsInput struct { + _ struct{} `type:"structure"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int64 `min:"1" type:"integer"` + + // Unique identifier for a matchmaking rule set. This name is used to identify + // the rule set associated with a matchmaking configuration. + Names []*string `min:"1" type:"list"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeMatchmakingRuleSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMatchmakingRuleSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMatchmakingRuleSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingRuleSetsInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.Names != nil && len(s.Names) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Names", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *DescribeMatchmakingRuleSetsInput) SetLimit(v int64) *DescribeMatchmakingRuleSetsInput { + s.Limit = &v + return s +} + +// SetNames sets the Names field's value. +func (s *DescribeMatchmakingRuleSetsInput) SetNames(v []*string) *DescribeMatchmakingRuleSetsInput { + s.Names = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMatchmakingRuleSetsInput) SetNextToken(v string) *DescribeMatchmakingRuleSetsInput { + s.NextToken = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSetsOutput +type DescribeMatchmakingRuleSetsOutput struct { + _ struct{} `type:"structure"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` + + // Collection of requested matchmaking rule set objects. + // + // RuleSets is a required field + RuleSets []*MatchmakingRuleSet `type:"list" required:"true"` +} + +// String returns the string representation +func (s DescribeMatchmakingRuleSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMatchmakingRuleSetsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMatchmakingRuleSetsOutput) SetNextToken(v string) *DescribeMatchmakingRuleSetsOutput { + s.NextToken = &v + return s +} + +// SetRuleSets sets the RuleSets field's value. +func (s *DescribeMatchmakingRuleSetsOutput) SetRuleSets(v []*MatchmakingRuleSet) *DescribeMatchmakingRuleSetsOutput { + s.RuleSets = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessionsInput +type DescribePlayerSessionsInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for the game session to retrieve player sessions for. + GameSessionId *string `min:"1" type:"string"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. If a player session ID is specified, + // this parameter is ignored. + Limit *int64 `min:"1" type:"integer"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. If a player session + // ID is specified, this parameter is ignored. + NextToken *string `min:"1" type:"string"` + + // Unique identifier for a player to retrieve player sessions for. + PlayerId *string `min:"1" type:"string"` + + // Unique identifier for a player session to retrieve. + PlayerSessionId *string `type:"string"` + + // Player session status to filter results on. + // + // Possible player session statuses include the following: + // + // * RESERVED -- The player session request has been received, but the player + // has not yet connected to the server process and/or been validated. + // + // * ACTIVE -- The player has been validated by the server process and is + // currently connected. + // + // * COMPLETED -- The player connection has been dropped. + // + // * TIMEDOUT -- A player session request was received, but the player did + // not connect and/or was not validated within the timeout limit (60 seconds). + PlayerSessionStatusFilter *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribePlayerSessionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePlayerSessionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribePlayerSessionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribePlayerSessionsInput"} + if s.GameSessionId != nil && len(*s.GameSessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1)) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.PlayerId != nil && len(*s.PlayerId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1)) + } + if s.PlayerSessionStatusFilter != nil && len(*s.PlayerSessionStatusFilter) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlayerSessionStatusFilter", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGameSessionId sets the GameSessionId field's value. +func (s *DescribePlayerSessionsInput) SetGameSessionId(v string) *DescribePlayerSessionsInput { + s.GameSessionId = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *DescribePlayerSessionsInput) SetLimit(v int64) *DescribePlayerSessionsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribePlayerSessionsInput) SetNextToken(v string) *DescribePlayerSessionsInput { + s.NextToken = &v + return s +} + +// SetPlayerId sets the PlayerId field's value. +func (s *DescribePlayerSessionsInput) SetPlayerId(v string) *DescribePlayerSessionsInput { + s.PlayerId = &v + return s +} + +// SetPlayerSessionId sets the PlayerSessionId field's value. +func (s *DescribePlayerSessionsInput) SetPlayerSessionId(v string) *DescribePlayerSessionsInput { + s.PlayerSessionId = &v + return s +} + +// SetPlayerSessionStatusFilter sets the PlayerSessionStatusFilter field's value. +func (s *DescribePlayerSessionsInput) SetPlayerSessionStatusFilter(v string) *DescribePlayerSessionsInput { + s.PlayerSessionStatusFilter = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessionsOutput +type DescribePlayerSessionsOutput struct { + _ struct{} `type:"structure"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` + + // Collection of objects containing properties for each player session that + // matches the request. + PlayerSessions []*PlayerSession `type:"list"` +} + +// String returns the string representation +func (s DescribePlayerSessionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribePlayerSessionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribePlayerSessionsOutput) SetNextToken(v string) *DescribePlayerSessionsOutput { + s.NextToken = &v + return s +} + +// SetPlayerSessions sets the PlayerSessions field's value. +func (s *DescribePlayerSessionsOutput) SetPlayerSessions(v []*PlayerSession) *DescribePlayerSessionsOutput { + s.PlayerSessions = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeRuntimeConfigurationInput +type DescribeRuntimeConfigurationInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet to get the run-time configuration for. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeRuntimeConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRuntimeConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeRuntimeConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeRuntimeConfigurationInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *DescribeRuntimeConfigurationInput) SetFleetId(v string) *DescribeRuntimeConfigurationInput { + s.FleetId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeRuntimeConfigurationOutput +type DescribeRuntimeConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Instructions describing how server processes should be launched and maintained + // on each instance in the fleet. + RuntimeConfiguration *RuntimeConfiguration `type:"structure"` +} + +// String returns the string representation +func (s DescribeRuntimeConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRuntimeConfigurationOutput) GoString() string { + return s.String() +} + +// SetRuntimeConfiguration sets the RuntimeConfiguration field's value. +func (s *DescribeRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeConfiguration) *DescribeRuntimeConfigurationOutput { + s.RuntimeConfiguration = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScalingPoliciesInput +type DescribeScalingPoliciesInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet to retrieve scaling policies for. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int64 `min:"1" type:"integer"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` + + // Scaling policy status to filter results on. A scaling policy is only in force + // when in an ACTIVE status. + // + // * ACTIVE -- The scaling policy is currently in force. + // + // * UPDATEREQUESTED -- A request to update the scaling policy has been received. + // + // * UPDATING -- A change is being made to the scaling policy. + // + // * DELETEREQUESTED -- A request to delete the scaling policy has been received. + // + // * DELETING -- The scaling policy is being deleted. + // + // * DELETED -- The scaling policy has been deleted. + // + // * ERROR -- An error occurred in creating the policy. It should be removed + // and recreated. + StatusFilter *string `type:"string" enum:"ScalingStatusType"` +} + +// String returns the string representation +func (s DescribeScalingPoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScalingPoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeScalingPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeScalingPoliciesInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *DescribeScalingPoliciesInput) SetFleetId(v string) *DescribeScalingPoliciesInput { + s.FleetId = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *DescribeScalingPoliciesInput) SetLimit(v int64) *DescribeScalingPoliciesInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeScalingPoliciesInput) SetNextToken(v string) *DescribeScalingPoliciesInput { + s.NextToken = &v + return s +} + +// SetStatusFilter sets the StatusFilter field's value. +func (s *DescribeScalingPoliciesInput) SetStatusFilter(v string) *DescribeScalingPoliciesInput { + s.StatusFilter = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScalingPoliciesOutput +type DescribeScalingPoliciesOutput struct { + _ struct{} `type:"structure"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` + + // Collection of objects containing the scaling policies matching the request. + ScalingPolicies []*ScalingPolicy `type:"list"` +} + +// String returns the string representation +func (s DescribeScalingPoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeScalingPoliciesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeScalingPoliciesOutput) SetNextToken(v string) *DescribeScalingPoliciesOutput { + s.NextToken = &v + return s +} + +// SetScalingPolicies sets the ScalingPolicies field's value. +func (s *DescribeScalingPoliciesOutput) SetScalingPolicies(v []*ScalingPolicy) *DescribeScalingPoliciesOutput { + s.ScalingPolicies = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizationsInput +type DescribeVpcPeeringAuthorizationsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DescribeVpcPeeringAuthorizationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeVpcPeeringAuthorizationsInput) GoString() string { + return s.String() +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizationsOutput +type DescribeVpcPeeringAuthorizationsOutput struct { + _ struct{} `type:"structure"` + + // Collection of objects that describe all valid VPC peering operations for + // the current AWS account. + VpcPeeringAuthorizations []*VpcPeeringAuthorization `type:"list"` +} + +// String returns the string representation +func (s DescribeVpcPeeringAuthorizationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeVpcPeeringAuthorizationsOutput) GoString() string { + return s.String() +} + +// SetVpcPeeringAuthorizations sets the VpcPeeringAuthorizations field's value. +func (s *DescribeVpcPeeringAuthorizationsOutput) SetVpcPeeringAuthorizations(v []*VpcPeeringAuthorization) *DescribeVpcPeeringAuthorizationsOutput { + s.VpcPeeringAuthorizations = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnectionsInput +type DescribeVpcPeeringConnectionsInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet. + FleetId *string `type:"string"` +} + +// String returns the string representation +func (s DescribeVpcPeeringConnectionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeVpcPeeringConnectionsInput) GoString() string { + return s.String() +} + +// SetFleetId sets the FleetId field's value. +func (s *DescribeVpcPeeringConnectionsInput) SetFleetId(v string) *DescribeVpcPeeringConnectionsInput { + s.FleetId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnectionsOutput +type DescribeVpcPeeringConnectionsOutput struct { + _ struct{} `type:"structure"` + + // Collection of VPC peering connection records that match the request. + VpcPeeringConnections []*VpcPeeringConnection `type:"list"` +} + +// String returns the string representation +func (s DescribeVpcPeeringConnectionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeVpcPeeringConnectionsOutput) GoString() string { + return s.String() +} + +// SetVpcPeeringConnections sets the VpcPeeringConnections field's value. +func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput { + s.VpcPeeringConnections = v + return s +} + +// Player information for use when creating player sessions using a game session +// placement request with StartGameSessionPlacement. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DesiredPlayerSession +type DesiredPlayerSession struct { + _ struct{} `type:"structure"` + + // Developer-defined information related to a player. Amazon GameLift does not + // use this data, so it can be formatted as needed for use in the game. + PlayerData *string `min:"1" type:"string"` + + // Unique identifier for a player to associate with the player session. + PlayerId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DesiredPlayerSession) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DesiredPlayerSession) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DesiredPlayerSession) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DesiredPlayerSession"} + if s.PlayerData != nil && len(*s.PlayerData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlayerData", 1)) + } + if s.PlayerId != nil && len(*s.PlayerId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPlayerData sets the PlayerData field's value. +func (s *DesiredPlayerSession) SetPlayerData(v string) *DesiredPlayerSession { + s.PlayerData = &v + return s +} + +// SetPlayerId sets the PlayerId field's value. +func (s *DesiredPlayerSession) SetPlayerId(v string) *DesiredPlayerSession { + s.PlayerId = &v + return s +} + +// Current status of fleet capacity. The number of active instances should match +// or be in the process of matching the number of desired instances. Pending +// and terminating counts are non-zero only if fleet capacity is adjusting to +// an UpdateFleetCapacity request, or if access to resources is temporarily +// affected. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/EC2InstanceCounts +type EC2InstanceCounts struct { + _ struct{} `type:"structure"` + + // Actual number of active instances in the fleet. + ACTIVE *int64 `type:"integer"` + + // Ideal number of active instances in the fleet. + DESIRED *int64 `type:"integer"` + + // Number of active instances in the fleet that are not currently hosting a + // game session. + IDLE *int64 `type:"integer"` + + // Maximum value allowed for the fleet's instance count. + MAXIMUM *int64 `type:"integer"` + + // Minimum value allowed for the fleet's instance count. + MINIMUM *int64 `type:"integer"` + + // Number of instances in the fleet that are starting but not yet active. + PENDING *int64 `type:"integer"` + + // Number of instances in the fleet that are no longer active but haven't yet + // been terminated. + TERMINATING *int64 `type:"integer"` +} + +// String returns the string representation +func (s EC2InstanceCounts) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EC2InstanceCounts) GoString() string { + return s.String() +} + +// SetACTIVE sets the ACTIVE field's value. +func (s *EC2InstanceCounts) SetACTIVE(v int64) *EC2InstanceCounts { + s.ACTIVE = &v + return s +} + +// SetDESIRED sets the DESIRED field's value. +func (s *EC2InstanceCounts) SetDESIRED(v int64) *EC2InstanceCounts { + s.DESIRED = &v + return s +} + +// SetIDLE sets the IDLE field's value. +func (s *EC2InstanceCounts) SetIDLE(v int64) *EC2InstanceCounts { + s.IDLE = &v + return s +} + +// SetMAXIMUM sets the MAXIMUM field's value. +func (s *EC2InstanceCounts) SetMAXIMUM(v int64) *EC2InstanceCounts { + s.MAXIMUM = &v + return s +} + +// SetMINIMUM sets the MINIMUM field's value. +func (s *EC2InstanceCounts) SetMINIMUM(v int64) *EC2InstanceCounts { + s.MINIMUM = &v + return s +} + +// SetPENDING sets the PENDING field's value. +func (s *EC2InstanceCounts) SetPENDING(v int64) *EC2InstanceCounts { + s.PENDING = &v + return s +} + +// SetTERMINATING sets the TERMINATING field's value. +func (s *EC2InstanceCounts) SetTERMINATING(v int64) *EC2InstanceCounts { + s.TERMINATING = &v + return s +} + +// Maximum number of instances allowed based on the Amazon Elastic Compute Cloud +// (Amazon EC2) instance type. Instance limits can be retrieved by calling DescribeEC2InstanceLimits. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/EC2InstanceLimit +type EC2InstanceLimit struct { + _ struct{} `type:"structure"` + + // Number of instances of the specified type that are currently in use by this + // AWS account. + CurrentInstances *int64 `type:"integer"` + + // Name of an EC2 instance type that is supported in Amazon GameLift. A fleet + // instance type determines the computing resources of each instance in the + // fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift + // supports the following EC2 instance types. See Amazon EC2 Instance Types + // (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. + EC2InstanceType *string `type:"string" enum:"EC2InstanceType"` + + // Number of instances allowed. + InstanceLimit *int64 `type:"integer"` +} + +// String returns the string representation +func (s EC2InstanceLimit) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EC2InstanceLimit) GoString() string { + return s.String() +} + +// SetCurrentInstances sets the CurrentInstances field's value. +func (s *EC2InstanceLimit) SetCurrentInstances(v int64) *EC2InstanceLimit { + s.CurrentInstances = &v + return s +} + +// SetEC2InstanceType sets the EC2InstanceType field's value. +func (s *EC2InstanceLimit) SetEC2InstanceType(v string) *EC2InstanceLimit { + s.EC2InstanceType = &v + return s +} + +// SetInstanceLimit sets the InstanceLimit field's value. +func (s *EC2InstanceLimit) SetInstanceLimit(v int64) *EC2InstanceLimit { + s.InstanceLimit = &v + return s +} + +// Log entry describing an event that involves Amazon GameLift resources (such +// as a fleet). In addition to tracking activity, event codes and messages can +// provide additional information for troubleshooting and debugging problems. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/Event +type Event struct { + _ struct{} `type:"structure"` + + // Type of event being logged. The following events are currently in use: + // + // General events: + // + // * GENERIC_EVENT -- An unspecified event has occurred. + // + // Fleet creation events: + // + // * FLEET_CREATED -- A fleet record was successfully created with a status + // of NEW. Event messaging includes the fleet ID. + // + // * FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to DOWNLOADING. + // The compressed build has started downloading to a fleet instance for installation. + // + // * FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the + // fleet instance. + // + // * FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully + // downloaded to an instance, and the build files are now being extracted + // from the uploaded build and saved to an instance. Failure at this stage + // prevents a fleet from moving to ACTIVE status. Logs for this stage display + // a list of the files that are extracted and saved on the instance. Access + // the logs by using the URL in PreSignedLogUrl. + // + // * FLEET_CREATION_RUNNING_INSTALLER – The game server build files were + // successfully extracted, and the Amazon GameLift is now running the build's + // install script (if one is included). Failure in this stage prevents a + // fleet from moving to ACTIVE status. Logs for this stage list the installation + // steps and whether or not the install completed successfully. Access the + // logs by using the URL in PreSignedLogUrl. + // + // * FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful, + // and the Amazon GameLift is now verifying that the game server launch paths, + // which are specified in the fleet's run-time configuration, exist. If any + // listed launch path exists, Amazon GameLift tries to launch a game server + // process and waits for the process to report ready. Failures in this stage + // prevent a fleet from moving to ACTIVE status. Logs for this stage list + // the launch paths in the run-time configuration and indicate whether each + // is found. Access the logs by using the URL in PreSignedLogUrl. + // + // * FLEET_STATE_VALIDATING -- Fleet status changed from DOWNLOADING to VALIDATING. + // + // * FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the run-time + // configuration failed because the executable specified in a launch path + // does not exist on the instance. + // + // * FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING to BUILDING. + // + // * FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the run-time + // configuration failed because the executable specified in a launch path + // failed to run on the fleet instance. + // + // * FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING to ACTIVATING. + // + // + // * FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete + // one of the steps in the fleet activation process. This event code indicates + // that the game build was successfully downloaded to a fleet instance, built, + // and validated, but was not able to start a server process. A possible + // reason for failure is that the game server is not reporting "process ready" + // to the Amazon GameLift service. + // + // * FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to + // ACTIVE. The fleet is now ready to host game sessions. + // + // VPC peering events: + // + // * FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established + // between the VPC for an Amazon GameLift fleet and a VPC in your AWS account. + // + // * FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. + // Event details and status information (see DescribeVpcPeeringConnections) + // provide additional detail. A common reason for peering failure is that + // the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve + // this, change the CIDR block for the VPC in your AWS account. For more + // information on VPC peering failures, see http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html + // (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html) + // + // * FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully + // deleted. + // + // Other fleet events: + // + // * FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings + // (desired instances, minimum/maximum scaling limits). Event messaging includes + // the new capacity settings. + // + // * FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made + // to the fleet's game session protection policy setting. Event messaging + // includes both the old and new policy setting. + // + // * FLEET_DELETED -- A request to delete a fleet was initiated. + EventCode *string `type:"string" enum:"EventCode"` + + // Unique identifier for a fleet event. + EventId *string `min:"1" type:"string"` + + // Time stamp indicating when this event occurred. Format is a number expressed + // in Unix time as milliseconds (for example "1469498468.057"). + EventTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Additional information related to the event. + Message *string `min:"1" type:"string"` + + // Location of stored logs with additional detail that is related to the event. + // This is useful for debugging issues. The URL is valid for 15 minutes. You + // can also access fleet creation logs through the Amazon GameLift console. + PreSignedLogUrl *string `min:"1" type:"string"` + + // Unique identifier for an event resource, such as a fleet ID. + ResourceId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s Event) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Event) GoString() string { + return s.String() +} + +// SetEventCode sets the EventCode field's value. +func (s *Event) SetEventCode(v string) *Event { + s.EventCode = &v + return s +} + +// SetEventId sets the EventId field's value. +func (s *Event) SetEventId(v string) *Event { + s.EventId = &v + return s +} + +// SetEventTime sets the EventTime field's value. +func (s *Event) SetEventTime(v time.Time) *Event { + s.EventTime = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *Event) SetMessage(v string) *Event { + s.Message = &v + return s +} + +// SetPreSignedLogUrl sets the PreSignedLogUrl field's value. +func (s *Event) SetPreSignedLogUrl(v string) *Event { + s.PreSignedLogUrl = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *Event) SetResourceId(v string) *Event { + s.ResourceId = &v + return s +} + +// General properties describing a fleet. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/FleetAttributes +type FleetAttributes struct { + _ struct{} `type:"structure"` + + // Unique identifier for a build. + BuildId *string `type:"string"` + + // Time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Human-readable description of the fleet. + Description *string `min:"1" type:"string"` + + // Identifier for a fleet that is unique across all regions. + FleetArn *string `min:"1" type:"string"` + + // Unique identifier for a fleet. + FleetId *string `type:"string"` + + // Location of default log files. When a server process is shut down, Amazon + // GameLift captures and stores any log files in this location. These logs are + // in addition to game session logs; see more on game session logs in the Amazon + // GameLift Developer Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code). + // If no default log path for a fleet is specified, Amazon GameLift automatically + // uploads logs that are stored on each instance at C:\game\logs (for Windows) + // or /local/game/logs (for Linux). Use the Amazon GameLift console to access + // stored logs. + LogPaths []*string `type:"list"` + + // Names of metric groups that this fleet is included in. In Amazon CloudWatch, + // you can view metrics for an individual fleet or aggregated metrics for fleets + // that are in a fleet metric group. A fleet can be included in only one metric + // group at a time. + MetricGroups []*string `type:"list"` + + // Descriptive label that is associated with a fleet. Fleet names do not need + // to be unique. + Name *string `min:"1" type:"string"` + + // Type of game session protection to set for all new instances started in the + // fleet. + // + // * NoProtection -- The game session can be terminated during a scale-down + // event. + // + // * FullProtection -- If the game session is in an ACTIVE status, it cannot + // be terminated during a scale-down event. + NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"` + + // Operating system of the fleet's computing resources. A fleet's operating + // system depends on the OS specified for the build that is deployed on this + // fleet. + OperatingSystem *string `type:"string" enum:"OperatingSystem"` + + // Fleet policy to limit the number of game sessions an individual player can + // create over a span of time. + ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"` + + // Game server launch parameters specified for fleets created before 2016-08-04 + // (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after + // this date are specified in the fleet's RuntimeConfiguration. + ServerLaunchParameters *string `min:"1" type:"string"` + + // Path to a game server executable in the fleet's build, specified for fleets + // created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for + // fleets created after this date are specified in the fleet's RuntimeConfiguration. + ServerLaunchPath *string `min:"1" type:"string"` + + // Current status of the fleet. + // + // Possible fleet statuses include the following: + // + // * NEW -- A new fleet has been defined and desired instances is set to + // 1. + // + // * DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting + // up the new fleet, creating new instances with the game build and starting + // server processes. + // + // * ACTIVE -- Hosts can now accept game sessions. + // + // * ERROR -- An error occurred when downloading, validating, building, or + // activating the fleet. + // + // * DELETING -- Hosts are responding to a delete fleet request. + // + // * TERMINATED -- The fleet no longer exists. + Status *string `type:"string" enum:"FleetStatus"` + + // Time stamp indicating when this data object was terminated. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + TerminationTime *time.Time `type:"timestamp" timestampFormat:"unix"` +} + +// String returns the string representation +func (s FleetAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FleetAttributes) GoString() string { + return s.String() +} + +// SetBuildId sets the BuildId field's value. +func (s *FleetAttributes) SetBuildId(v string) *FleetAttributes { + s.BuildId = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *FleetAttributes) SetCreationTime(v time.Time) *FleetAttributes { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *FleetAttributes) SetDescription(v string) *FleetAttributes { + s.Description = &v + return s +} + +// SetFleetArn sets the FleetArn field's value. +func (s *FleetAttributes) SetFleetArn(v string) *FleetAttributes { + s.FleetArn = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *FleetAttributes) SetFleetId(v string) *FleetAttributes { + s.FleetId = &v + return s +} + +// SetLogPaths sets the LogPaths field's value. +func (s *FleetAttributes) SetLogPaths(v []*string) *FleetAttributes { + s.LogPaths = v + return s +} + +// SetMetricGroups sets the MetricGroups field's value. +func (s *FleetAttributes) SetMetricGroups(v []*string) *FleetAttributes { + s.MetricGroups = v + return s +} + +// SetName sets the Name field's value. +func (s *FleetAttributes) SetName(v string) *FleetAttributes { + s.Name = &v + return s +} + +// SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value. +func (s *FleetAttributes) SetNewGameSessionProtectionPolicy(v string) *FleetAttributes { + s.NewGameSessionProtectionPolicy = &v + return s +} + +// SetOperatingSystem sets the OperatingSystem field's value. +func (s *FleetAttributes) SetOperatingSystem(v string) *FleetAttributes { + s.OperatingSystem = &v + return s +} + +// SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value. +func (s *FleetAttributes) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *FleetAttributes { + s.ResourceCreationLimitPolicy = v + return s +} + +// SetServerLaunchParameters sets the ServerLaunchParameters field's value. +func (s *FleetAttributes) SetServerLaunchParameters(v string) *FleetAttributes { + s.ServerLaunchParameters = &v + return s +} + +// SetServerLaunchPath sets the ServerLaunchPath field's value. +func (s *FleetAttributes) SetServerLaunchPath(v string) *FleetAttributes { + s.ServerLaunchPath = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *FleetAttributes) SetStatus(v string) *FleetAttributes { + s.Status = &v + return s +} + +// SetTerminationTime sets the TerminationTime field's value. +func (s *FleetAttributes) SetTerminationTime(v time.Time) *FleetAttributes { + s.TerminationTime = &v + return s +} + +// Information about the fleet's capacity. Fleet capacity is measured in EC2 +// instances. By default, new fleets have a capacity of one instance, but can +// be updated as needed. The maximum number of instances for a fleet is determined +// by the fleet's instance type. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/FleetCapacity +type FleetCapacity struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet. + FleetId *string `type:"string"` + + // Current status of fleet capacity. + InstanceCounts *EC2InstanceCounts `type:"structure"` + + // Name of an EC2 instance type that is supported in Amazon GameLift. A fleet + // instance type determines the computing resources of each instance in the + // fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift + // supports the following EC2 instance types. See Amazon EC2 Instance Types + // (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. + InstanceType *string `type:"string" enum:"EC2InstanceType"` +} + +// String returns the string representation +func (s FleetCapacity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FleetCapacity) GoString() string { + return s.String() +} + +// SetFleetId sets the FleetId field's value. +func (s *FleetCapacity) SetFleetId(v string) *FleetCapacity { + s.FleetId = &v + return s +} + +// SetInstanceCounts sets the InstanceCounts field's value. +func (s *FleetCapacity) SetInstanceCounts(v *EC2InstanceCounts) *FleetCapacity { + s.InstanceCounts = v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *FleetCapacity) SetInstanceType(v string) *FleetCapacity { + s.InstanceType = &v + return s +} + +// Current status of fleet utilization, including the number of game and player +// sessions being hosted. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/FleetUtilization +type FleetUtilization struct { + _ struct{} `type:"structure"` + + // Number of active game sessions currently being hosted on all instances in + // the fleet. + ActiveGameSessionCount *int64 `type:"integer"` + + // Number of server processes in an ACTIVE status currently running across all + // instances in the fleet + ActiveServerProcessCount *int64 `type:"integer"` + + // Number of active player sessions currently being hosted on all instances + // in the fleet. + CurrentPlayerSessionCount *int64 `type:"integer"` + + // Unique identifier for a fleet. + FleetId *string `type:"string"` + + // Maximum players allowed across all game sessions currently being hosted on + // all instances in the fleet. + MaximumPlayerSessionCount *int64 `type:"integer"` +} + +// String returns the string representation +func (s FleetUtilization) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FleetUtilization) GoString() string { + return s.String() +} + +// SetActiveGameSessionCount sets the ActiveGameSessionCount field's value. +func (s *FleetUtilization) SetActiveGameSessionCount(v int64) *FleetUtilization { + s.ActiveGameSessionCount = &v + return s +} + +// SetActiveServerProcessCount sets the ActiveServerProcessCount field's value. +func (s *FleetUtilization) SetActiveServerProcessCount(v int64) *FleetUtilization { + s.ActiveServerProcessCount = &v + return s +} + +// SetCurrentPlayerSessionCount sets the CurrentPlayerSessionCount field's value. +func (s *FleetUtilization) SetCurrentPlayerSessionCount(v int64) *FleetUtilization { + s.CurrentPlayerSessionCount = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *FleetUtilization) SetFleetId(v string) *FleetUtilization { + s.FleetId = &v + return s +} + +// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value. +func (s *FleetUtilization) SetMaximumPlayerSessionCount(v int64) *FleetUtilization { + s.MaximumPlayerSessionCount = &v + return s +} + +// Set of key-value pairs that contain information about a game session. When +// included in a game session request, these properties communicate details +// to be used when setting up the new game session, such as to specify a game +// mode, level, or map. Game properties are passed to the game server process +// when initiating a new game session; the server process uses the properties +// as appropriate. For more information, see the Amazon GameLift Developer +// Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-create). +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameProperty +type GameProperty struct { + _ struct{} `type:"structure"` + + // Game property identifier. + // + // Key is a required field + Key *string `type:"string" required:"true"` + + // Game property value. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GameProperty) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GameProperty) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GameProperty) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GameProperty"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *GameProperty) SetKey(v string) *GameProperty { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *GameProperty) SetValue(v string) *GameProperty { + s.Value = &v + return s +} + +// Properties describing a game session. +// +// A game session in ACTIVE status can host players. When a game session ends, +// its status is set to TERMINATED. +// +// Once the session ends, the game session object is retained for 30 days. This +// means you can reuse idempotency token values after this time. Game session +// logs are retained for 14 days. +// +// Game-session-related operations include: +// +// * CreateGameSession +// +// * DescribeGameSessions +// +// * DescribeGameSessionDetails +// +// * SearchGameSessions +// +// * UpdateGameSession +// +// * GetGameSessionLogUrl +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameSession +type GameSession struct { + _ struct{} `type:"structure"` + + // Time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Unique identifier for a player. This ID is used to enforce a resource protection + // policy (if one exists), that limits the number of game sessions a player + // can create. + CreatorId *string `min:"1" type:"string"` + + // Number of players currently in the game session. + CurrentPlayerSessionCount *int64 `type:"integer"` + + // Unique identifier for a fleet that the game session is running on. + FleetId *string `type:"string"` + + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + GameProperties []*GameProperty `type:"list"` + + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + GameSessionData *string `min:"1" type:"string"` + + // Unique identifier for the game session. A game session ARN has the following + // format: arn:aws:gamelift:::gamesession//. + GameSessionId *string `min:"1" type:"string"` + + // IP address of the game session. To connect to a Amazon GameLift game server, + // an app needs both the IP address and port number. + IpAddress *string `type:"string"` + + // Maximum number of players that can be connected simultaneously to the game + // session. + MaximumPlayerSessionCount *int64 `type:"integer"` + + // Descriptive label that is associated with a game session. Session names do + // not need to be unique. + Name *string `min:"1" type:"string"` + + // Indicates whether or not the game session is accepting new players. + PlayerSessionCreationPolicy *string `type:"string" enum:"PlayerSessionCreationPolicy"` + + // Port number for the game session. To connect to a Amazon GameLift game server, + // an app needs both the IP address and port number. + Port *int64 `min:"1" type:"integer"` + + // Current status of the game session. A game session must have an ACTIVE status + // to have player sessions. + Status *string `type:"string" enum:"GameSessionStatus"` + + // Time stamp indicating when this data object was terminated. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + TerminationTime *time.Time `type:"timestamp" timestampFormat:"unix"` +} + +// String returns the string representation +func (s GameSession) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GameSession) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *GameSession) SetCreationTime(v time.Time) *GameSession { + s.CreationTime = &v + return s +} + +// SetCreatorId sets the CreatorId field's value. +func (s *GameSession) SetCreatorId(v string) *GameSession { + s.CreatorId = &v + return s +} + +// SetCurrentPlayerSessionCount sets the CurrentPlayerSessionCount field's value. +func (s *GameSession) SetCurrentPlayerSessionCount(v int64) *GameSession { + s.CurrentPlayerSessionCount = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *GameSession) SetFleetId(v string) *GameSession { + s.FleetId = &v + return s +} + +// SetGameProperties sets the GameProperties field's value. +func (s *GameSession) SetGameProperties(v []*GameProperty) *GameSession { + s.GameProperties = v + return s +} + +// SetGameSessionData sets the GameSessionData field's value. +func (s *GameSession) SetGameSessionData(v string) *GameSession { + s.GameSessionData = &v + return s +} + +// SetGameSessionId sets the GameSessionId field's value. +func (s *GameSession) SetGameSessionId(v string) *GameSession { + s.GameSessionId = &v + return s +} + +// SetIpAddress sets the IpAddress field's value. +func (s *GameSession) SetIpAddress(v string) *GameSession { + s.IpAddress = &v + return s +} + +// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value. +func (s *GameSession) SetMaximumPlayerSessionCount(v int64) *GameSession { + s.MaximumPlayerSessionCount = &v + return s +} + +// SetName sets the Name field's value. +func (s *GameSession) SetName(v string) *GameSession { + s.Name = &v + return s +} + +// SetPlayerSessionCreationPolicy sets the PlayerSessionCreationPolicy field's value. +func (s *GameSession) SetPlayerSessionCreationPolicy(v string) *GameSession { + s.PlayerSessionCreationPolicy = &v + return s +} + +// SetPort sets the Port field's value. +func (s *GameSession) SetPort(v int64) *GameSession { + s.Port = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GameSession) SetStatus(v string) *GameSession { + s.Status = &v + return s +} + +// SetTerminationTime sets the TerminationTime field's value. +func (s *GameSession) SetTerminationTime(v time.Time) *GameSession { + s.TerminationTime = &v + return s +} + +// Connection information for the new game session that is created with matchmaking. +// (with StartMatchmaking). Once a match is set, the FlexMatch engine places +// the match and creates a new game session for it. This information, including +// the game session endpoint and player sessions for each player in the original +// matchmaking request, is added to the MatchmakingTicket, which can be retrieved +// by calling DescribeMatchmaking. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameSessionConnectionInfo +type GameSessionConnectionInfo struct { + _ struct{} `type:"structure"` + + // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // that is assigned to a game session and uniquely identifies it. + GameSessionArn *string `min:"1" type:"string"` + + // IP address of the game session. To connect to a Amazon GameLift game server, + // an app needs both the IP address and port number. + IpAddress *string `type:"string"` + + // Collection of player session IDs, one for each player ID that was included + // in the original matchmaking request. + MatchedPlayerSessions []*MatchedPlayerSession `type:"list"` + + // Port number for the game session. To connect to a Amazon GameLift game server, + // an app needs both the IP address and port number. + Port *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s GameSessionConnectionInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GameSessionConnectionInfo) GoString() string { + return s.String() +} + +// SetGameSessionArn sets the GameSessionArn field's value. +func (s *GameSessionConnectionInfo) SetGameSessionArn(v string) *GameSessionConnectionInfo { + s.GameSessionArn = &v + return s +} + +// SetIpAddress sets the IpAddress field's value. +func (s *GameSessionConnectionInfo) SetIpAddress(v string) *GameSessionConnectionInfo { + s.IpAddress = &v + return s +} + +// SetMatchedPlayerSessions sets the MatchedPlayerSessions field's value. +func (s *GameSessionConnectionInfo) SetMatchedPlayerSessions(v []*MatchedPlayerSession) *GameSessionConnectionInfo { + s.MatchedPlayerSessions = v + return s +} + +// SetPort sets the Port field's value. +func (s *GameSessionConnectionInfo) SetPort(v int64) *GameSessionConnectionInfo { + s.Port = &v + return s +} + +// A game session's properties plus the protection policy currently in force. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameSessionDetail +type GameSessionDetail struct { + _ struct{} `type:"structure"` + + // Object that describes a game session. + GameSession *GameSession `type:"structure"` + + // Current status of protection for the game session. + // + // * NoProtection -- The game session can be terminated during a scale-down + // event. + // + // * FullProtection -- If the game session is in an ACTIVE status, it cannot + // be terminated during a scale-down event. + ProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"` +} + +// String returns the string representation +func (s GameSessionDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GameSessionDetail) GoString() string { + return s.String() +} + +// SetGameSession sets the GameSession field's value. +func (s *GameSessionDetail) SetGameSession(v *GameSession) *GameSessionDetail { + s.GameSession = v + return s +} + +// SetProtectionPolicy sets the ProtectionPolicy field's value. +func (s *GameSessionDetail) SetProtectionPolicy(v string) *GameSessionDetail { + s.ProtectionPolicy = &v + return s +} + +// Object that describes a StartGameSessionPlacement request. This object includes +// the full details of the original request plus the current status and start/end +// time stamps. +// +// Game session placement-related operations include: +// +// * StartGameSessionPlacement +// +// * DescribeGameSessionPlacement +// +// * StopGameSessionPlacement +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameSessionPlacement +type GameSessionPlacement struct { + _ struct{} `type:"structure"` + + // Time stamp indicating when this request was completed, canceled, or timed + // out. + EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + GameProperties []*GameProperty `type:"list"` + + // Identifier for the game session created by this placement request. This value + // is set once the new game session is placed (placement status is FULFILLED). + // This identifier is unique across all regions. You can use this value as a + // GameSessionId value as needed. + GameSessionArn *string `min:"1" type:"string"` + + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + GameSessionData *string `min:"1" type:"string"` + + // Unique identifier for the game session. This value is set once the new game + // session is placed (placement status is FULFILLED). + GameSessionId *string `min:"1" type:"string"` + + // Descriptive label that is associated with a game session. Session names do + // not need to be unique. + GameSessionName *string `min:"1" type:"string"` + + // Descriptive label that is associated with game session queue. Queue names + // must be unique within each region. + GameSessionQueueName *string `min:"1" type:"string"` + + // Name of the region where the game session created by this placement request + // is running. This value is set once the new game session is placed (placement + // status is FULFILLED). + GameSessionRegion *string `min:"1" type:"string"` + + // IP address of the game session. To connect to a Amazon GameLift game server, + // an app needs both the IP address and port number. This value is set once + // the new game session is placed (placement status is FULFILLED). + IpAddress *string `type:"string"` + + // Maximum number of players that can be connected simultaneously to the game + // session. + MaximumPlayerSessionCount *int64 `type:"integer"` + + // Collection of information on player sessions created in response to the game + // session placement request. These player sessions are created only once a + // new game session is successfully placed (placement status is FULFILLED). + // This information includes the player ID (as provided in the placement request) + // and the corresponding player session ID. Retrieve full player sessions by + // calling DescribePlayerSessions with the player session ID. + PlacedPlayerSessions []*PlacedPlayerSession `type:"list"` + + // Unique identifier for a game session placement. + PlacementId *string `min:"1" type:"string"` + + // Set of values, expressed in milliseconds, indicating the amount of latency + // that a player experiences when connected to AWS regions. + PlayerLatencies []*PlayerLatency `type:"list"` + + // Port number for the game session. To connect to a Amazon GameLift game server, + // an app needs both the IP address and port number. This value is set once + // the new game session is placed (placement status is FULFILLED). + Port *int64 `min:"1" type:"integer"` + + // Time stamp indicating when this request was placed in the queue. Format is + // a number expressed in Unix time as milliseconds (for example "1469498468.057"). + StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Current status of the game session placement request. + // + // * PENDING -- The placement request is currently in the queue waiting to + // be processed. + // + // * FULFILLED -- A new game session and player sessions (if requested) have + // been successfully created. Values for GameSessionArn and GameSessionRegion + // are available. + // + // * CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement. + // + // * TIMED_OUT -- A new game session was not successfully created before + // the time limit expired. You can resubmit the placement request as needed. + Status *string `type:"string" enum:"GameSessionPlacementState"` +} + +// String returns the string representation +func (s GameSessionPlacement) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GameSessionPlacement) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *GameSessionPlacement) SetEndTime(v time.Time) *GameSessionPlacement { + s.EndTime = &v + return s +} + +// SetGameProperties sets the GameProperties field's value. +func (s *GameSessionPlacement) SetGameProperties(v []*GameProperty) *GameSessionPlacement { + s.GameProperties = v + return s +} + +// SetGameSessionArn sets the GameSessionArn field's value. +func (s *GameSessionPlacement) SetGameSessionArn(v string) *GameSessionPlacement { + s.GameSessionArn = &v + return s +} + +// SetGameSessionData sets the GameSessionData field's value. +func (s *GameSessionPlacement) SetGameSessionData(v string) *GameSessionPlacement { + s.GameSessionData = &v + return s +} + +// SetGameSessionId sets the GameSessionId field's value. +func (s *GameSessionPlacement) SetGameSessionId(v string) *GameSessionPlacement { + s.GameSessionId = &v + return s +} + +// SetGameSessionName sets the GameSessionName field's value. +func (s *GameSessionPlacement) SetGameSessionName(v string) *GameSessionPlacement { + s.GameSessionName = &v + return s +} + +// SetGameSessionQueueName sets the GameSessionQueueName field's value. +func (s *GameSessionPlacement) SetGameSessionQueueName(v string) *GameSessionPlacement { + s.GameSessionQueueName = &v + return s +} + +// SetGameSessionRegion sets the GameSessionRegion field's value. +func (s *GameSessionPlacement) SetGameSessionRegion(v string) *GameSessionPlacement { + s.GameSessionRegion = &v + return s +} + +// SetIpAddress sets the IpAddress field's value. +func (s *GameSessionPlacement) SetIpAddress(v string) *GameSessionPlacement { + s.IpAddress = &v + return s +} + +// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value. +func (s *GameSessionPlacement) SetMaximumPlayerSessionCount(v int64) *GameSessionPlacement { + s.MaximumPlayerSessionCount = &v + return s +} + +// SetPlacedPlayerSessions sets the PlacedPlayerSessions field's value. +func (s *GameSessionPlacement) SetPlacedPlayerSessions(v []*PlacedPlayerSession) *GameSessionPlacement { + s.PlacedPlayerSessions = v + return s +} + +// SetPlacementId sets the PlacementId field's value. +func (s *GameSessionPlacement) SetPlacementId(v string) *GameSessionPlacement { + s.PlacementId = &v + return s +} + +// SetPlayerLatencies sets the PlayerLatencies field's value. +func (s *GameSessionPlacement) SetPlayerLatencies(v []*PlayerLatency) *GameSessionPlacement { + s.PlayerLatencies = v + return s +} + +// SetPort sets the Port field's value. +func (s *GameSessionPlacement) SetPort(v int64) *GameSessionPlacement { + s.Port = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GameSessionPlacement) SetStartTime(v time.Time) *GameSessionPlacement { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GameSessionPlacement) SetStatus(v string) *GameSessionPlacement { + s.Status = &v + return s +} + +// Configuration of a queue that is used to process game session placement requests. +// The queue configuration identifies several game features: +// +// * The destinations where a new game session can potentially be hosted. +// Amazon GameLift tries these destinations in an order based on either the +// queue's default order or player latency information, if provided in a +// placement request. With latency information, Amazon GameLift can place +// game sessions where the majority of players are reporting the lowest possible +// latency. +// +// * The length of time that placement requests can wait in the queue before +// timing out. +// +// * A set of optional latency policies that protect individual players from +// high latencies, preventing game sessions from being placed where any individual +// player is reporting latency higher than a policy's maximum. +// +// Queue-related operations include: +// +// * CreateGameSessionQueue +// +// * DescribeGameSessionQueues +// +// * UpdateGameSessionQueue +// +// * DeleteGameSessionQueue +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameSessionQueue +type GameSessionQueue struct { + _ struct{} `type:"structure"` + + // List of fleets that can be used to fulfill game session placement requests + // in the queue. Fleets are identified by either a fleet ARN or a fleet alias + // ARN. Destinations are listed in default preference order. + Destinations []*GameSessionQueueDestination `type:"list"` + + // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // that is assigned to a game session queue and uniquely identifies it. Format + // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. + GameSessionQueueArn *string `min:"1" type:"string"` + + // Descriptive label that is associated with game session queue. Queue names + // must be unique within each region. + Name *string `min:"1" type:"string"` + + // Collection of latency policies to apply when processing game sessions placement + // requests with player latency information. Multiple policies are evaluated + // in order of the maximum latency value, starting with the lowest latency values. + // With just one policy, it is enforced at the start of the game session placement + // for the duration period. With multiple policies, each policy is enforced + // consecutively for its duration period. For example, a queue might enforce + // a 60-second policy followed by a 120-second policy, and then no policy for + // the remainder of the placement. + PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"` + + // Maximum time, in seconds, that a new game session placement request remains + // in the queue. When a request exceeds this time, the game session placement + // changes to a TIMED_OUT status. + TimeoutInSeconds *int64 `type:"integer"` +} + +// String returns the string representation +func (s GameSessionQueue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GameSessionQueue) GoString() string { + return s.String() +} + +// SetDestinations sets the Destinations field's value. +func (s *GameSessionQueue) SetDestinations(v []*GameSessionQueueDestination) *GameSessionQueue { + s.Destinations = v + return s +} + +// SetGameSessionQueueArn sets the GameSessionQueueArn field's value. +func (s *GameSessionQueue) SetGameSessionQueueArn(v string) *GameSessionQueue { + s.GameSessionQueueArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *GameSessionQueue) SetName(v string) *GameSessionQueue { + s.Name = &v + return s +} + +// SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value. +func (s *GameSessionQueue) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *GameSessionQueue { + s.PlayerLatencyPolicies = v + return s +} + +// SetTimeoutInSeconds sets the TimeoutInSeconds field's value. +func (s *GameSessionQueue) SetTimeoutInSeconds(v int64) *GameSessionQueue { + s.TimeoutInSeconds = &v + return s +} + +// Fleet designated in a game session queue. Requests for new game sessions +// in the queue are fulfilled by starting a new game session on any destination +// configured for a queue. +// +// Queue-related operations include: +// +// * CreateGameSessionQueue +// +// * DescribeGameSessionQueues +// +// * UpdateGameSessionQueue +// +// * DeleteGameSessionQueue +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameSessionQueueDestination +type GameSessionQueueDestination struct { + _ struct{} `type:"structure"` + + // Amazon Resource Name (ARN) assigned to fleet or fleet alias. ARNs, which + // include a fleet ID or alias ID and a region name, provide a unique identifier + // across all regions. + DestinationArn *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GameSessionQueueDestination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GameSessionQueueDestination) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GameSessionQueueDestination) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GameSessionQueueDestination"} + if s.DestinationArn != nil && len(*s.DestinationArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DestinationArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationArn sets the DestinationArn field's value. +func (s *GameSessionQueueDestination) SetDestinationArn(v string) *GameSessionQueueDestination { + s.DestinationArn = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetGameSessionLogUrlInput +type GetGameSessionLogUrlInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for the game session to get logs for. + // + // GameSessionId is a required field + GameSessionId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetGameSessionLogUrlInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGameSessionLogUrlInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetGameSessionLogUrlInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetGameSessionLogUrlInput"} + if s.GameSessionId == nil { + invalidParams.Add(request.NewErrParamRequired("GameSessionId")) + } + if s.GameSessionId != nil && len(*s.GameSessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGameSessionId sets the GameSessionId field's value. +func (s *GetGameSessionLogUrlInput) SetGameSessionId(v string) *GetGameSessionLogUrlInput { + s.GameSessionId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetGameSessionLogUrlOutput +type GetGameSessionLogUrlOutput struct { + _ struct{} `type:"structure"` + + // Location of the requested game session logs, available for download. + PreSignedUrl *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetGameSessionLogUrlOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGameSessionLogUrlOutput) GoString() string { + return s.String() +} + +// SetPreSignedUrl sets the PreSignedUrl field's value. +func (s *GetGameSessionLogUrlOutput) SetPreSignedUrl(v string) *GetGameSessionLogUrlOutput { + s.PreSignedUrl = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetInstanceAccessInput +type GetInstanceAccessInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet that contains the instance you want access + // to. The fleet can be in any of the following statuses: ACTIVATING, ACTIVE, + // or ERROR. Fleets with an ERROR status may be accessible for a short time + // before they are deleted. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Unique identifier for an instance you want to get access to. You can access + // an instance in any status. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetInstanceAccessInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInstanceAccessInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetInstanceAccessInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *GetInstanceAccessInput) SetFleetId(v string) *GetInstanceAccessInput { + s.FleetId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *GetInstanceAccessInput) SetInstanceId(v string) *GetInstanceAccessInput { + s.InstanceId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetInstanceAccessOutput +type GetInstanceAccessOutput struct { + _ struct{} `type:"structure"` + + // Object that contains connection information for a fleet instance, including + // IP address and access credentials. + InstanceAccess *InstanceAccess `type:"structure"` +} + +// String returns the string representation +func (s GetInstanceAccessOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInstanceAccessOutput) GoString() string { + return s.String() +} + +// SetInstanceAccess sets the InstanceAccess field's value. +func (s *GetInstanceAccessOutput) SetInstanceAccess(v *InstanceAccess) *GetInstanceAccessOutput { + s.InstanceAccess = v + return s +} + +// Properties that describe an instance of a virtual computing resource that +// hosts one or more game servers. A fleet may contain zero or more instances. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/Instance +type Instance struct { + _ struct{} `type:"structure"` + + // Time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Unique identifier for a fleet that the instance is in. + FleetId *string `type:"string"` + + // Unique identifier for an instance. + InstanceId *string `type:"string"` + + // IP address assigned to the instance. + IpAddress *string `type:"string"` + + // Operating system that is running on this instance. + OperatingSystem *string `type:"string" enum:"OperatingSystem"` + + // Current status of the instance. Possible statuses include the following: + // + // * PENDING -- The instance is in the process of being created and launching + // server processes as defined in the fleet's run-time configuration. + // + // * ACTIVE -- The instance has been successfully created and at least one + // server process has successfully launched and reported back to Amazon GameLift + // that it is ready to host a game session. The instance is now considered + // ready to host game sessions. + // + // * TERMINATING -- The instance is in the process of shutting down. This + // may happen to reduce capacity during a scaling down event or to recycle + // resources in the event of a problem. + Status *string `type:"string" enum:"InstanceStatus"` + + // EC2 instance type that defines the computing resources of this instance. + Type *string `type:"string" enum:"EC2InstanceType"` +} + +// String returns the string representation +func (s Instance) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Instance) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Instance) SetCreationTime(v time.Time) *Instance { + s.CreationTime = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *Instance) SetFleetId(v string) *Instance { + s.FleetId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *Instance) SetInstanceId(v string) *Instance { + s.InstanceId = &v + return s +} + +// SetIpAddress sets the IpAddress field's value. +func (s *Instance) SetIpAddress(v string) *Instance { + s.IpAddress = &v + return s +} + +// SetOperatingSystem sets the OperatingSystem field's value. +func (s *Instance) SetOperatingSystem(v string) *Instance { + s.OperatingSystem = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Instance) SetStatus(v string) *Instance { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *Instance) SetType(v string) *Instance { + s.Type = &v + return s +} + +// Information required to remotely connect to a fleet instance. Access is requested +// by calling GetInstanceAccess. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/InstanceAccess +type InstanceAccess struct { + _ struct{} `type:"structure"` + + // Credentials required to access the instance. + Credentials *InstanceCredentials `type:"structure"` + + // Unique identifier for a fleet containing the instance being accessed. + FleetId *string `type:"string"` + + // Unique identifier for an instance being accessed. + InstanceId *string `type:"string"` + + // IP address assigned to the instance. + IpAddress *string `type:"string"` + + // Operating system that is running on the instance. + OperatingSystem *string `type:"string" enum:"OperatingSystem"` +} + +// String returns the string representation +func (s InstanceAccess) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceAccess) GoString() string { + return s.String() +} + +// SetCredentials sets the Credentials field's value. +func (s *InstanceAccess) SetCredentials(v *InstanceCredentials) *InstanceAccess { + s.Credentials = v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *InstanceAccess) SetFleetId(v string) *InstanceAccess { + s.FleetId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *InstanceAccess) SetInstanceId(v string) *InstanceAccess { + s.InstanceId = &v + return s +} + +// SetIpAddress sets the IpAddress field's value. +func (s *InstanceAccess) SetIpAddress(v string) *InstanceAccess { + s.IpAddress = &v + return s +} + +// SetOperatingSystem sets the OperatingSystem field's value. +func (s *InstanceAccess) SetOperatingSystem(v string) *InstanceAccess { + s.OperatingSystem = &v + return s +} + +// Set of credentials required to remotely access a fleet instance. Access credentials +// are requested by calling GetInstanceAccess and returned in an InstanceAccess +// object. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/InstanceCredentials +type InstanceCredentials struct { + _ struct{} `type:"structure"` + + // Secret string. For Windows instances, the secret is a password for use with + // Windows Remote Desktop. For Linux instances, it is a private key (which must + // be saved as a .pem file) for use with SSH. + Secret *string `min:"1" type:"string"` + + // User login string. + UserName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s InstanceCredentials) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceCredentials) GoString() string { + return s.String() +} + +// SetSecret sets the Secret field's value. +func (s *InstanceCredentials) SetSecret(v string) *InstanceCredentials { + s.Secret = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *InstanceCredentials) SetUserName(v string) *InstanceCredentials { + s.UserName = &v + return s +} + +// A range of IP addresses and port settings that allow inbound traffic to connect +// to server processes on Amazon GameLift. Each game session hosted on a fleet +// is assigned a unique combination of IP address and port number, which must +// fall into the fleet's allowed ranges. This combination is included in the +// GameSession object. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/IpPermission +type IpPermission struct { + _ struct{} `type:"structure"` + + // Starting value for a range of allowed port numbers. + // + // FromPort is a required field + FromPort *int64 `min:"1" type:"integer" required:"true"` + + // Range of allowed IP addresses. This value must be expressed in CIDR notation. + // Example: "000.000.000.000/[subnet mask]" or optionally the shortened version + // "0.0.0.0/[subnet mask]". + // + // IpRange is a required field + IpRange *string `type:"string" required:"true"` + + // Network communication protocol used by the fleet. + // + // Protocol is a required field + Protocol *string `type:"string" required:"true" enum:"IpProtocol"` + + // Ending value for a range of allowed port numbers. Port numbers are end-inclusive. + // This value must be higher than FromPort. + // + // ToPort is a required field + ToPort *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s IpPermission) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IpPermission) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IpPermission) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IpPermission"} + if s.FromPort == nil { + invalidParams.Add(request.NewErrParamRequired("FromPort")) + } + if s.FromPort != nil && *s.FromPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("FromPort", 1)) + } + if s.IpRange == nil { + invalidParams.Add(request.NewErrParamRequired("IpRange")) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.ToPort == nil { + invalidParams.Add(request.NewErrParamRequired("ToPort")) + } + if s.ToPort != nil && *s.ToPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("ToPort", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFromPort sets the FromPort field's value. +func (s *IpPermission) SetFromPort(v int64) *IpPermission { + s.FromPort = &v + return s +} + +// SetIpRange sets the IpRange field's value. +func (s *IpPermission) SetIpRange(v string) *IpPermission { + s.IpRange = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *IpPermission) SetProtocol(v string) *IpPermission { + s.Protocol = &v + return s +} + +// SetToPort sets the ToPort field's value. +func (s *IpPermission) SetToPort(v int64) *IpPermission { + s.ToPort = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListAliasesInput +type ListAliasesInput struct { + _ struct{} `type:"structure"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int64 `min:"1" type:"integer"` + + // Descriptive label that is associated with an alias. Alias names do not need + // to be unique. + Name *string `min:"1" type:"string"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` + + // Type of routing to filter results on. Use this parameter to retrieve only + // aliases of a certain type. To retrieve all aliases, leave this parameter + // empty. + // + // Possible routing types include the following: + // + // * SIMPLE -- The alias resolves to one specific fleet. Use this type when + // routing to active fleets. + // + // * TERMINAL -- The alias does not resolve to a fleet but instead can be + // used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException + // with the RoutingStrategy message embedded. + RoutingStrategyType *string `type:"string" enum:"RoutingStrategyType"` +} + +// String returns the string representation +func (s ListAliasesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAliasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAliasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAliasesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListAliasesInput) SetLimit(v int64) *ListAliasesInput { + s.Limit = &v + return s +} + +// SetName sets the Name field's value. +func (s *ListAliasesInput) SetName(v string) *ListAliasesInput { + s.Name = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAliasesInput) SetNextToken(v string) *ListAliasesInput { + s.NextToken = &v + return s +} + +// SetRoutingStrategyType sets the RoutingStrategyType field's value. +func (s *ListAliasesInput) SetRoutingStrategyType(v string) *ListAliasesInput { + s.RoutingStrategyType = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListAliasesOutput +type ListAliasesOutput struct { + _ struct{} `type:"structure"` + + // Collection of alias records that match the list request. + Aliases []*Alias `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListAliasesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAliasesOutput) GoString() string { + return s.String() +} + +// SetAliases sets the Aliases field's value. +func (s *ListAliasesOutput) SetAliases(v []*Alias) *ListAliasesOutput { + s.Aliases = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAliasesOutput) SetNextToken(v string) *ListAliasesOutput { + s.NextToken = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListBuildsInput +type ListBuildsInput struct { + _ struct{} `type:"structure"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int64 `min:"1" type:"integer"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` + + // Build status to filter results by. To retrieve all builds, leave this parameter + // empty. + // + // Possible build statuses include the following: + // + // * INITIALIZED -- A new build has been defined, but no files have been + // uploaded. You cannot create fleets for builds that are in this status. + // When a build is successfully created, the build status is set to this + // value. + // + // * READY -- The game build has been successfully uploaded. You can now + // create new fleets for this build. + // + // * FAILED -- The game build upload failed. You cannot create new fleets + // for this build. + Status *string `type:"string" enum:"BuildStatus"` +} + +// String returns the string representation +func (s ListBuildsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBuildsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBuildsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBuildsInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListBuildsInput) SetLimit(v int64) *ListBuildsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput { + s.NextToken = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListBuildsInput) SetStatus(v string) *ListBuildsInput { + s.Status = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListBuildsOutput +type ListBuildsOutput struct { + _ struct{} `type:"structure"` + + // Collection of build records that match the request. + Builds []*Build `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListBuildsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBuildsOutput) GoString() string { + return s.String() +} + +// SetBuilds sets the Builds field's value. +func (s *ListBuildsOutput) SetBuilds(v []*Build) *ListBuildsOutput { + s.Builds = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput { + s.NextToken = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleetsInput +type ListFleetsInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a build to return fleets for. Use this parameter to + // return only fleets using the specified build. To retrieve all fleets, leave + // this parameter empty. + BuildId *string `type:"string"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. + Limit *int64 `min:"1" type:"integer"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListFleetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFleetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFleetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFleetsInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBuildId sets the BuildId field's value. +func (s *ListFleetsInput) SetBuildId(v string) *ListFleetsInput { + s.BuildId = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *ListFleetsInput) SetLimit(v int64) *ListFleetsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFleetsInput) SetNextToken(v string) *ListFleetsInput { + s.NextToken = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleetsOutput +type ListFleetsOutput struct { + _ struct{} `type:"structure"` + + // Set of fleet IDs matching the list request. You can retrieve additional information + // about all returned fleets by passing this result set to a call to DescribeFleetAttributes, + // DescribeFleetCapacity, or DescribeFleetUtilization. + FleetIds []*string `min:"1" type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListFleetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFleetsOutput) GoString() string { + return s.String() +} + +// SetFleetIds sets the FleetIds field's value. +func (s *ListFleetsOutput) SetFleetIds(v []*string) *ListFleetsOutput { + s.FleetIds = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput { + s.NextToken = &v + return s +} + +// Represents a new player session that is created as a result of a successful +// FlexMatch match. A successful match automatically creates new player sessions +// for every player ID in the original matchmaking request. +// +// When players connect to the match's game session, they must include both +// player ID and player session ID in order to claim their assigned player slot. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/MatchedPlayerSession +type MatchedPlayerSession struct { + _ struct{} `type:"structure"` + + // Unique identifier for a player + PlayerId *string `min:"1" type:"string"` + + // Unique identifier for a player session + PlayerSessionId *string `type:"string"` +} + +// String returns the string representation +func (s MatchedPlayerSession) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchedPlayerSession) GoString() string { + return s.String() +} + +// SetPlayerId sets the PlayerId field's value. +func (s *MatchedPlayerSession) SetPlayerId(v string) *MatchedPlayerSession { + s.PlayerId = &v + return s +} + +// SetPlayerSessionId sets the PlayerSessionId field's value. +func (s *MatchedPlayerSession) SetPlayerSessionId(v string) *MatchedPlayerSession { + s.PlayerSessionId = &v + return s +} + +// Guidelines for use with FlexMatch to match players into games. All matchmaking +// requests must specify a matchmaking configuration. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/MatchmakingConfiguration +type MatchmakingConfiguration struct { + _ struct{} `type:"structure"` + + // Flag that determines whether or not a match that was created with this configuration + // must be accepted by the matched players. To require acceptance, set to TRUE. + AcceptanceRequired *bool `type:"boolean"` + + // Length of time (in seconds) to wait for players to accept a proposed match. + // If any player rejects the match or fails to accept before the timeout, the + // ticket continues to look for an acceptable match. + AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"` + + // Number of player slots in a match to keep open for future players. For example, + // if the configuration's rule set specifies a match for a single 12-person + // team, and the additional player count is set to 2, only 10 players are selected + // for the match. + AdditionalPlayerCount *int64 `type:"integer"` + + // Time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Information to attached to all events related to the matchmaking configuration. + CustomEventData *string `type:"string"` + + // Descriptive label that is associated with matchmaking configuration. + Description *string `min:"1" type:"string"` + + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // This information is added to the new GameSession object that is created for + // a successful match. + GameProperties []*GameProperty `type:"list"` + + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // This information is added to the new GameSession object that is created for + // a successful match. + GameSessionData *string `min:"1" type:"string"` + + // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // that is assigned to a game session queue and uniquely identifies it. Format + // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. + // These queues are used when placing game sessions for matches that are created + // with this matchmaking configuration. Queues can be located in any region. + GameSessionQueueArns []*string `type:"list"` + + // Unique identifier for a matchmaking configuration. This name is used to identify + // the configuration associated with a matchmaking request or ticket. + Name *string `min:"1" type:"string"` + + // SNS topic ARN that is set up to receive matchmaking notifications. + NotificationTarget *string `type:"string"` + + // Maximum duration, in seconds, that a matchmaking ticket can remain in process + // before timing out. Requests that time out can be resubmitted as needed. + RequestTimeoutSeconds *int64 `min:"1" type:"integer"` + + // Unique identifier for a matchmaking rule set to use with this configuration. + // A matchmaking configuration can only use rule sets that are defined in the + // same region. + RuleSetName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s MatchmakingConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchmakingConfiguration) GoString() string { + return s.String() +} + +// SetAcceptanceRequired sets the AcceptanceRequired field's value. +func (s *MatchmakingConfiguration) SetAcceptanceRequired(v bool) *MatchmakingConfiguration { + s.AcceptanceRequired = &v + return s +} + +// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value. +func (s *MatchmakingConfiguration) SetAcceptanceTimeoutSeconds(v int64) *MatchmakingConfiguration { + s.AcceptanceTimeoutSeconds = &v + return s +} + +// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value. +func (s *MatchmakingConfiguration) SetAdditionalPlayerCount(v int64) *MatchmakingConfiguration { + s.AdditionalPlayerCount = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *MatchmakingConfiguration) SetCreationTime(v time.Time) *MatchmakingConfiguration { + s.CreationTime = &v + return s +} + +// SetCustomEventData sets the CustomEventData field's value. +func (s *MatchmakingConfiguration) SetCustomEventData(v string) *MatchmakingConfiguration { + s.CustomEventData = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *MatchmakingConfiguration) SetDescription(v string) *MatchmakingConfiguration { + s.Description = &v + return s +} + +// SetGameProperties sets the GameProperties field's value. +func (s *MatchmakingConfiguration) SetGameProperties(v []*GameProperty) *MatchmakingConfiguration { + s.GameProperties = v + return s +} + +// SetGameSessionData sets the GameSessionData field's value. +func (s *MatchmakingConfiguration) SetGameSessionData(v string) *MatchmakingConfiguration { + s.GameSessionData = &v + return s +} + +// SetGameSessionQueueArns sets the GameSessionQueueArns field's value. +func (s *MatchmakingConfiguration) SetGameSessionQueueArns(v []*string) *MatchmakingConfiguration { + s.GameSessionQueueArns = v + return s +} + +// SetName sets the Name field's value. +func (s *MatchmakingConfiguration) SetName(v string) *MatchmakingConfiguration { + s.Name = &v + return s +} + +// SetNotificationTarget sets the NotificationTarget field's value. +func (s *MatchmakingConfiguration) SetNotificationTarget(v string) *MatchmakingConfiguration { + s.NotificationTarget = &v + return s +} + +// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value. +func (s *MatchmakingConfiguration) SetRequestTimeoutSeconds(v int64) *MatchmakingConfiguration { + s.RequestTimeoutSeconds = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *MatchmakingConfiguration) SetRuleSetName(v string) *MatchmakingConfiguration { + s.RuleSetName = &v + return s +} + +// Set of rule statements, used with FlexMatch, that determine how to build +// a certain kind of player match. Each rule set describes a type of group to +// be created and defines the parameters for acceptable player matches. Rule +// sets are used in MatchmakingConfiguration objects. +// +// A rule set may define the following elements for a match. For detailed information +// and examples showing how to construct a rule set, see Create Matchmaking +// Rules for Your Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-rules.html). +// +// * Teams -- Required. A rule set must define one or multiple teams for +// the match and set minimum and maximum team sizes. For example, a rule +// set might describe a 4x4 match that requires all eight slots to be filled. +// +// +// * Player attributes -- Optional. These attributes specify a set of player +// characteristics to evaluate when looking for a match. Matchmaking requests +// that use a rule set with player attributes must provide the corresponding +// attribute values. For example, an attribute might specify a player's skill +// or level. +// +// * Rules -- Optional. Rules define how to evaluate potential players for +// a match based on player attributes. A rule might specify minimum requirements +// for individual players--such as each player must meet a certain skill +// level, or may describe an entire group--such as all teams must be evenly +// matched or have at least one player in a certain role. +// +// * Expansions -- Optional. Expansions allow you to relax the rules after +// a period of time if no acceptable matches are found. This feature lets +// you balance getting players into games in a reasonable amount of time +// instead of making them wait indefinitely for the best possible match. +// For example, you might use an expansion to increase the maximum skill +// variance between players after 30 seconds. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/MatchmakingRuleSet +type MatchmakingRuleSet struct { + _ struct{} `type:"structure"` + + // Time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Collection of matchmaking rules, formatted as a JSON string. (Note that comments14 + // are not allowed in JSON, but most elements support a description field.) + // + // RuleSetBody is a required field + RuleSetBody *string `min:"1" type:"string" required:"true"` + + // Unique identifier for a matchmaking rule set + RuleSetName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s MatchmakingRuleSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchmakingRuleSet) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *MatchmakingRuleSet) SetCreationTime(v time.Time) *MatchmakingRuleSet { + s.CreationTime = &v + return s +} + +// SetRuleSetBody sets the RuleSetBody field's value. +func (s *MatchmakingRuleSet) SetRuleSetBody(v string) *MatchmakingRuleSet { + s.RuleSetBody = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *MatchmakingRuleSet) SetRuleSetName(v string) *MatchmakingRuleSet { + s.RuleSetName = &v + return s +} + +// Ticket generated to track the progress of a matchmaking request. Each ticket +// is uniquely identified by a ticket ID, supplied by the requester, when creating +// a matchmaking request with StartMatchmaking. Tickets can be retrieved by +// calling DescribeMatchmaking with the ticket ID. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/MatchmakingTicket +type MatchmakingTicket struct { + _ struct{} `type:"structure"` + + // Name of the MatchmakingConfiguration that is used with this ticket. Matchmaking + // configurations determine how players are grouped into a match and how a new + // game session is created for the match. + ConfigurationName *string `min:"1" type:"string"` + + // Time stamp indicating when the matchmaking request stopped being processed + // due to successful completion, timeout, or cancellation. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Average amount of time (in seconds) that players are currently waiting for + // a match. If there is not enough recent data, this property may be empty. + EstimatedWaitTime *int64 `type:"integer"` + + // Identifier and connection information of the game session created for the + // match. This information is added to the ticket only after the matchmaking + // request has been successfully completed. + GameSessionConnectionInfo *GameSessionConnectionInfo `type:"structure"` + + // A set of Player objects, each representing a player to find matches for. + // Players are identified by a unique player ID and may include latency data + // for use during matchmaking. If the ticket is in status COMPLETED, the Player + // objects include the team the players were assigned to in the resulting match. + Players []*Player `type:"list"` + + // Time stamp indicating when this matchmaking request was received. Format + // is a number expressed in Unix time as milliseconds (for example "1469498468.057"). + StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Current status of the matchmaking request. + // + // * QUEUED -- The matchmaking request has been received and is currently + // waiting to be processed. + // + // * SEARCHING -- The matchmaking request is currently being processed. + // + // * REQUIRES_ACCEPTANCE -- A match has been proposed and the players must + // accept the match (see AcceptMatch). This status is used only with requests + // that use a matchmaking configuration with a player acceptance requirement. + // + // * PLACING -- The FlexMatch engine has matched players and is in the process + // of placing a new game session for the match. + // + // * COMPLETED -- Players have been matched and a game session is ready to + // host the players. A ticket in this state contains the necessary connection + // information for players. + // + // * FAILED -- The matchmaking request was not completed. Tickets with players + // who fail to accept a proposed match are placed in FAILED status; new matchmaking + // requests can be submitted for these players. + // + // * CANCELLED -- The matchmaking request was canceled with a call to StopMatchmaking. + // + // * TIMED_OUT -- The matchmaking request was not completed within the duration + // specified in the matchmaking configuration. Matchmaking requests that + // time out can be resubmitted. + Status *string `type:"string" enum:"MatchmakingConfigurationStatus"` + + // Additional information about the current status. + StatusMessage *string `type:"string"` + + // Code to explain the current status. For example, a status reason may indicate + // when a ticket has returned to SEARCHING status after a proposed match fails + // to receive player acceptances. + StatusReason *string `type:"string"` + + // Unique identifier for a matchmaking ticket. + TicketId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s MatchmakingTicket) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchmakingTicket) GoString() string { + return s.String() +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *MatchmakingTicket) SetConfigurationName(v string) *MatchmakingTicket { + s.ConfigurationName = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *MatchmakingTicket) SetEndTime(v time.Time) *MatchmakingTicket { + s.EndTime = &v + return s +} + +// SetEstimatedWaitTime sets the EstimatedWaitTime field's value. +func (s *MatchmakingTicket) SetEstimatedWaitTime(v int64) *MatchmakingTicket { + s.EstimatedWaitTime = &v + return s +} + +// SetGameSessionConnectionInfo sets the GameSessionConnectionInfo field's value. +func (s *MatchmakingTicket) SetGameSessionConnectionInfo(v *GameSessionConnectionInfo) *MatchmakingTicket { + s.GameSessionConnectionInfo = v + return s +} + +// SetPlayers sets the Players field's value. +func (s *MatchmakingTicket) SetPlayers(v []*Player) *MatchmakingTicket { + s.Players = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *MatchmakingTicket) SetStartTime(v time.Time) *MatchmakingTicket { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *MatchmakingTicket) SetStatus(v string) *MatchmakingTicket { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *MatchmakingTicket) SetStatusMessage(v string) *MatchmakingTicket { + s.StatusMessage = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *MatchmakingTicket) SetStatusReason(v string) *MatchmakingTicket { + s.StatusReason = &v + return s +} + +// SetTicketId sets the TicketId field's value. +func (s *MatchmakingTicket) SetTicketId(v string) *MatchmakingTicket { + s.TicketId = &v + return s +} + +// Information about a player session that was created as part of a StartGameSessionPlacement +// request. This object contains only the player ID and player session ID. To +// retrieve full details on a player session, call DescribePlayerSessions with +// the player session ID. +// +// Player-session-related operations include: +// +// * CreatePlayerSession +// +// * CreatePlayerSessions +// +// * DescribePlayerSessions +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PlacedPlayerSession +type PlacedPlayerSession struct { + _ struct{} `type:"structure"` + + // Unique identifier for a player that is associated with this player session. + PlayerId *string `min:"1" type:"string"` + + // Unique identifier for a player session. + PlayerSessionId *string `type:"string"` +} + +// String returns the string representation +func (s PlacedPlayerSession) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlacedPlayerSession) GoString() string { + return s.String() +} + +// SetPlayerId sets the PlayerId field's value. +func (s *PlacedPlayerSession) SetPlayerId(v string) *PlacedPlayerSession { + s.PlayerId = &v + return s +} + +// SetPlayerSessionId sets the PlayerSessionId field's value. +func (s *PlacedPlayerSession) SetPlayerSessionId(v string) *PlacedPlayerSession { + s.PlayerSessionId = &v + return s +} + +// Represents a player in matchmaking. When starting a matchmaking request, +// a player has a player ID, attributes, and may have latency data. Team information +// is added after a match has been successfully completed. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/Player +type Player struct { + _ struct{} `type:"structure"` + + // Set of values, expressed in milliseconds, indicating the amount of latency + // that a player experiences when connected to AWS regions. If this property + // is present, FlexMatch considers placing the match only in regions for which + // latency is reported. + // + // If a matchmaker has a rule that evaluates player latency, players must report + // latency in order to be matched. If no latency is reported in this scenario, + // FlexMatch assumes that no regions are available to the player and the ticket + // is not matchable. + LatencyInMs map[string]*int64 `type:"map"` + + // Collection of name:value pairs containing player information for use in matchmaking. + // Player attribute names need to match playerAttributes names in the rule set + // being used. Example: "PlayerAttributes": {"skill": {"N": "23"}, "gameMode": + // {"S": "deathmatch"}}. + PlayerAttributes map[string]*AttributeValue `type:"map"` + + // Unique identifier for a player + PlayerId *string `min:"1" type:"string"` + + // Name of the team that the player is assigned to in a match. Team names are + // defined in a matchmaking rule set. + Team *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s Player) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Player) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Player) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Player"} + if s.PlayerId != nil && len(*s.PlayerId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1)) + } + if s.Team != nil && len(*s.Team) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Team", 1)) + } + if s.PlayerAttributes != nil { + for i, v := range s.PlayerAttributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlayerAttributes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLatencyInMs sets the LatencyInMs field's value. +func (s *Player) SetLatencyInMs(v map[string]*int64) *Player { + s.LatencyInMs = v + return s +} + +// SetPlayerAttributes sets the PlayerAttributes field's value. +func (s *Player) SetPlayerAttributes(v map[string]*AttributeValue) *Player { + s.PlayerAttributes = v + return s +} + +// SetPlayerId sets the PlayerId field's value. +func (s *Player) SetPlayerId(v string) *Player { + s.PlayerId = &v + return s +} + +// SetTeam sets the Team field's value. +func (s *Player) SetTeam(v string) *Player { + s.Team = &v + return s +} + +// Regional latency information for a player, used when requesting a new game +// session with StartGameSessionPlacement. This value indicates the amount of +// time lag that exists when the player is connected to a fleet in the specified +// region. The relative difference between a player's latency values for multiple +// regions are used to determine which fleets are best suited to place a new +// game session for the player. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PlayerLatency +type PlayerLatency struct { + _ struct{} `type:"structure"` + + // Amount of time that represents the time lag experienced by the player when + // connected to the specified region. + LatencyInMilliseconds *float64 `type:"float"` + + // Unique identifier for a player associated with the latency data. + PlayerId *string `min:"1" type:"string"` + + // Name of the region that is associated with the latency value. + RegionIdentifier *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s PlayerLatency) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlayerLatency) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PlayerLatency) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PlayerLatency"} + if s.PlayerId != nil && len(*s.PlayerId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1)) + } + if s.RegionIdentifier != nil && len(*s.RegionIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegionIdentifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLatencyInMilliseconds sets the LatencyInMilliseconds field's value. +func (s *PlayerLatency) SetLatencyInMilliseconds(v float64) *PlayerLatency { + s.LatencyInMilliseconds = &v + return s +} + +// SetPlayerId sets the PlayerId field's value. +func (s *PlayerLatency) SetPlayerId(v string) *PlayerLatency { + s.PlayerId = &v + return s +} + +// SetRegionIdentifier sets the RegionIdentifier field's value. +func (s *PlayerLatency) SetRegionIdentifier(v string) *PlayerLatency { + s.RegionIdentifier = &v + return s +} + +// Queue setting that determines the highest latency allowed for individual +// players when placing a game session. When a latency policy is in force, a +// game session cannot be placed at any destination in a region where a player +// is reporting latency higher than the cap. Latency policies are only enforced +// when the placement request contains player latency information. +// +// Queue-related operations include: +// +// * CreateGameSessionQueue +// +// * DescribeGameSessionQueues +// +// * UpdateGameSessionQueue +// +// * DeleteGameSessionQueue +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PlayerLatencyPolicy +type PlayerLatencyPolicy struct { + _ struct{} `type:"structure"` + + // The maximum latency value that is allowed for any player, in milliseconds. + // All policies must have a value set for this property. + MaximumIndividualPlayerLatencyMilliseconds *int64 `type:"integer"` + + // The length of time, in seconds, that the policy is enforced while placing + // a new game session. A null value for this property means that the policy + // is enforced until the queue times out. + PolicyDurationSeconds *int64 `type:"integer"` +} + +// String returns the string representation +func (s PlayerLatencyPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlayerLatencyPolicy) GoString() string { + return s.String() +} + +// SetMaximumIndividualPlayerLatencyMilliseconds sets the MaximumIndividualPlayerLatencyMilliseconds field's value. +func (s *PlayerLatencyPolicy) SetMaximumIndividualPlayerLatencyMilliseconds(v int64) *PlayerLatencyPolicy { + s.MaximumIndividualPlayerLatencyMilliseconds = &v + return s +} + +// SetPolicyDurationSeconds sets the PolicyDurationSeconds field's value. +func (s *PlayerLatencyPolicy) SetPolicyDurationSeconds(v int64) *PlayerLatencyPolicy { + s.PolicyDurationSeconds = &v + return s +} + +// Properties describing a player session. Player session objects are created +// either by creating a player session for a specific game session, or as part +// of a game session placement. A player session represents either a player +// reservation for a game session (status RESERVED) or actual player activity +// in a game session (status ACTIVE). A player session object (including player +// data) is automatically passed to a game session when the player connects +// to the game session and is validated. +// +// When a player disconnects, the player session status changes to COMPLETED. +// Once the session ends, the player session object is retained for 30 days +// and then removed. +// +// Player-session-related operations include: +// +// * CreatePlayerSession +// +// * CreatePlayerSessions +// +// * DescribePlayerSessions +// +// * Game session placements +// +// StartGameSessionPlacement +// +// DescribeGameSessionPlacement +// +// StopGameSessionPlacement +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PlayerSession +type PlayerSession struct { + _ struct{} `type:"structure"` + + // Time stamp indicating when this data object was created. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Unique identifier for a fleet that the player's game session is running on. + FleetId *string `type:"string"` + + // Unique identifier for the game session that the player session is connected + // to. + GameSessionId *string `min:"1" type:"string"` + + // IP address of the game session. To connect to a Amazon GameLift game server, + // an app needs both the IP address and port number. + IpAddress *string `type:"string"` + + // Developer-defined information related to a player. Amazon GameLift does not + // use this data, so it can be formatted as needed for use in the game. + PlayerData *string `min:"1" type:"string"` + + // Unique identifier for a player that is associated with this player session. + PlayerId *string `min:"1" type:"string"` + + // Unique identifier for a player session. + PlayerSessionId *string `type:"string"` + + // Port number for the game session. To connect to a Amazon GameLift server + // process, an app needs both the IP address and port number. + Port *int64 `min:"1" type:"integer"` + + // Current status of the player session. + // + // Possible player session statuses include the following: + // + // * RESERVED -- The player session request has been received, but the player + // has not yet connected to the server process and/or been validated. + // + // * ACTIVE -- The player has been validated by the server process and is + // currently connected. + // + // * COMPLETED -- The player connection has been dropped. + // + // * TIMEDOUT -- A player session request was received, but the player did + // not connect and/or was not validated within the timeout limit (60 seconds). + Status *string `type:"string" enum:"PlayerSessionStatus"` + + // Time stamp indicating when this data object was terminated. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + TerminationTime *time.Time `type:"timestamp" timestampFormat:"unix"` +} + +// String returns the string representation +func (s PlayerSession) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlayerSession) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *PlayerSession) SetCreationTime(v time.Time) *PlayerSession { + s.CreationTime = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *PlayerSession) SetFleetId(v string) *PlayerSession { + s.FleetId = &v + return s +} + +// SetGameSessionId sets the GameSessionId field's value. +func (s *PlayerSession) SetGameSessionId(v string) *PlayerSession { + s.GameSessionId = &v + return s +} + +// SetIpAddress sets the IpAddress field's value. +func (s *PlayerSession) SetIpAddress(v string) *PlayerSession { + s.IpAddress = &v + return s +} + +// SetPlayerData sets the PlayerData field's value. +func (s *PlayerSession) SetPlayerData(v string) *PlayerSession { + s.PlayerData = &v + return s +} + +// SetPlayerId sets the PlayerId field's value. +func (s *PlayerSession) SetPlayerId(v string) *PlayerSession { + s.PlayerId = &v + return s +} + +// SetPlayerSessionId sets the PlayerSessionId field's value. +func (s *PlayerSession) SetPlayerSessionId(v string) *PlayerSession { + s.PlayerSessionId = &v + return s +} + +// SetPort sets the Port field's value. +func (s *PlayerSession) SetPort(v int64) *PlayerSession { + s.Port = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *PlayerSession) SetStatus(v string) *PlayerSession { + s.Status = &v + return s +} + +// SetTerminationTime sets the TerminationTime field's value. +func (s *PlayerSession) SetTerminationTime(v time.Time) *PlayerSession { + s.TerminationTime = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicyInput +type PutScalingPolicyInput struct { + _ struct{} `type:"structure"` + + // Comparison operator to use when measuring the metric against the threshold + // value. + // + // ComparisonOperator is a required field + ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperatorType"` + + // Length of time (in minutes) the metric must be at or beyond the threshold + // before a scaling event is triggered. + // + // EvaluationPeriods is a required field + EvaluationPeriods *int64 `min:"1" type:"integer" required:"true"` + + // Unique identifier for a fleet to apply this policy to. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Name of the Amazon GameLift-defined metric that is used to trigger an adjustment. + // + // * ActivatingGameSessions -- number of game sessions in the process of + // being created (game session status = ACTIVATING). + // + // * ActiveGameSessions -- number of game sessions currently running (game + // session status = ACTIVE). + // + // * CurrentPlayerSessions -- number of active or reserved player sessions + // (player session status = ACTIVE or RESERVED). + // + // * AvailablePlayerSessions -- number of player session slots currently + // available in active game sessions across the fleet, calculated by subtracting + // a game session's current player session count from its maximum player + // session count. This number includes game sessions that are not currently + // accepting players (game session PlayerSessionCreationPolicy = DENY_ALL). + // + // * ActiveInstances -- number of instances currently running a game session. + // + // * IdleInstances -- number of instances not currently running a game session. + // + // MetricName is a required field + MetricName *string `type:"string" required:"true" enum:"MetricName"` + + // Descriptive label that is associated with a scaling policy. Policy names + // do not need to be unique. A fleet can have only one scaling policy with the + // same name. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Amount of adjustment to make, based on the scaling adjustment type. + // + // ScalingAdjustment is a required field + ScalingAdjustment *int64 `type:"integer" required:"true"` + + // Type of adjustment to make to a fleet's instance count (see FleetCapacity): + // + // * ChangeInCapacity -- add (or subtract) the scaling adjustment value from + // the current instance count. Positive values scale up while negative values + // scale down. + // + // * ExactCapacity -- set the instance count to the scaling adjustment value. + // + // * PercentChangeInCapacity -- increase or reduce the current instance count + // by the scaling adjustment, read as a percentage. Positive values scale + // up while negative values scale down; for example, a value of "-10" scales + // the fleet down by 10%. + // + // ScalingAdjustmentType is a required field + ScalingAdjustmentType *string `type:"string" required:"true" enum:"ScalingAdjustmentType"` + + // Metric value used to trigger a scaling event. + // + // Threshold is a required field + Threshold *float64 `type:"double" required:"true"` +} + +// String returns the string representation +func (s PutScalingPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutScalingPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutScalingPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutScalingPolicyInput"} + if s.ComparisonOperator == nil { + invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) + } + if s.EvaluationPeriods == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationPeriods")) + } + if s.EvaluationPeriods != nil && *s.EvaluationPeriods < 1 { + invalidParams.Add(request.NewErrParamMinValue("EvaluationPeriods", 1)) + } + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ScalingAdjustment == nil { + invalidParams.Add(request.NewErrParamRequired("ScalingAdjustment")) + } + if s.ScalingAdjustmentType == nil { + invalidParams.Add(request.NewErrParamRequired("ScalingAdjustmentType")) + } + if s.Threshold == nil { + invalidParams.Add(request.NewErrParamRequired("Threshold")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComparisonOperator sets the ComparisonOperator field's value. +func (s *PutScalingPolicyInput) SetComparisonOperator(v string) *PutScalingPolicyInput { + s.ComparisonOperator = &v + return s +} + +// SetEvaluationPeriods sets the EvaluationPeriods field's value. +func (s *PutScalingPolicyInput) SetEvaluationPeriods(v int64) *PutScalingPolicyInput { + s.EvaluationPeriods = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *PutScalingPolicyInput) SetFleetId(v string) *PutScalingPolicyInput { + s.FleetId = &v + return s +} + +// SetMetricName sets the MetricName field's value. +func (s *PutScalingPolicyInput) SetMetricName(v string) *PutScalingPolicyInput { + s.MetricName = &v + return s +} + +// SetName sets the Name field's value. +func (s *PutScalingPolicyInput) SetName(v string) *PutScalingPolicyInput { + s.Name = &v + return s +} + +// SetScalingAdjustment sets the ScalingAdjustment field's value. +func (s *PutScalingPolicyInput) SetScalingAdjustment(v int64) *PutScalingPolicyInput { + s.ScalingAdjustment = &v + return s +} + +// SetScalingAdjustmentType sets the ScalingAdjustmentType field's value. +func (s *PutScalingPolicyInput) SetScalingAdjustmentType(v string) *PutScalingPolicyInput { + s.ScalingAdjustmentType = &v + return s +} + +// SetThreshold sets the Threshold field's value. +func (s *PutScalingPolicyInput) SetThreshold(v float64) *PutScalingPolicyInput { + s.Threshold = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicyOutput +type PutScalingPolicyOutput struct { + _ struct{} `type:"structure"` + + // Descriptive label that is associated with a scaling policy. Policy names + // do not need to be unique. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s PutScalingPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutScalingPolicyOutput) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *PutScalingPolicyOutput) SetName(v string) *PutScalingPolicyOutput { + s.Name = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RequestUploadCredentialsInput +type RequestUploadCredentialsInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a build to get credentials for. + // + // BuildId is a required field + BuildId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RequestUploadCredentialsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RequestUploadCredentialsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RequestUploadCredentialsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RequestUploadCredentialsInput"} + if s.BuildId == nil { + invalidParams.Add(request.NewErrParamRequired("BuildId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBuildId sets the BuildId field's value. +func (s *RequestUploadCredentialsInput) SetBuildId(v string) *RequestUploadCredentialsInput { + s.BuildId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RequestUploadCredentialsOutput +type RequestUploadCredentialsOutput struct { + _ struct{} `type:"structure"` + + // Amazon S3 path and key, identifying where the game build files are stored. + StorageLocation *S3Location `type:"structure"` + + // AWS credentials required when uploading a game build to the storage location. + // These credentials have a limited lifespan and are valid only for the build + // they were issued for. + UploadCredentials *AwsCredentials `type:"structure"` +} + +// String returns the string representation +func (s RequestUploadCredentialsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RequestUploadCredentialsOutput) GoString() string { + return s.String() +} + +// SetStorageLocation sets the StorageLocation field's value. +func (s *RequestUploadCredentialsOutput) SetStorageLocation(v *S3Location) *RequestUploadCredentialsOutput { + s.StorageLocation = v + return s +} + +// SetUploadCredentials sets the UploadCredentials field's value. +func (s *RequestUploadCredentialsOutput) SetUploadCredentials(v *AwsCredentials) *RequestUploadCredentialsOutput { + s.UploadCredentials = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResolveAliasInput +type ResolveAliasInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for the alias you want to resolve. + // + // AliasId is a required field + AliasId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ResolveAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResolveAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResolveAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResolveAliasInput"} + if s.AliasId == nil { + invalidParams.Add(request.NewErrParamRequired("AliasId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasId sets the AliasId field's value. +func (s *ResolveAliasInput) SetAliasId(v string) *ResolveAliasInput { + s.AliasId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResolveAliasOutput +type ResolveAliasOutput struct { + _ struct{} `type:"structure"` + + // Fleet identifier that is associated with the requested alias. + FleetId *string `type:"string"` +} + +// String returns the string representation +func (s ResolveAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResolveAliasOutput) GoString() string { + return s.String() +} + +// SetFleetId sets the FleetId field's value. +func (s *ResolveAliasOutput) SetFleetId(v string) *ResolveAliasOutput { + s.FleetId = &v + return s +} + +// Policy that limits the number of game sessions a player can create on the +// same fleet. This optional policy gives game owners control over how players +// can consume available game server resources. A resource creation policy makes +// the following statement: "An individual player can create a maximum number +// of new game sessions within a specified time period". +// +// The policy is evaluated when a player tries to create a new game session. +// For example, with a policy of 10 new game sessions and a time period of 60 +// minutes, on receiving a CreateGameSession request, Amazon GameLift checks +// that the player (identified by CreatorId) has created fewer than 10 game +// sessions in the past 60 minutes. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResourceCreationLimitPolicy +type ResourceCreationLimitPolicy struct { + _ struct{} `type:"structure"` + + // Maximum number of game sessions that an individual can create during the + // policy period. + NewGameSessionsPerCreator *int64 `type:"integer"` + + // Time span used in evaluating the resource creation limit policy. + PolicyPeriodInMinutes *int64 `type:"integer"` +} + +// String returns the string representation +func (s ResourceCreationLimitPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceCreationLimitPolicy) GoString() string { + return s.String() +} + +// SetNewGameSessionsPerCreator sets the NewGameSessionsPerCreator field's value. +func (s *ResourceCreationLimitPolicy) SetNewGameSessionsPerCreator(v int64) *ResourceCreationLimitPolicy { + s.NewGameSessionsPerCreator = &v + return s +} + +// SetPolicyPeriodInMinutes sets the PolicyPeriodInMinutes field's value. +func (s *ResourceCreationLimitPolicy) SetPolicyPeriodInMinutes(v int64) *ResourceCreationLimitPolicy { + s.PolicyPeriodInMinutes = &v + return s +} + +// Routing configuration for a fleet alias. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RoutingStrategy +type RoutingStrategy struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet that the alias points to. + FleetId *string `type:"string"` + + // Message text to be used with a terminal routing strategy. + Message *string `type:"string"` + + // Type of routing strategy. + // + // Possible routing types include the following: + // + // * SIMPLE -- The alias resolves to one specific fleet. Use this type when + // routing to active fleets. + // + // * TERMINAL -- The alias does not resolve to a fleet but instead can be + // used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException + // with the RoutingStrategy message embedded. + Type *string `type:"string" enum:"RoutingStrategyType"` +} + +// String returns the string representation +func (s RoutingStrategy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RoutingStrategy) GoString() string { + return s.String() +} + +// SetFleetId sets the FleetId field's value. +func (s *RoutingStrategy) SetFleetId(v string) *RoutingStrategy { + s.FleetId = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *RoutingStrategy) SetMessage(v string) *RoutingStrategy { + s.Message = &v + return s +} + +// SetType sets the Type field's value. +func (s *RoutingStrategy) SetType(v string) *RoutingStrategy { + s.Type = &v + return s +} + +// A collection of server process configurations that describe what processes +// to run on each instance in a fleet. All fleets must have a run-time configuration. +// Each instance in the fleet launches the server processes specified in the +// run-time configuration and launches new ones as existing processes end. Each +// instance regularly checks for an updated run-time configuration and follows +// the new instructions. +// +// The run-time configuration enables the instances in a fleet to run multiple +// processes simultaneously. Potential scenarios are as follows: (1) Run multiple +// processes of a single game server executable to maximize usage of your hosting +// resources. (2) Run one or more processes of different build executables, +// such as your game server executable and a related program, or two or more +// different versions of a game server. (3) Run multiple processes of a single +// game server but with different launch parameters, for example to run one +// process on each instance in debug mode. +// +// A Amazon GameLift instance is limited to 50 processes running simultaneously. +// A run-time configuration must specify fewer than this limit. To calculate +// the total number of processes specified in a run-time configuration, add +// the values of the ConcurrentExecutions parameter for each ServerProcess object +// in the run-time configuration. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RuntimeConfiguration +type RuntimeConfiguration struct { + _ struct{} `type:"structure"` + + // Maximum amount of time (in seconds) that a game session can remain in status + // ACTIVATING. If the game session is not active before the timeout, activation + // is terminated and the game session status is changed to TERMINATED. + GameSessionActivationTimeoutSeconds *int64 `min:"1" type:"integer"` + + // Maximum number of game sessions with status ACTIVATING to allow on an instance + // simultaneously. This setting limits the amount of instance resources that + // can be used for new game activations at any one time. + MaxConcurrentGameSessionActivations *int64 `min:"1" type:"integer"` + + // Collection of server process configurations that describe which server processes + // to run on each instance in a fleet. + ServerProcesses []*ServerProcess `min:"1" type:"list"` +} + +// String returns the string representation +func (s RuntimeConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RuntimeConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuntimeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuntimeConfiguration"} + if s.GameSessionActivationTimeoutSeconds != nil && *s.GameSessionActivationTimeoutSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("GameSessionActivationTimeoutSeconds", 1)) + } + if s.MaxConcurrentGameSessionActivations != nil && *s.MaxConcurrentGameSessionActivations < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxConcurrentGameSessionActivations", 1)) + } + if s.ServerProcesses != nil && len(s.ServerProcesses) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServerProcesses", 1)) + } + if s.ServerProcesses != nil { + for i, v := range s.ServerProcesses { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServerProcesses", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGameSessionActivationTimeoutSeconds sets the GameSessionActivationTimeoutSeconds field's value. +func (s *RuntimeConfiguration) SetGameSessionActivationTimeoutSeconds(v int64) *RuntimeConfiguration { + s.GameSessionActivationTimeoutSeconds = &v + return s +} + +// SetMaxConcurrentGameSessionActivations sets the MaxConcurrentGameSessionActivations field's value. +func (s *RuntimeConfiguration) SetMaxConcurrentGameSessionActivations(v int64) *RuntimeConfiguration { + s.MaxConcurrentGameSessionActivations = &v + return s +} + +// SetServerProcesses sets the ServerProcesses field's value. +func (s *RuntimeConfiguration) SetServerProcesses(v []*ServerProcess) *RuntimeConfiguration { + s.ServerProcesses = v + return s +} + +// Location in Amazon Simple Storage Service (Amazon S3) where build files can +// be stored for access by Amazon GameLift. This location is specified in a +// CreateBuild request. For more details, see the Create a Build with Files +// in Amazon S3 (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build). +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/S3Location +type S3Location struct { + _ struct{} `type:"structure"` + + // Amazon S3 bucket identifier. This is the name of your S3 bucket. + Bucket *string `min:"1" type:"string"` + + // Name of the zip file containing your build files. + Key *string `min:"1" type:"string"` + + // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // for the access role that allows Amazon GameLift to access your S3 bucket. + RoleArn *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s S3Location) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3Location) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3Location) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Location"} + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.RoleArn != nil && len(*s.RoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucket sets the Bucket field's value. +func (s *S3Location) SetBucket(v string) *S3Location { + s.Bucket = &v + return s +} + +// SetKey sets the Key field's value. +func (s *S3Location) SetKey(v string) *S3Location { + s.Key = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *S3Location) SetRoleArn(v string) *S3Location { + s.RoleArn = &v + return s +} + +// Rule that controls how a fleet is scaled. Scaling policies are uniquely identified +// by the combination of name and fleet ID. +// +// Fleet-related operations include: +// +// * CreateFleet +// +// * ListFleets +// +// * Describe fleets: +// +// DescribeFleetAttributes +// +// DescribeFleetPortSettings +// +// DescribeFleetUtilization +// +// DescribeRuntimeConfiguration +// +// DescribeFleetEvents +// +// * Update fleets: +// +// UpdateFleetAttributes +// +// UpdateFleetCapacity +// +// UpdateFleetPortSettings +// +// UpdateRuntimeConfiguration +// +// * Manage fleet capacity: +// +// DescribeFleetCapacity +// +// UpdateFleetCapacity +// +// PutScalingPolicy (automatic scaling) +// +// DescribeScalingPolicies (automatic scaling) +// +// DeleteScalingPolicy (automatic scaling) +// +// DescribeEC2InstanceLimits +// +// * DeleteFleet +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ScalingPolicy +type ScalingPolicy struct { + _ struct{} `type:"structure"` + + // Comparison operator to use when measuring a metric against the threshold + // value. + ComparisonOperator *string `type:"string" enum:"ComparisonOperatorType"` + + // Length of time (in minutes) the metric must be at or beyond the threshold + // before a scaling event is triggered. + EvaluationPeriods *int64 `min:"1" type:"integer"` + + // Unique identifier for a fleet that is associated with this scaling policy. + FleetId *string `type:"string"` + + // Name of the Amazon GameLift-defined metric that is used to trigger an adjustment. + // + // * ActivatingGameSessions -- number of game sessions in the process of + // being created (game session status = ACTIVATING). + // + // * ActiveGameSessions -- number of game sessions currently running (game + // session status = ACTIVE). + // + // * CurrentPlayerSessions -- number of active or reserved player sessions + // (player session status = ACTIVE or RESERVED). + // + // * AvailablePlayerSessions -- number of player session slots currently + // available in active game sessions across the fleet, calculated by subtracting + // a game session's current player session count from its maximum player + // session count. This number does include game sessions that are not currently + // accepting players (game session PlayerSessionCreationPolicy = DENY_ALL). + // + // * ActiveInstances -- number of instances currently running a game session. + // + // * IdleInstances -- number of instances not currently running a game session. + MetricName *string `type:"string" enum:"MetricName"` + + // Descriptive label that is associated with a scaling policy. Policy names + // do not need to be unique. + Name *string `min:"1" type:"string"` + + // Amount of adjustment to make, based on the scaling adjustment type. + ScalingAdjustment *int64 `type:"integer"` + + // Type of adjustment to make to a fleet's instance count (see FleetCapacity): + // + // * ChangeInCapacity -- add (or subtract) the scaling adjustment value from + // the current instance count. Positive values scale up while negative values + // scale down. + // + // * ExactCapacity -- set the instance count to the scaling adjustment value. + // + // * PercentChangeInCapacity -- increase or reduce the current instance count + // by the scaling adjustment, read as a percentage. Positive values scale + // up while negative values scale down. + ScalingAdjustmentType *string `type:"string" enum:"ScalingAdjustmentType"` + + // Current status of the scaling policy. The scaling policy is only in force + // when in an ACTIVE status. + // + // * ACTIVE -- The scaling policy is currently in force. + // + // * UPDATE_REQUESTED -- A request to update the scaling policy has been + // received. + // + // * UPDATING -- A change is being made to the scaling policy. + // + // * DELETE_REQUESTED -- A request to delete the scaling policy has been + // received. + // + // * DELETING -- The scaling policy is being deleted. + // + // * DELETED -- The scaling policy has been deleted. + // + // * ERROR -- An error occurred in creating the policy. It should be removed + // and recreated. + Status *string `type:"string" enum:"ScalingStatusType"` + + // Metric value used to trigger a scaling event. + Threshold *float64 `type:"double"` +} + +// String returns the string representation +func (s ScalingPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScalingPolicy) GoString() string { + return s.String() +} + +// SetComparisonOperator sets the ComparisonOperator field's value. +func (s *ScalingPolicy) SetComparisonOperator(v string) *ScalingPolicy { + s.ComparisonOperator = &v + return s +} + +// SetEvaluationPeriods sets the EvaluationPeriods field's value. +func (s *ScalingPolicy) SetEvaluationPeriods(v int64) *ScalingPolicy { + s.EvaluationPeriods = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *ScalingPolicy) SetFleetId(v string) *ScalingPolicy { + s.FleetId = &v + return s +} + +// SetMetricName sets the MetricName field's value. +func (s *ScalingPolicy) SetMetricName(v string) *ScalingPolicy { + s.MetricName = &v + return s +} + +// SetName sets the Name field's value. +func (s *ScalingPolicy) SetName(v string) *ScalingPolicy { + s.Name = &v + return s +} + +// SetScalingAdjustment sets the ScalingAdjustment field's value. +func (s *ScalingPolicy) SetScalingAdjustment(v int64) *ScalingPolicy { + s.ScalingAdjustment = &v + return s +} + +// SetScalingAdjustmentType sets the ScalingAdjustmentType field's value. +func (s *ScalingPolicy) SetScalingAdjustmentType(v string) *ScalingPolicy { + s.ScalingAdjustmentType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ScalingPolicy) SetStatus(v string) *ScalingPolicy { + s.Status = &v + return s +} + +// SetThreshold sets the Threshold field's value. +func (s *ScalingPolicy) SetThreshold(v float64) *ScalingPolicy { + s.Threshold = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SearchGameSessionsInput +type SearchGameSessionsInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for an alias associated with the fleet to search for active + // game sessions. Each request must reference either a fleet ID or alias ID, + // but not both. + AliasId *string `type:"string"` + + // String containing the search criteria for the session search. If no filter + // expression is included, the request returns results for all game sessions + // in the fleet that are in ACTIVE status. + // + // A filter expression can contain one or multiple conditions. Each condition + // consists of the following: + // + // * Operand -- Name of a game session attribute. Valid values are gameSessionName, + // gameSessionId, creationTimeMillis, playerSessionCount, maximumSessions, + // hasAvailablePlayerSessions. + // + // * Comparator -- Valid comparators are: =, <>, <, >, <=, >=. + // + // * Value -- Value to be searched for. Values can be numbers, boolean values + // (true/false) or strings. String values are case sensitive, enclosed in + // single quotes. Special characters must be escaped. Boolean and string + // values can only be used with the comparators = and <>. For example, the + // following filter expression searches on gameSessionName: "FilterExpression": + // "gameSessionName = 'Matt\\'s Awesome Game 1'". + // + // To chain multiple conditions in a single expression, use the logical keywords + // AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT + // z, NOT (x OR y). + // + // Session search evaluates conditions from left to right using the following + // precedence rules: + // + // =, <>, <, >, <=, >= + // + // Parentheses + // + // NOT + // + // AND + // + // OR + // + // For example, this filter expression retrieves game sessions hosting at least + // ten players that have an open player slot: "maximumSessions>=10 AND hasAvailablePlayerSessions=true". + FilterExpression *string `min:"1" type:"string"` + + // Unique identifier for a fleet to search for active game sessions. Each request + // must reference either a fleet ID or alias ID, but not both. + FleetId *string `type:"string"` + + // Maximum number of results to return. Use this parameter with NextToken to + // get results as a set of sequential pages. The maximum number of results returned + // is 20, even if this value is not set or is set higher than 20. + Limit *int64 `min:"1" type:"integer"` + + // Token that indicates the start of the next sequential page of results. Use + // the token that is returned with a previous call to this action. To start + // at the beginning of the result set, do not specify a value. + NextToken *string `min:"1" type:"string"` + + // Instructions on how to sort the search results. If no sort expression is + // included, the request returns results in random order. A sort expression + // consists of the following elements: + // + // * Operand -- Name of a game session attribute. Valid values are gameSessionName, + // gameSessionId, creationTimeMillis, playerSessionCount, maximumSessions, + // hasAvailablePlayerSessions. + // + // * Order -- Valid sort orders are ASC (ascending) and DESC (descending). + // + // For example, this sort expression returns the oldest active sessions first: + // "SortExpression": "creationTimeMillis ASC". Results with a null value for + // the sort operand are returned at the end of the list. + SortExpression *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s SearchGameSessionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchGameSessionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchGameSessionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchGameSessionsInput"} + if s.FilterExpression != nil && len(*s.FilterExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FilterExpression", 1)) + } + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.SortExpression != nil && len(*s.SortExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SortExpression", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasId sets the AliasId field's value. +func (s *SearchGameSessionsInput) SetAliasId(v string) *SearchGameSessionsInput { + s.AliasId = &v + return s +} + +// SetFilterExpression sets the FilterExpression field's value. +func (s *SearchGameSessionsInput) SetFilterExpression(v string) *SearchGameSessionsInput { + s.FilterExpression = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *SearchGameSessionsInput) SetFleetId(v string) *SearchGameSessionsInput { + s.FleetId = &v + return s +} + +// SetLimit sets the Limit field's value. +func (s *SearchGameSessionsInput) SetLimit(v int64) *SearchGameSessionsInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchGameSessionsInput) SetNextToken(v string) *SearchGameSessionsInput { + s.NextToken = &v + return s +} + +// SetSortExpression sets the SortExpression field's value. +func (s *SearchGameSessionsInput) SetSortExpression(v string) *SearchGameSessionsInput { + s.SortExpression = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SearchGameSessionsOutput +type SearchGameSessionsOutput struct { + _ struct{} `type:"structure"` + + // Collection of objects containing game session properties for each session + // matching the request. + GameSessions []*GameSession `type:"list"` + + // Token that indicates where to resume retrieving results on the next call + // to this action. If no token is returned, these results represent the end + // of the list. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s SearchGameSessionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchGameSessionsOutput) GoString() string { + return s.String() +} + +// SetGameSessions sets the GameSessions field's value. +func (s *SearchGameSessionsOutput) SetGameSessions(v []*GameSession) *SearchGameSessionsOutput { + s.GameSessions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchGameSessionsOutput) SetNextToken(v string) *SearchGameSessionsOutput { + s.NextToken = &v + return s +} + +// A set of instructions for launching server processes on each instance in +// a fleet. Each instruction set identifies the location of the server executable, +// optional launch parameters, and the number of server processes with this +// configuration to maintain concurrently on the instance. Server process configurations +// make up a fleet's RuntimeConfiguration. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ServerProcess +type ServerProcess struct { + _ struct{} `type:"structure"` + + // Number of server processes using this configuration to run concurrently on + // an instance. + // + // ConcurrentExecutions is a required field + ConcurrentExecutions *int64 `min:"1" type:"integer" required:"true"` + + // Location of the server executable in a game build. All game builds are installed + // on instances at the root : for Windows instances C:\game, and for Linux instances + // /local/game. A Windows game build with an executable file located at MyGame\latest\server.exe + // must have a launch path of "C:\game\MyGame\latest\server.exe". A Linux game + // build with an executable file located at MyGame/latest/server.exe must have + // a launch path of "/local/game/MyGame/latest/server.exe". + // + // LaunchPath is a required field + LaunchPath *string `min:"1" type:"string" required:"true"` + + // Optional list of parameters to pass to the server executable on launch. + Parameters *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ServerProcess) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServerProcess) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ServerProcess) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ServerProcess"} + if s.ConcurrentExecutions == nil { + invalidParams.Add(request.NewErrParamRequired("ConcurrentExecutions")) + } + if s.ConcurrentExecutions != nil && *s.ConcurrentExecutions < 1 { + invalidParams.Add(request.NewErrParamMinValue("ConcurrentExecutions", 1)) + } + if s.LaunchPath == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchPath")) + } + if s.LaunchPath != nil && len(*s.LaunchPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchPath", 1)) + } + if s.Parameters != nil && len(*s.Parameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConcurrentExecutions sets the ConcurrentExecutions field's value. +func (s *ServerProcess) SetConcurrentExecutions(v int64) *ServerProcess { + s.ConcurrentExecutions = &v + return s +} + +// SetLaunchPath sets the LaunchPath field's value. +func (s *ServerProcess) SetLaunchPath(v string) *ServerProcess { + s.LaunchPath = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *ServerProcess) SetParameters(v string) *ServerProcess { + s.Parameters = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacementInput +type StartGameSessionPlacementInput struct { + _ struct{} `type:"structure"` + + // Set of information on each player to create a player session for. + DesiredPlayerSessions []*DesiredPlayerSession `type:"list"` + + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + GameProperties []*GameProperty `type:"list"` + + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + GameSessionData *string `min:"1" type:"string"` + + // Descriptive label that is associated with a game session. Session names do + // not need to be unique. + GameSessionName *string `min:"1" type:"string"` + + // Name of the queue to use to place the new game session. + // + // GameSessionQueueName is a required field + GameSessionQueueName *string `min:"1" type:"string" required:"true"` + + // Maximum number of players that can be connected simultaneously to the game + // session. + // + // MaximumPlayerSessionCount is a required field + MaximumPlayerSessionCount *int64 `type:"integer" required:"true"` + + // Unique identifier to assign to the new game session placement. This value + // is developer-defined. The value must be unique across all regions and cannot + // be reused unless you are resubmitting a canceled or timed-out placement request. + // + // PlacementId is a required field + PlacementId *string `min:"1" type:"string" required:"true"` + + // Set of values, expressed in milliseconds, indicating the amount of latency + // that a player experiences when connected to AWS regions. This information + // is used to try to place the new game session where it can offer the best + // possible gameplay experience for the players. + PlayerLatencies []*PlayerLatency `type:"list"` +} + +// String returns the string representation +func (s StartGameSessionPlacementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartGameSessionPlacementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartGameSessionPlacementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartGameSessionPlacementInput"} + if s.GameSessionData != nil && len(*s.GameSessionData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1)) + } + if s.GameSessionName != nil && len(*s.GameSessionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionName", 1)) + } + if s.GameSessionQueueName == nil { + invalidParams.Add(request.NewErrParamRequired("GameSessionQueueName")) + } + if s.GameSessionQueueName != nil && len(*s.GameSessionQueueName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionQueueName", 1)) + } + if s.MaximumPlayerSessionCount == nil { + invalidParams.Add(request.NewErrParamRequired("MaximumPlayerSessionCount")) + } + if s.PlacementId == nil { + invalidParams.Add(request.NewErrParamRequired("PlacementId")) + } + if s.PlacementId != nil && len(*s.PlacementId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1)) + } + if s.DesiredPlayerSessions != nil { + for i, v := range s.DesiredPlayerSessions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DesiredPlayerSessions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.GameProperties != nil { + for i, v := range s.GameProperties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PlayerLatencies != nil { + for i, v := range s.PlayerLatencies { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlayerLatencies", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDesiredPlayerSessions sets the DesiredPlayerSessions field's value. +func (s *StartGameSessionPlacementInput) SetDesiredPlayerSessions(v []*DesiredPlayerSession) *StartGameSessionPlacementInput { + s.DesiredPlayerSessions = v + return s +} + +// SetGameProperties sets the GameProperties field's value. +func (s *StartGameSessionPlacementInput) SetGameProperties(v []*GameProperty) *StartGameSessionPlacementInput { + s.GameProperties = v + return s +} + +// SetGameSessionData sets the GameSessionData field's value. +func (s *StartGameSessionPlacementInput) SetGameSessionData(v string) *StartGameSessionPlacementInput { + s.GameSessionData = &v + return s +} + +// SetGameSessionName sets the GameSessionName field's value. +func (s *StartGameSessionPlacementInput) SetGameSessionName(v string) *StartGameSessionPlacementInput { + s.GameSessionName = &v + return s +} + +// SetGameSessionQueueName sets the GameSessionQueueName field's value. +func (s *StartGameSessionPlacementInput) SetGameSessionQueueName(v string) *StartGameSessionPlacementInput { + s.GameSessionQueueName = &v + return s +} + +// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value. +func (s *StartGameSessionPlacementInput) SetMaximumPlayerSessionCount(v int64) *StartGameSessionPlacementInput { + s.MaximumPlayerSessionCount = &v + return s +} + +// SetPlacementId sets the PlacementId field's value. +func (s *StartGameSessionPlacementInput) SetPlacementId(v string) *StartGameSessionPlacementInput { + s.PlacementId = &v + return s +} + +// SetPlayerLatencies sets the PlayerLatencies field's value. +func (s *StartGameSessionPlacementInput) SetPlayerLatencies(v []*PlayerLatency) *StartGameSessionPlacementInput { + s.PlayerLatencies = v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacementOutput +type StartGameSessionPlacementOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the newly created game session placement. This object + // includes all the information provided in the request, as well as start/end + // time stamps and placement status. + GameSessionPlacement *GameSessionPlacement `type:"structure"` +} + +// String returns the string representation +func (s StartGameSessionPlacementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartGameSessionPlacementOutput) GoString() string { + return s.String() +} + +// SetGameSessionPlacement sets the GameSessionPlacement field's value. +func (s *StartGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *StartGameSessionPlacementOutput { + s.GameSessionPlacement = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmakingInput +type StartMatchmakingInput struct { + _ struct{} `type:"structure"` + + // Name of the matchmaking configuration to use for this request. Matchmaking + // configurations must exist in the same region as this request. + // + // ConfigurationName is a required field + ConfigurationName *string `min:"1" type:"string" required:"true"` + + // Information on each player to be matched. This information must include a + // player ID, and may contain player attributes and latency data to be used + // in the matchmaking process. After a successful match, Player objects contain + // the name of the team the player is assigned to. + // + // Players is a required field + Players []*Player `type:"list" required:"true"` + + // Unique identifier for a matchmaking ticket. Use this identifier to track + // the matchmaking ticket status and retrieve match results. + TicketId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s StartMatchmakingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartMatchmakingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartMatchmakingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartMatchmakingInput"} + if s.ConfigurationName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigurationName")) + } + if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1)) + } + if s.Players == nil { + invalidParams.Add(request.NewErrParamRequired("Players")) + } + if s.TicketId != nil && len(*s.TicketId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TicketId", 1)) + } + if s.Players != nil { + for i, v := range s.Players { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Players", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigurationName sets the ConfigurationName field's value. +func (s *StartMatchmakingInput) SetConfigurationName(v string) *StartMatchmakingInput { + s.ConfigurationName = &v + return s +} + +// SetPlayers sets the Players field's value. +func (s *StartMatchmakingInput) SetPlayers(v []*Player) *StartMatchmakingInput { + s.Players = v + return s +} + +// SetTicketId sets the TicketId field's value. +func (s *StartMatchmakingInput) SetTicketId(v string) *StartMatchmakingInput { + s.TicketId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmakingOutput +type StartMatchmakingOutput struct { + _ struct{} `type:"structure"` + + // Ticket representing the matchmaking request. This object include the information + // included in the request, ticket status, and match results as generated during + // the matchmaking process. + MatchmakingTicket *MatchmakingTicket `type:"structure"` +} + +// String returns the string representation +func (s StartMatchmakingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartMatchmakingOutput) GoString() string { + return s.String() +} + +// SetMatchmakingTicket sets the MatchmakingTicket field's value. +func (s *StartMatchmakingOutput) SetMatchmakingTicket(v *MatchmakingTicket) *StartMatchmakingOutput { + s.MatchmakingTicket = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacementInput +type StopGameSessionPlacementInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a game session placement to cancel. + // + // PlacementId is a required field + PlacementId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopGameSessionPlacementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopGameSessionPlacementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopGameSessionPlacementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopGameSessionPlacementInput"} + if s.PlacementId == nil { + invalidParams.Add(request.NewErrParamRequired("PlacementId")) + } + if s.PlacementId != nil && len(*s.PlacementId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPlacementId sets the PlacementId field's value. +func (s *StopGameSessionPlacementInput) SetPlacementId(v string) *StopGameSessionPlacementInput { + s.PlacementId = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacementOutput +type StopGameSessionPlacementOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the canceled game session placement, with CANCELLED + // status and an end time stamp. + GameSessionPlacement *GameSessionPlacement `type:"structure"` +} + +// String returns the string representation +func (s StopGameSessionPlacementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopGameSessionPlacementOutput) GoString() string { + return s.String() +} + +// SetGameSessionPlacement sets the GameSessionPlacement field's value. +func (s *StopGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *StopGameSessionPlacementOutput { + s.GameSessionPlacement = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmakingInput +type StopMatchmakingInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a matchmaking ticket. + // + // TicketId is a required field + TicketId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopMatchmakingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopMatchmakingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopMatchmakingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopMatchmakingInput"} + if s.TicketId == nil { + invalidParams.Add(request.NewErrParamRequired("TicketId")) + } + if s.TicketId != nil && len(*s.TicketId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TicketId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTicketId sets the TicketId field's value. +func (s *StopMatchmakingInput) SetTicketId(v string) *StopMatchmakingInput { + s.TicketId = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmakingOutput +type StopMatchmakingOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopMatchmakingOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopMatchmakingOutput) GoString() string { + return s.String() +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAliasInput +type UpdateAliasInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet alias. Specify the alias you want to update. + // + // AliasId is a required field + AliasId *string `type:"string" required:"true"` + + // Human-readable description of an alias. + Description *string `min:"1" type:"string"` + + // Descriptive label that is associated with an alias. Alias names do not need + // to be unique. + Name *string `min:"1" type:"string"` + + // Object that specifies the fleet and routing type to use for the alias. + RoutingStrategy *RoutingStrategy `type:"structure"` +} + +// String returns the string representation +func (s UpdateAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAliasInput"} + if s.AliasId == nil { + invalidParams.Add(request.NewErrParamRequired("AliasId")) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasId sets the AliasId field's value. +func (s *UpdateAliasInput) SetAliasId(v string) *UpdateAliasInput { + s.AliasId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateAliasInput) SetDescription(v string) *UpdateAliasInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateAliasInput) SetName(v string) *UpdateAliasInput { + s.Name = &v + return s +} + +// SetRoutingStrategy sets the RoutingStrategy field's value. +func (s *UpdateAliasInput) SetRoutingStrategy(v *RoutingStrategy) *UpdateAliasInput { + s.RoutingStrategy = v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAliasOutput +type UpdateAliasOutput struct { + _ struct{} `type:"structure"` + + // Object that contains the updated alias configuration. + Alias *Alias `type:"structure"` +} + +// String returns the string representation +func (s UpdateAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAliasOutput) GoString() string { + return s.String() +} + +// SetAlias sets the Alias field's value. +func (s *UpdateAliasOutput) SetAlias(v *Alias) *UpdateAliasOutput { + s.Alias = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuildInput +type UpdateBuildInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a build to update. + // + // BuildId is a required field + BuildId *string `type:"string" required:"true"` + + // Descriptive label that is associated with a build. Build names do not need + // to be unique. + Name *string `min:"1" type:"string"` + + // Version that is associated with this build. Version strings do not need to + // be unique. + Version *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateBuildInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateBuildInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateBuildInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateBuildInput"} + if s.BuildId == nil { + invalidParams.Add(request.NewErrParamRequired("BuildId")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Version != nil && len(*s.Version) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Version", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBuildId sets the BuildId field's value. +func (s *UpdateBuildInput) SetBuildId(v string) *UpdateBuildInput { + s.BuildId = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateBuildInput) SetName(v string) *UpdateBuildInput { + s.Name = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *UpdateBuildInput) SetVersion(v string) *UpdateBuildInput { + s.Version = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuildOutput +type UpdateBuildOutput struct { + _ struct{} `type:"structure"` + + // Object that contains the updated build record. + Build *Build `type:"structure"` +} + +// String returns the string representation +func (s UpdateBuildOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateBuildOutput) GoString() string { + return s.String() +} + +// SetBuild sets the Build field's value. +func (s *UpdateBuildOutput) SetBuild(v *Build) *UpdateBuildOutput { + s.Build = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetAttributesInput +type UpdateFleetAttributesInput struct { + _ struct{} `type:"structure"` + + // Human-readable description of a fleet. + Description *string `min:"1" type:"string"` + + // Unique identifier for a fleet to update attribute metadata for. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Names of metric groups to include this fleet in. Amazon CloudWatch uses a + // fleet metric group is to aggregate metrics from multiple fleets. Use an existing + // metric group name to add this fleet to the group. Or use a new name to create + // a new metric group. A fleet can only be included in one metric group at a + // time. + MetricGroups []*string `type:"list"` + + // Descriptive label that is associated with a fleet. Fleet names do not need + // to be unique. + Name *string `min:"1" type:"string"` + + // Game session protection policy to apply to all new instances created in this + // fleet. Instances that already exist are not affected. You can set protection + // for individual instances using UpdateGameSession. + // + // * NoProtection -- The game session can be terminated during a scale-down + // event. + // + // * FullProtection -- If the game session is in an ACTIVE status, it cannot + // be terminated during a scale-down event. + NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"` + + // Policy that limits the number of game sessions an individual player can create + // over a span of time. + ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"` +} + +// String returns the string representation +func (s UpdateFleetAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFleetAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFleetAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFleetAttributesInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateFleetAttributesInput) SetDescription(v string) *UpdateFleetAttributesInput { + s.Description = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *UpdateFleetAttributesInput) SetFleetId(v string) *UpdateFleetAttributesInput { + s.FleetId = &v + return s +} + +// SetMetricGroups sets the MetricGroups field's value. +func (s *UpdateFleetAttributesInput) SetMetricGroups(v []*string) *UpdateFleetAttributesInput { + s.MetricGroups = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateFleetAttributesInput) SetName(v string) *UpdateFleetAttributesInput { + s.Name = &v + return s +} + +// SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value. +func (s *UpdateFleetAttributesInput) SetNewGameSessionProtectionPolicy(v string) *UpdateFleetAttributesInput { + s.NewGameSessionProtectionPolicy = &v + return s +} + +// SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value. +func (s *UpdateFleetAttributesInput) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *UpdateFleetAttributesInput { + s.ResourceCreationLimitPolicy = v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetAttributesOutput +type UpdateFleetAttributesOutput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet that was updated. + FleetId *string `type:"string"` +} + +// String returns the string representation +func (s UpdateFleetAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFleetAttributesOutput) GoString() string { + return s.String() +} + +// SetFleetId sets the FleetId field's value. +func (s *UpdateFleetAttributesOutput) SetFleetId(v string) *UpdateFleetAttributesOutput { + s.FleetId = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetCapacityInput +type UpdateFleetCapacityInput struct { + _ struct{} `type:"structure"` + + // Number of EC2 instances you want this fleet to host. + DesiredInstances *int64 `type:"integer"` + + // Unique identifier for a fleet to update capacity for. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Maximum value allowed for the fleet's instance count. Default if not set + // is 1. + MaxSize *int64 `type:"integer"` + + // Minimum value allowed for the fleet's instance count. Default if not set + // is 0. + MinSize *int64 `type:"integer"` +} + +// String returns the string representation +func (s UpdateFleetCapacityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFleetCapacityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFleetCapacityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFleetCapacityInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDesiredInstances sets the DesiredInstances field's value. +func (s *UpdateFleetCapacityInput) SetDesiredInstances(v int64) *UpdateFleetCapacityInput { + s.DesiredInstances = &v + return s +} + +// SetFleetId sets the FleetId field's value. +func (s *UpdateFleetCapacityInput) SetFleetId(v string) *UpdateFleetCapacityInput { + s.FleetId = &v + return s +} + +// SetMaxSize sets the MaxSize field's value. +func (s *UpdateFleetCapacityInput) SetMaxSize(v int64) *UpdateFleetCapacityInput { + s.MaxSize = &v + return s +} + +// SetMinSize sets the MinSize field's value. +func (s *UpdateFleetCapacityInput) SetMinSize(v int64) *UpdateFleetCapacityInput { + s.MinSize = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetCapacityOutput +type UpdateFleetCapacityOutput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet that was updated. + FleetId *string `type:"string"` +} + +// String returns the string representation +func (s UpdateFleetCapacityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFleetCapacityOutput) GoString() string { + return s.String() +} + +// SetFleetId sets the FleetId field's value. +func (s *UpdateFleetCapacityOutput) SetFleetId(v string) *UpdateFleetCapacityOutput { + s.FleetId = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettingsInput +type UpdateFleetPortSettingsInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet to update port settings for. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Collection of port settings to be added to the fleet record. + InboundPermissionAuthorizations []*IpPermission `type:"list"` + + // Collection of port settings to be removed from the fleet record. + InboundPermissionRevocations []*IpPermission `type:"list"` +} + +// String returns the string representation +func (s UpdateFleetPortSettingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFleetPortSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFleetPortSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFleetPortSettingsInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.InboundPermissionAuthorizations != nil { + for i, v := range s.InboundPermissionAuthorizations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InboundPermissionAuthorizations", i), err.(request.ErrInvalidParams)) + } + } + } + if s.InboundPermissionRevocations != nil { + for i, v := range s.InboundPermissionRevocations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InboundPermissionRevocations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *UpdateFleetPortSettingsInput) SetFleetId(v string) *UpdateFleetPortSettingsInput { + s.FleetId = &v + return s +} + +// SetInboundPermissionAuthorizations sets the InboundPermissionAuthorizations field's value. +func (s *UpdateFleetPortSettingsInput) SetInboundPermissionAuthorizations(v []*IpPermission) *UpdateFleetPortSettingsInput { + s.InboundPermissionAuthorizations = v + return s +} + +// SetInboundPermissionRevocations sets the InboundPermissionRevocations field's value. +func (s *UpdateFleetPortSettingsInput) SetInboundPermissionRevocations(v []*IpPermission) *UpdateFleetPortSettingsInput { + s.InboundPermissionRevocations = v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettingsOutput +type UpdateFleetPortSettingsOutput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet that was updated. + FleetId *string `type:"string"` +} + +// String returns the string representation +func (s UpdateFleetPortSettingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFleetPortSettingsOutput) GoString() string { + return s.String() +} + +// SetFleetId sets the FleetId field's value. +func (s *UpdateFleetPortSettingsOutput) SetFleetId(v string) *UpdateFleetPortSettingsOutput { + s.FleetId = &v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionInput +type UpdateGameSessionInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for the game session to update. + // + // GameSessionId is a required field + GameSessionId *string `min:"1" type:"string" required:"true"` + + // Maximum number of players that can be connected simultaneously to the game + // session. + MaximumPlayerSessionCount *int64 `type:"integer"` + + // Descriptive label that is associated with a game session. Session names do + // not need to be unique. + Name *string `min:"1" type:"string"` + + // Policy determining whether or not the game session accepts new players. + PlayerSessionCreationPolicy *string `type:"string" enum:"PlayerSessionCreationPolicy"` + + // Game session protection policy to apply to this game session only. + // + // * NoProtection -- The game session can be terminated during a scale-down + // event. + // + // * FullProtection -- If the game session is in an ACTIVE status, it cannot + // be terminated during a scale-down event. + ProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"` +} + +// String returns the string representation +func (s UpdateGameSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateGameSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateGameSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGameSessionInput"} + if s.GameSessionId == nil { + invalidParams.Add(request.NewErrParamRequired("GameSessionId")) + } + if s.GameSessionId != nil && len(*s.GameSessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGameSessionId sets the GameSessionId field's value. +func (s *UpdateGameSessionInput) SetGameSessionId(v string) *UpdateGameSessionInput { + s.GameSessionId = &v + return s +} + +// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value. +func (s *UpdateGameSessionInput) SetMaximumPlayerSessionCount(v int64) *UpdateGameSessionInput { + s.MaximumPlayerSessionCount = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateGameSessionInput) SetName(v string) *UpdateGameSessionInput { + s.Name = &v + return s +} + +// SetPlayerSessionCreationPolicy sets the PlayerSessionCreationPolicy field's value. +func (s *UpdateGameSessionInput) SetPlayerSessionCreationPolicy(v string) *UpdateGameSessionInput { + s.PlayerSessionCreationPolicy = &v + return s +} + +// SetProtectionPolicy sets the ProtectionPolicy field's value. +func (s *UpdateGameSessionInput) SetProtectionPolicy(v string) *UpdateGameSessionInput { + s.ProtectionPolicy = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionOutput +type UpdateGameSessionOutput struct { + _ struct{} `type:"structure"` + + // Object that contains the updated game session metadata. + GameSession *GameSession `type:"structure"` +} + +// String returns the string representation +func (s UpdateGameSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateGameSessionOutput) GoString() string { + return s.String() +} + +// SetGameSession sets the GameSession field's value. +func (s *UpdateGameSessionOutput) SetGameSession(v *GameSession) *UpdateGameSessionOutput { + s.GameSession = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueueInput +type UpdateGameSessionQueueInput struct { + _ struct{} `type:"structure"` + + // List of fleets that can be used to fulfill game session placement requests + // in the queue. Fleets are identified by either a fleet ARN or a fleet alias + // ARN. Destinations are listed in default preference order. When updating this + // list, provide a complete list of destinations. + Destinations []*GameSessionQueueDestination `type:"list"` + + // Descriptive label that is associated with game session queue. Queue names + // must be unique within each region. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Collection of latency policies to apply when processing game sessions placement + // requests with player latency information. Multiple policies are evaluated + // in order of the maximum latency value, starting with the lowest latency values. + // With just one policy, it is enforced at the start of the game session placement + // for the duration period. With multiple policies, each policy is enforced + // consecutively for its duration period. For example, a queue might enforce + // a 60-second policy followed by a 120-second policy, and then no policy for + // the remainder of the placement. When updating policies, provide a complete + // collection of policies. + PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"` + + // Maximum time, in seconds, that a new game session placement request remains + // in the queue. When a request exceeds this time, the game session placement + // changes to a TIMED_OUT status. + TimeoutInSeconds *int64 `type:"integer"` +} + +// String returns the string representation +func (s UpdateGameSessionQueueInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateGameSessionQueueInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateGameSessionQueueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGameSessionQueueInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Destinations != nil { + for i, v := range s.Destinations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinations sets the Destinations field's value. +func (s *UpdateGameSessionQueueInput) SetDestinations(v []*GameSessionQueueDestination) *UpdateGameSessionQueueInput { + s.Destinations = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateGameSessionQueueInput) SetName(v string) *UpdateGameSessionQueueInput { + s.Name = &v + return s +} + +// SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value. +func (s *UpdateGameSessionQueueInput) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *UpdateGameSessionQueueInput { + s.PlayerLatencyPolicies = v + return s +} + +// SetTimeoutInSeconds sets the TimeoutInSeconds field's value. +func (s *UpdateGameSessionQueueInput) SetTimeoutInSeconds(v int64) *UpdateGameSessionQueueInput { + s.TimeoutInSeconds = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueueOutput +type UpdateGameSessionQueueOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the newly updated game session queue. + GameSessionQueue *GameSessionQueue `type:"structure"` +} + +// String returns the string representation +func (s UpdateGameSessionQueueOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateGameSessionQueueOutput) GoString() string { + return s.String() +} + +// SetGameSessionQueue sets the GameSessionQueue field's value. +func (s *UpdateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) *UpdateGameSessionQueueOutput { + s.GameSessionQueue = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfigurationInput +type UpdateMatchmakingConfigurationInput struct { + _ struct{} `type:"structure"` + + // Flag that determines whether or not a match that was created with this configuration + // must be accepted by the matched players. To require acceptance, set to TRUE. + AcceptanceRequired *bool `type:"boolean"` + + // Length of time (in seconds) to wait for players to accept a proposed match. + // If any player rejects the match or fails to accept before the timeout, the + // ticket continues to look for an acceptable match. + AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"` + + // Number of player slots in a match to keep open for future players. For example, + // if the configuration's rule set specifies a match for a single 12-person + // team, and the additional player count is set to 2, only 10 players are selected + // for the match. + AdditionalPlayerCount *int64 `type:"integer"` + + // Information to attached to all events related to the matchmaking configuration. + CustomEventData *string `type:"string"` + + // Descriptive label that is associated with matchmaking configuration. + Description *string `min:"1" type:"string"` + + // Set of developer-defined properties for a game session, formatted as a set + // of type:value pairs. These properties are included in the GameSession object, + // which is passed to the game server with a request to start a new game session + // (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // This information is added to the new GameSession object that is created for + // a successful match. + GameProperties []*GameProperty `type:"list"` + + // Set of developer-defined game session properties, formatted as a single string + // value. This data is included in the GameSession object, which is passed to + // the game server with a request to start a new game session (see Start a Game + // Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // This information is added to the new GameSession object that is created for + // a successful match. + GameSessionData *string `min:"1" type:"string"` + + // Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) + // that is assigned to a game session queue and uniquely identifies it. Format + // is arn:aws:gamelift:::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912. + // These queues are used when placing game sessions for matches that are created + // with this matchmaking configuration. Queues can be located in any region. + GameSessionQueueArns []*string `type:"list"` + + // Unique identifier for a matchmaking configuration to update. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // SNS topic ARN that is set up to receive matchmaking notifications. See Setting + // up Notifications for Matchmaking (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html) + // for more information. + NotificationTarget *string `type:"string"` + + // Maximum duration, in seconds, that a matchmaking ticket can remain in process + // before timing out. Requests that time out can be resubmitted as needed. + RequestTimeoutSeconds *int64 `min:"1" type:"integer"` + + // Unique identifier for a matchmaking rule set to use with this configuration. + // A matchmaking configuration can only use rule sets that are defined in the + // same region. + RuleSetName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateMatchmakingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMatchmakingConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMatchmakingConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMatchmakingConfigurationInput"} + if s.AcceptanceTimeoutSeconds != nil && *s.AcceptanceTimeoutSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("AcceptanceTimeoutSeconds", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.GameSessionData != nil && len(*s.GameSessionData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RequestTimeoutSeconds != nil && *s.RequestTimeoutSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("RequestTimeoutSeconds", 1)) + } + if s.RuleSetName != nil && len(*s.RuleSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1)) + } + if s.GameProperties != nil { + for i, v := range s.GameProperties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceptanceRequired sets the AcceptanceRequired field's value. +func (s *UpdateMatchmakingConfigurationInput) SetAcceptanceRequired(v bool) *UpdateMatchmakingConfigurationInput { + s.AcceptanceRequired = &v + return s +} + +// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value. +func (s *UpdateMatchmakingConfigurationInput) SetAcceptanceTimeoutSeconds(v int64) *UpdateMatchmakingConfigurationInput { + s.AcceptanceTimeoutSeconds = &v + return s +} + +// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value. +func (s *UpdateMatchmakingConfigurationInput) SetAdditionalPlayerCount(v int64) *UpdateMatchmakingConfigurationInput { + s.AdditionalPlayerCount = &v + return s +} + +// SetCustomEventData sets the CustomEventData field's value. +func (s *UpdateMatchmakingConfigurationInput) SetCustomEventData(v string) *UpdateMatchmakingConfigurationInput { + s.CustomEventData = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateMatchmakingConfigurationInput) SetDescription(v string) *UpdateMatchmakingConfigurationInput { + s.Description = &v + return s +} + +// SetGameProperties sets the GameProperties field's value. +func (s *UpdateMatchmakingConfigurationInput) SetGameProperties(v []*GameProperty) *UpdateMatchmakingConfigurationInput { + s.GameProperties = v + return s +} + +// SetGameSessionData sets the GameSessionData field's value. +func (s *UpdateMatchmakingConfigurationInput) SetGameSessionData(v string) *UpdateMatchmakingConfigurationInput { + s.GameSessionData = &v + return s +} + +// SetGameSessionQueueArns sets the GameSessionQueueArns field's value. +func (s *UpdateMatchmakingConfigurationInput) SetGameSessionQueueArns(v []*string) *UpdateMatchmakingConfigurationInput { + s.GameSessionQueueArns = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateMatchmakingConfigurationInput) SetName(v string) *UpdateMatchmakingConfigurationInput { + s.Name = &v + return s +} + +// SetNotificationTarget sets the NotificationTarget field's value. +func (s *UpdateMatchmakingConfigurationInput) SetNotificationTarget(v string) *UpdateMatchmakingConfigurationInput { + s.NotificationTarget = &v + return s +} + +// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value. +func (s *UpdateMatchmakingConfigurationInput) SetRequestTimeoutSeconds(v int64) *UpdateMatchmakingConfigurationInput { + s.RequestTimeoutSeconds = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *UpdateMatchmakingConfigurationInput) SetRuleSetName(v string) *UpdateMatchmakingConfigurationInput { + s.RuleSetName = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfigurationOutput +type UpdateMatchmakingConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Object that describes the updated matchmaking configuration. + Configuration *MatchmakingConfiguration `type:"structure"` +} + +// String returns the string representation +func (s UpdateMatchmakingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMatchmakingConfigurationOutput) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *UpdateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingConfiguration) *UpdateMatchmakingConfigurationOutput { + s.Configuration = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfigurationInput +type UpdateRuntimeConfigurationInput struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet to update run-time configuration for. + // + // FleetId is a required field + FleetId *string `type:"string" required:"true"` + + // Instructions for launching server processes on each instance in the fleet. + // The run-time configuration for a fleet has a collection of server process + // configurations, one for each type of server process to run on an instance. + // A server process configuration specifies the location of the server executable, + // launch parameters, and the number of concurrent processes with that configuration + // to maintain on each instance. + // + // RuntimeConfiguration is a required field + RuntimeConfiguration *RuntimeConfiguration `type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateRuntimeConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRuntimeConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRuntimeConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRuntimeConfigurationInput"} + if s.FleetId == nil { + invalidParams.Add(request.NewErrParamRequired("FleetId")) + } + if s.RuntimeConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("RuntimeConfiguration")) + } + if s.RuntimeConfiguration != nil { + if err := s.RuntimeConfiguration.Validate(); err != nil { + invalidParams.AddNested("RuntimeConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFleetId sets the FleetId field's value. +func (s *UpdateRuntimeConfigurationInput) SetFleetId(v string) *UpdateRuntimeConfigurationInput { + s.FleetId = &v + return s +} + +// SetRuntimeConfiguration sets the RuntimeConfiguration field's value. +func (s *UpdateRuntimeConfigurationInput) SetRuntimeConfiguration(v *RuntimeConfiguration) *UpdateRuntimeConfigurationInput { + s.RuntimeConfiguration = v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfigurationOutput +type UpdateRuntimeConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The run-time configuration currently in force. If the update was successful, + // this object matches the one in the request. + RuntimeConfiguration *RuntimeConfiguration `type:"structure"` +} + +// String returns the string representation +func (s UpdateRuntimeConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRuntimeConfigurationOutput) GoString() string { + return s.String() +} + +// SetRuntimeConfiguration sets the RuntimeConfiguration field's value. +func (s *UpdateRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeConfiguration) *UpdateRuntimeConfigurationOutput { + s.RuntimeConfiguration = v + return s +} + +// Represents the input for a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSetInput +type ValidateMatchmakingRuleSetInput struct { + _ struct{} `type:"structure"` + + // Collection of matchmaking rules to validate, formatted as a JSON string. + // + // RuleSetBody is a required field + RuleSetBody *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ValidateMatchmakingRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidateMatchmakingRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ValidateMatchmakingRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ValidateMatchmakingRuleSetInput"} + if s.RuleSetBody == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetBody")) + } + if s.RuleSetBody != nil && len(*s.RuleSetBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetBody", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleSetBody sets the RuleSetBody field's value. +func (s *ValidateMatchmakingRuleSetInput) SetRuleSetBody(v string) *ValidateMatchmakingRuleSetInput { + s.RuleSetBody = &v + return s +} + +// Represents the returned data in response to a request action. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSetOutput +type ValidateMatchmakingRuleSetOutput struct { + _ struct{} `type:"structure"` + + // Response indicating whether or not the rule set is valid. + Valid *bool `type:"boolean"` +} + +// String returns the string representation +func (s ValidateMatchmakingRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidateMatchmakingRuleSetOutput) GoString() string { + return s.String() +} + +// SetValid sets the Valid field's value. +func (s *ValidateMatchmakingRuleSetOutput) SetValid(v bool) *ValidateMatchmakingRuleSetOutput { + s.Valid = &v + return s +} + +// Represents an authorization for a VPC peering connection between the VPC +// for an Amazon GameLift fleet and another VPC on an account you have access +// to. This authorization must exist and be valid for the peering connection +// to be established. Authorizations are valid for 24 hours after they are issued. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/VpcPeeringAuthorization +type VpcPeeringAuthorization struct { + _ struct{} `type:"structure"` + + // Time stamp indicating when this authorization was issued. Format is a number + // expressed in Unix time as milliseconds (for example "1469498468.057"). + CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Time stamp indicating when this authorization expires (24 hours after issuance). + // Format is a number expressed in Unix time as milliseconds (for example "1469498468.057"). + ExpirationTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Unique identifier for the AWS account that you use to manage your Amazon + // GameLift fleet. You can find your Account ID in the AWS Management Console + // under account settings. + GameLiftAwsAccountId *string `min:"1" type:"string"` + + PeerVpcAwsAccountId *string `min:"1" type:"string"` + + // Unique identifier for a VPC with resources to be accessed by your Amazon + // GameLift fleet. The VPC must be in the same region where your fleet is deployed. + // To get VPC information, including IDs, use the Virtual Private Cloud service + // tools, including the VPC Dashboard in the AWS Management Console. + PeerVpcId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s VpcPeeringAuthorization) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcPeeringAuthorization) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *VpcPeeringAuthorization) SetCreationTime(v time.Time) *VpcPeeringAuthorization { + s.CreationTime = &v + return s +} + +// SetExpirationTime sets the ExpirationTime field's value. +func (s *VpcPeeringAuthorization) SetExpirationTime(v time.Time) *VpcPeeringAuthorization { + s.ExpirationTime = &v + return s +} + +// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value. +func (s *VpcPeeringAuthorization) SetGameLiftAwsAccountId(v string) *VpcPeeringAuthorization { + s.GameLiftAwsAccountId = &v + return s +} + +// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value. +func (s *VpcPeeringAuthorization) SetPeerVpcAwsAccountId(v string) *VpcPeeringAuthorization { + s.PeerVpcAwsAccountId = &v + return s +} + +// SetPeerVpcId sets the PeerVpcId field's value. +func (s *VpcPeeringAuthorization) SetPeerVpcId(v string) *VpcPeeringAuthorization { + s.PeerVpcId = &v + return s +} + +// Represents a peering connection between a VPC on one of your AWS accounts +// and the VPC for your Amazon GameLift fleets. This record may be for an active +// peering connection or a pending connection that has not yet been established. +// +// VPC peering connection operations include: +// +// * CreateVpcPeeringAuthorization +// +// * DescribeVpcPeeringAuthorizations +// +// * DeleteVpcPeeringAuthorization +// +// * CreateVpcPeeringConnection +// +// * DescribeVpcPeeringConnections +// +// * DeleteVpcPeeringConnection +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/VpcPeeringConnection +type VpcPeeringConnection struct { + _ struct{} `type:"structure"` + + // Unique identifier for a fleet. This ID determines the ID of the Amazon GameLift + // VPC for your fleet. + FleetId *string `type:"string"` + + // Unique identifier for the VPC that contains the Amazon GameLift fleet for + // this connection. This VPC is managed by Amazon GameLift and does not appear + // in your AWS account. + GameLiftVpcId *string `min:"1" type:"string"` + + // CIDR block of IPv4 addresses assigned to the VPC peering connection for the + // GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with + // it; these blocks cannot overlap or the peering connection cannot be created. + IpV4CidrBlock *string `min:"1" type:"string"` + + // Unique identifier for a VPC with resources to be accessed by your Amazon + // GameLift fleet. The VPC must be in the same region where your fleet is deployed. + // To get VPC information, including IDs, use the Virtual Private Cloud service + // tools, including the VPC Dashboard in the AWS Management Console. + PeerVpcId *string `min:"1" type:"string"` + + // Object that contains status information about the connection. Status indicates + // if a connection is pending, successful, or failed. + Status *VpcPeeringConnectionStatus `type:"structure"` + + // Unique identifier that is automatically assigned to the connection record. + // This ID is referenced in VPC peering connection events, and is used when + // deleting a connection with DeleteVpcPeeringConnection. + VpcPeeringConnectionId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s VpcPeeringConnection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcPeeringConnection) GoString() string { + return s.String() +} + +// SetFleetId sets the FleetId field's value. +func (s *VpcPeeringConnection) SetFleetId(v string) *VpcPeeringConnection { + s.FleetId = &v + return s +} + +// SetGameLiftVpcId sets the GameLiftVpcId field's value. +func (s *VpcPeeringConnection) SetGameLiftVpcId(v string) *VpcPeeringConnection { + s.GameLiftVpcId = &v + return s +} + +// SetIpV4CidrBlock sets the IpV4CidrBlock field's value. +func (s *VpcPeeringConnection) SetIpV4CidrBlock(v string) *VpcPeeringConnection { + s.IpV4CidrBlock = &v + return s +} + +// SetPeerVpcId sets the PeerVpcId field's value. +func (s *VpcPeeringConnection) SetPeerVpcId(v string) *VpcPeeringConnection { + s.PeerVpcId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStatus) *VpcPeeringConnection { + s.Status = v + return s +} + +// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value. +func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection { + s.VpcPeeringConnectionId = &v + return s +} + +// Represents status information for a VPC peering connection. Status is associated +// with a VpcPeeringConnection object. Status codes and messages are provided +// from EC2 (). (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpcPeeringConnectionStateReason.html) +// Connection status information is also communicated as a fleet Event. +// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/VpcPeeringConnectionStatus +type VpcPeeringConnectionStatus struct { + _ struct{} `type:"structure"` + + // Code indicating the status of a VPC peering connection. + Code *string `min:"1" type:"string"` + + // Additional messaging associated with the connection status. + Message *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s VpcPeeringConnectionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcPeeringConnectionStatus) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *VpcPeeringConnectionStatus) SetCode(v string) *VpcPeeringConnectionStatus { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *VpcPeeringConnectionStatus) SetMessage(v string) *VpcPeeringConnectionStatus { + s.Message = &v + return s +} + +const ( + // AcceptanceTypeAccept is a AcceptanceType enum value + AcceptanceTypeAccept = "ACCEPT" + + // AcceptanceTypeReject is a AcceptanceType enum value + AcceptanceTypeReject = "REJECT" +) + +const ( + // BuildStatusInitialized is a BuildStatus enum value + BuildStatusInitialized = "INITIALIZED" + + // BuildStatusReady is a BuildStatus enum value + BuildStatusReady = "READY" + + // BuildStatusFailed is a BuildStatus enum value + BuildStatusFailed = "FAILED" +) + +const ( + // ComparisonOperatorTypeGreaterThanOrEqualToThreshold is a ComparisonOperatorType enum value + ComparisonOperatorTypeGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold" + + // ComparisonOperatorTypeGreaterThanThreshold is a ComparisonOperatorType enum value + ComparisonOperatorTypeGreaterThanThreshold = "GreaterThanThreshold" + + // ComparisonOperatorTypeLessThanThreshold is a ComparisonOperatorType enum value + ComparisonOperatorTypeLessThanThreshold = "LessThanThreshold" + + // ComparisonOperatorTypeLessThanOrEqualToThreshold is a ComparisonOperatorType enum value + ComparisonOperatorTypeLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold" +) + +const ( + // EC2InstanceTypeT2Micro is a EC2InstanceType enum value + EC2InstanceTypeT2Micro = "t2.micro" + + // EC2InstanceTypeT2Small is a EC2InstanceType enum value + EC2InstanceTypeT2Small = "t2.small" + + // EC2InstanceTypeT2Medium is a EC2InstanceType enum value + EC2InstanceTypeT2Medium = "t2.medium" + + // EC2InstanceTypeT2Large is a EC2InstanceType enum value + EC2InstanceTypeT2Large = "t2.large" + + // EC2InstanceTypeC3Large is a EC2InstanceType enum value + EC2InstanceTypeC3Large = "c3.large" + + // EC2InstanceTypeC3Xlarge is a EC2InstanceType enum value + EC2InstanceTypeC3Xlarge = "c3.xlarge" + + // EC2InstanceTypeC32xlarge is a EC2InstanceType enum value + EC2InstanceTypeC32xlarge = "c3.2xlarge" + + // EC2InstanceTypeC34xlarge is a EC2InstanceType enum value + EC2InstanceTypeC34xlarge = "c3.4xlarge" + + // EC2InstanceTypeC38xlarge is a EC2InstanceType enum value + EC2InstanceTypeC38xlarge = "c3.8xlarge" + + // EC2InstanceTypeC4Large is a EC2InstanceType enum value + EC2InstanceTypeC4Large = "c4.large" + + // EC2InstanceTypeC4Xlarge is a EC2InstanceType enum value + EC2InstanceTypeC4Xlarge = "c4.xlarge" + + // EC2InstanceTypeC42xlarge is a EC2InstanceType enum value + EC2InstanceTypeC42xlarge = "c4.2xlarge" + + // EC2InstanceTypeC44xlarge is a EC2InstanceType enum value + EC2InstanceTypeC44xlarge = "c4.4xlarge" + + // EC2InstanceTypeC48xlarge is a EC2InstanceType enum value + EC2InstanceTypeC48xlarge = "c4.8xlarge" + + // EC2InstanceTypeR3Large is a EC2InstanceType enum value + EC2InstanceTypeR3Large = "r3.large" + + // EC2InstanceTypeR3Xlarge is a EC2InstanceType enum value + EC2InstanceTypeR3Xlarge = "r3.xlarge" + + // EC2InstanceTypeR32xlarge is a EC2InstanceType enum value + EC2InstanceTypeR32xlarge = "r3.2xlarge" + + // EC2InstanceTypeR34xlarge is a EC2InstanceType enum value + EC2InstanceTypeR34xlarge = "r3.4xlarge" + + // EC2InstanceTypeR38xlarge is a EC2InstanceType enum value + EC2InstanceTypeR38xlarge = "r3.8xlarge" + + // EC2InstanceTypeR4Large is a EC2InstanceType enum value + EC2InstanceTypeR4Large = "r4.large" + + // EC2InstanceTypeR4Xlarge is a EC2InstanceType enum value + EC2InstanceTypeR4Xlarge = "r4.xlarge" + + // EC2InstanceTypeR42xlarge is a EC2InstanceType enum value + EC2InstanceTypeR42xlarge = "r4.2xlarge" + + // EC2InstanceTypeR44xlarge is a EC2InstanceType enum value + EC2InstanceTypeR44xlarge = "r4.4xlarge" + + // EC2InstanceTypeR48xlarge is a EC2InstanceType enum value + EC2InstanceTypeR48xlarge = "r4.8xlarge" + + // EC2InstanceTypeR416xlarge is a EC2InstanceType enum value + EC2InstanceTypeR416xlarge = "r4.16xlarge" + + // EC2InstanceTypeM3Medium is a EC2InstanceType enum value + EC2InstanceTypeM3Medium = "m3.medium" + + // EC2InstanceTypeM3Large is a EC2InstanceType enum value + EC2InstanceTypeM3Large = "m3.large" + + // EC2InstanceTypeM3Xlarge is a EC2InstanceType enum value + EC2InstanceTypeM3Xlarge = "m3.xlarge" + + // EC2InstanceTypeM32xlarge is a EC2InstanceType enum value + EC2InstanceTypeM32xlarge = "m3.2xlarge" + + // EC2InstanceTypeM4Large is a EC2InstanceType enum value + EC2InstanceTypeM4Large = "m4.large" + + // EC2InstanceTypeM4Xlarge is a EC2InstanceType enum value + EC2InstanceTypeM4Xlarge = "m4.xlarge" + + // EC2InstanceTypeM42xlarge is a EC2InstanceType enum value + EC2InstanceTypeM42xlarge = "m4.2xlarge" + + // EC2InstanceTypeM44xlarge is a EC2InstanceType enum value + EC2InstanceTypeM44xlarge = "m4.4xlarge" + + // EC2InstanceTypeM410xlarge is a EC2InstanceType enum value + EC2InstanceTypeM410xlarge = "m4.10xlarge" +) + +const ( + // EventCodeGenericEvent is a EventCode enum value + EventCodeGenericEvent = "GENERIC_EVENT" + + // EventCodeFleetCreated is a EventCode enum value + EventCodeFleetCreated = "FLEET_CREATED" + + // EventCodeFleetDeleted is a EventCode enum value + EventCodeFleetDeleted = "FLEET_DELETED" + + // EventCodeFleetScalingEvent is a EventCode enum value + EventCodeFleetScalingEvent = "FLEET_SCALING_EVENT" + + // EventCodeFleetStateDownloading is a EventCode enum value + EventCodeFleetStateDownloading = "FLEET_STATE_DOWNLOADING" + + // EventCodeFleetStateValidating is a EventCode enum value + EventCodeFleetStateValidating = "FLEET_STATE_VALIDATING" + + // EventCodeFleetStateBuilding is a EventCode enum value + EventCodeFleetStateBuilding = "FLEET_STATE_BUILDING" + + // EventCodeFleetStateActivating is a EventCode enum value + EventCodeFleetStateActivating = "FLEET_STATE_ACTIVATING" + + // EventCodeFleetStateActive is a EventCode enum value + EventCodeFleetStateActive = "FLEET_STATE_ACTIVE" + + // EventCodeFleetStateError is a EventCode enum value + EventCodeFleetStateError = "FLEET_STATE_ERROR" + + // EventCodeFleetInitializationFailed is a EventCode enum value + EventCodeFleetInitializationFailed = "FLEET_INITIALIZATION_FAILED" + + // EventCodeFleetBinaryDownloadFailed is a EventCode enum value + EventCodeFleetBinaryDownloadFailed = "FLEET_BINARY_DOWNLOAD_FAILED" + + // EventCodeFleetValidationLaunchPathNotFound is a EventCode enum value + EventCodeFleetValidationLaunchPathNotFound = "FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND" + + // EventCodeFleetValidationExecutableRuntimeFailure is a EventCode enum value + EventCodeFleetValidationExecutableRuntimeFailure = "FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE" + + // EventCodeFleetValidationTimedOut is a EventCode enum value + EventCodeFleetValidationTimedOut = "FLEET_VALIDATION_TIMED_OUT" + + // EventCodeFleetActivationFailed is a EventCode enum value + EventCodeFleetActivationFailed = "FLEET_ACTIVATION_FAILED" + + // EventCodeFleetActivationFailedNoInstances is a EventCode enum value + EventCodeFleetActivationFailedNoInstances = "FLEET_ACTIVATION_FAILED_NO_INSTANCES" + + // EventCodeFleetNewGameSessionProtectionPolicyUpdated is a EventCode enum value + EventCodeFleetNewGameSessionProtectionPolicyUpdated = "FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED" + + // EventCodeServerProcessInvalidPath is a EventCode enum value + EventCodeServerProcessInvalidPath = "SERVER_PROCESS_INVALID_PATH" + + // EventCodeServerProcessSdkInitializationTimeout is a EventCode enum value + EventCodeServerProcessSdkInitializationTimeout = "SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT" + + // EventCodeServerProcessProcessReadyTimeout is a EventCode enum value + EventCodeServerProcessProcessReadyTimeout = "SERVER_PROCESS_PROCESS_READY_TIMEOUT" + + // EventCodeServerProcessCrashed is a EventCode enum value + EventCodeServerProcessCrashed = "SERVER_PROCESS_CRASHED" + + // EventCodeServerProcessTerminatedUnhealthy is a EventCode enum value + EventCodeServerProcessTerminatedUnhealthy = "SERVER_PROCESS_TERMINATED_UNHEALTHY" + + // EventCodeServerProcessForceTerminated is a EventCode enum value + EventCodeServerProcessForceTerminated = "SERVER_PROCESS_FORCE_TERMINATED" + + // EventCodeServerProcessProcessExitTimeout is a EventCode enum value + EventCodeServerProcessProcessExitTimeout = "SERVER_PROCESS_PROCESS_EXIT_TIMEOUT" + + // EventCodeGameSessionActivationTimeout is a EventCode enum value + EventCodeGameSessionActivationTimeout = "GAME_SESSION_ACTIVATION_TIMEOUT" + + // EventCodeFleetCreationExtractingBuild is a EventCode enum value + EventCodeFleetCreationExtractingBuild = "FLEET_CREATION_EXTRACTING_BUILD" + + // EventCodeFleetCreationRunningInstaller is a EventCode enum value + EventCodeFleetCreationRunningInstaller = "FLEET_CREATION_RUNNING_INSTALLER" + + // EventCodeFleetCreationValidatingRuntimeConfig is a EventCode enum value + EventCodeFleetCreationValidatingRuntimeConfig = "FLEET_CREATION_VALIDATING_RUNTIME_CONFIG" + + // EventCodeFleetVpcPeeringSucceeded is a EventCode enum value + EventCodeFleetVpcPeeringSucceeded = "FLEET_VPC_PEERING_SUCCEEDED" + + // EventCodeFleetVpcPeeringFailed is a EventCode enum value + EventCodeFleetVpcPeeringFailed = "FLEET_VPC_PEERING_FAILED" + + // EventCodeFleetVpcPeeringDeleted is a EventCode enum value + EventCodeFleetVpcPeeringDeleted = "FLEET_VPC_PEERING_DELETED" +) + +const ( + // FleetStatusNew is a FleetStatus enum value + FleetStatusNew = "NEW" + + // FleetStatusDownloading is a FleetStatus enum value + FleetStatusDownloading = "DOWNLOADING" + + // FleetStatusValidating is a FleetStatus enum value + FleetStatusValidating = "VALIDATING" + + // FleetStatusBuilding is a FleetStatus enum value + FleetStatusBuilding = "BUILDING" + + // FleetStatusActivating is a FleetStatus enum value + FleetStatusActivating = "ACTIVATING" + + // FleetStatusActive is a FleetStatus enum value + FleetStatusActive = "ACTIVE" + + // FleetStatusDeleting is a FleetStatus enum value + FleetStatusDeleting = "DELETING" + + // FleetStatusError is a FleetStatus enum value + FleetStatusError = "ERROR" + + // FleetStatusTerminated is a FleetStatus enum value + FleetStatusTerminated = "TERMINATED" +) + +const ( + // GameSessionPlacementStatePending is a GameSessionPlacementState enum value + GameSessionPlacementStatePending = "PENDING" + + // GameSessionPlacementStateFulfilled is a GameSessionPlacementState enum value + GameSessionPlacementStateFulfilled = "FULFILLED" + + // GameSessionPlacementStateCancelled is a GameSessionPlacementState enum value + GameSessionPlacementStateCancelled = "CANCELLED" + + // GameSessionPlacementStateTimedOut is a GameSessionPlacementState enum value + GameSessionPlacementStateTimedOut = "TIMED_OUT" +) + +const ( + // GameSessionStatusActive is a GameSessionStatus enum value + GameSessionStatusActive = "ACTIVE" + + // GameSessionStatusActivating is a GameSessionStatus enum value + GameSessionStatusActivating = "ACTIVATING" + + // GameSessionStatusTerminated is a GameSessionStatus enum value + GameSessionStatusTerminated = "TERMINATED" + + // GameSessionStatusTerminating is a GameSessionStatus enum value + GameSessionStatusTerminating = "TERMINATING" + + // GameSessionStatusError is a GameSessionStatus enum value + GameSessionStatusError = "ERROR" +) + +const ( + // InstanceStatusPending is a InstanceStatus enum value + InstanceStatusPending = "PENDING" + + // InstanceStatusActive is a InstanceStatus enum value + InstanceStatusActive = "ACTIVE" + + // InstanceStatusTerminating is a InstanceStatus enum value + InstanceStatusTerminating = "TERMINATING" +) + +const ( + // IpProtocolTcp is a IpProtocol enum value + IpProtocolTcp = "TCP" + + // IpProtocolUdp is a IpProtocol enum value + IpProtocolUdp = "UDP" +) + +const ( + // MatchmakingConfigurationStatusCancelled is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusCancelled = "CANCELLED" + + // MatchmakingConfigurationStatusCompleted is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusCompleted = "COMPLETED" + + // MatchmakingConfigurationStatusFailed is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusFailed = "FAILED" + + // MatchmakingConfigurationStatusPlacing is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusPlacing = "PLACING" + + // MatchmakingConfigurationStatusQueued is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusQueued = "QUEUED" + + // MatchmakingConfigurationStatusRequiresAcceptance is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusRequiresAcceptance = "REQUIRES_ACCEPTANCE" + + // MatchmakingConfigurationStatusSearching is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusSearching = "SEARCHING" + + // MatchmakingConfigurationStatusTimedOut is a MatchmakingConfigurationStatus enum value + MatchmakingConfigurationStatusTimedOut = "TIMED_OUT" +) + +const ( + // MetricNameActivatingGameSessions is a MetricName enum value + MetricNameActivatingGameSessions = "ActivatingGameSessions" + + // MetricNameActiveGameSessions is a MetricName enum value + MetricNameActiveGameSessions = "ActiveGameSessions" + + // MetricNameActiveInstances is a MetricName enum value + MetricNameActiveInstances = "ActiveInstances" + + // MetricNameAvailableGameSessions is a MetricName enum value + MetricNameAvailableGameSessions = "AvailableGameSessions" + + // MetricNameAvailablePlayerSessions is a MetricName enum value + MetricNameAvailablePlayerSessions = "AvailablePlayerSessions" + + // MetricNameCurrentPlayerSessions is a MetricName enum value + MetricNameCurrentPlayerSessions = "CurrentPlayerSessions" + + // MetricNameIdleInstances is a MetricName enum value + MetricNameIdleInstances = "IdleInstances" + + // MetricNamePercentAvailableGameSessions is a MetricName enum value + MetricNamePercentAvailableGameSessions = "PercentAvailableGameSessions" + + // MetricNamePercentIdleInstances is a MetricName enum value + MetricNamePercentIdleInstances = "PercentIdleInstances" + + // MetricNameQueueDepth is a MetricName enum value + MetricNameQueueDepth = "QueueDepth" + + // MetricNameWaitTime is a MetricName enum value + MetricNameWaitTime = "WaitTime" +) + +const ( + // OperatingSystemWindows2012 is a OperatingSystem enum value + OperatingSystemWindows2012 = "WINDOWS_2012" + + // OperatingSystemAmazonLinux is a OperatingSystem enum value + OperatingSystemAmazonLinux = "AMAZON_LINUX" +) + +const ( + // PlayerSessionCreationPolicyAcceptAll is a PlayerSessionCreationPolicy enum value + PlayerSessionCreationPolicyAcceptAll = "ACCEPT_ALL" + + // PlayerSessionCreationPolicyDenyAll is a PlayerSessionCreationPolicy enum value + PlayerSessionCreationPolicyDenyAll = "DENY_ALL" +) + +const ( + // PlayerSessionStatusReserved is a PlayerSessionStatus enum value + PlayerSessionStatusReserved = "RESERVED" + + // PlayerSessionStatusActive is a PlayerSessionStatus enum value + PlayerSessionStatusActive = "ACTIVE" + + // PlayerSessionStatusCompleted is a PlayerSessionStatus enum value + PlayerSessionStatusCompleted = "COMPLETED" + + // PlayerSessionStatusTimedout is a PlayerSessionStatus enum value + PlayerSessionStatusTimedout = "TIMEDOUT" +) + +const ( + // ProtectionPolicyNoProtection is a ProtectionPolicy enum value + ProtectionPolicyNoProtection = "NoProtection" + + // ProtectionPolicyFullProtection is a ProtectionPolicy enum value + ProtectionPolicyFullProtection = "FullProtection" +) + +const ( + // RoutingStrategyTypeSimple is a RoutingStrategyType enum value + RoutingStrategyTypeSimple = "SIMPLE" + + // RoutingStrategyTypeTerminal is a RoutingStrategyType enum value + RoutingStrategyTypeTerminal = "TERMINAL" +) + +const ( + // ScalingAdjustmentTypeChangeInCapacity is a ScalingAdjustmentType enum value + ScalingAdjustmentTypeChangeInCapacity = "ChangeInCapacity" + + // ScalingAdjustmentTypeExactCapacity is a ScalingAdjustmentType enum value + ScalingAdjustmentTypeExactCapacity = "ExactCapacity" + + // ScalingAdjustmentTypePercentChangeInCapacity is a ScalingAdjustmentType enum value + ScalingAdjustmentTypePercentChangeInCapacity = "PercentChangeInCapacity" +) + +const ( + // ScalingStatusTypeActive is a ScalingStatusType enum value + ScalingStatusTypeActive = "ACTIVE" + + // ScalingStatusTypeUpdateRequested is a ScalingStatusType enum value + ScalingStatusTypeUpdateRequested = "UPDATE_REQUESTED" + + // ScalingStatusTypeUpdating is a ScalingStatusType enum value + ScalingStatusTypeUpdating = "UPDATING" + + // ScalingStatusTypeDeleteRequested is a ScalingStatusType enum value + ScalingStatusTypeDeleteRequested = "DELETE_REQUESTED" + + // ScalingStatusTypeDeleting is a ScalingStatusType enum value + ScalingStatusTypeDeleting = "DELETING" + + // ScalingStatusTypeDeleted is a ScalingStatusType enum value + ScalingStatusTypeDeleted = "DELETED" + + // ScalingStatusTypeError is a ScalingStatusType enum value + ScalingStatusTypeError = "ERROR" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go b/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go new file mode 100644 index 000000000000..d73c39d65ac3 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go @@ -0,0 +1,304 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package gamelift provides the client and types for making API +// requests to Amazon GameLift. +// +// Amazon GameLift is a managed service for developers who need a scalable, +// dedicated server solution for their multiplayer games. Amazon GameLift provides +// tools for the following tasks: (1) acquire computing resources and deploy +// game servers, (2) scale game server capacity to meet player demand, (3) host +// game sessions and manage player access, and (4) track in-depth metrics on +// player usage and server performance. +// +// The Amazon GameLift service API includes two important function sets: +// +// * Manage game sessions and player access -- Retrieve information on available +// game sessions; create new game sessions; send player requests to join +// a game session. +// +// * Configure and manage game server resources -- Manage builds, fleets, +// queues, and aliases; set autoscaling policies; retrieve logs and metrics. +// +// This reference guide describes the low-level service API for Amazon GameLift. +// You can use the API functionality with these tools: +// +// * The Amazon Web Services software development kit (AWS SDK (http://aws.amazon.com/tools/#sdk)) +// is available in multiple languages (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-supported.html#gamelift-supported-clients) +// including C++ and C#. Use the SDK to access the API programmatically from +// an application, such as a game client. +// +// * The AWS command-line interface (http://aws.amazon.com/cli/) (CLI) tool +// is primarily useful for handling administrative actions, such as setting +// up and managing Amazon GameLift settings and resources. You can use the +// AWS CLI to manage all of your AWS services. +// +// * The AWS Management Console (https://console.aws.amazon.com/gamelift/home) +// for Amazon GameLift provides a web interface to manage your Amazon GameLift +// settings and resources. The console includes a dashboard for tracking +// key resources, including builds and fleets, and displays usage and performance +// metrics for your games as customizable graphs. +// +// * Amazon GameLift Local is a tool for testing your game's integration +// with Amazon GameLift before deploying it on the service. This tools supports +// a subset of key API actions, which can be called from either the AWS CLI +// or programmatically. See Testing an Integration (http://docs.aws.amazon.com/gamelift/latest/developerguide/integration-testing-local.html). +// +// MORE RESOURCES +// +// * Amazon GameLift Developer Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/) +// -- Learn more about Amazon GameLift features and how to use them. +// +// * Lumberyard and Amazon GameLift Tutorials (https://gamedev.amazon.com/forums/tutorials) +// -- Get started fast with walkthroughs and sample projects. +// +// * GameDev Blog (http://aws.amazon.com/blogs/gamedev/) -- Stay up to date +// with new features and techniques. +// +// * GameDev Forums (https://gamedev.amazon.com/forums/spaces/123/gamelift-discussion.html) +// -- Connect with the GameDev community. +// +// * Amazon GameLift Document History (http://docs.aws.amazon.com/gamelift/latest/developerguide/doc-history.html) +// -- See changes to the Amazon GameLift service, SDKs, and documentation, +// as well as links to release notes. +// +// API SUMMARY +// +// This list offers a functional overview of the Amazon GameLift service API. +// +// Managing Games and Players +// +// Use these actions to start new game sessions, find existing game sessions, +// track game session status and other information, and enable player access +// to game sessions. +// +// * Discover existing game sessions +// +// SearchGameSessions -- Retrieve all available game sessions or search for +// game sessions that match a set of criteria. +// +// * Start new game sessions +// +// Start new games with Queues to find the best available hosting resources +// across multiple regions, minimize player latency, and balance game session +// activity for efficiency and cost effectiveness. +// +// StartGameSessionPlacement -- Request a new game session placement and add +// one or more players to it. +// +// DescribeGameSessionPlacement -- Get details on a placement request, including +// status. +// +// StopGameSessionPlacement -- Cancel a placement request. +// +// CreateGameSession -- Start a new game session on a specific fleet. Available +// in Amazon GameLift Local. +// +// * Start new game sessions with FlexMatch matchmaking +// +// StartMatchmaking -- Request matchmaking for one players or a group who want +// to play together. +// +// DescribeMatchmaking -- Get details on a matchmaking request, including status. +// +// AcceptMatch -- Register that a player accepts a proposed match, for matches +// that require player acceptance. +// +// StopMatchmaking -- Cancel a matchmaking request. +// +// * Manage game session data +// +// DescribeGameSessions -- Retrieve metadata for one or more game sessions, +// including length of time active and current player count. Available in +// Amazon GameLift Local. +// +// DescribeGameSessionDetails -- Retrieve metadata and the game session protection +// setting for one or more game sessions. +// +// UpdateGameSession -- Change game session settings, such as maximum player +// count and join policy. +// +// GetGameSessionLogUrl -- Get the location of saved logs for a game session. +// +// * Manage player sessions +// +// CreatePlayerSession -- Send a request for a player to join a game session. +// Available in Amazon GameLift Local. +// +// CreatePlayerSessions -- Send a request for multiple players to join a game +// session. Available in Amazon GameLift Local. +// +// DescribePlayerSessions -- Get details on player activity, including status, +// playing time, and player data. Available in Amazon GameLift Local. +// +// Setting Up and Managing Game Servers +// +// When setting up Amazon GameLift resources for your game, you first create +// a game build (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html) +// and upload it to Amazon GameLift. You can then use these actions to configure +// and manage a fleet of resources to run your game servers, scale capacity +// to meet player demand, access performance and utilization metrics, and more. +// +// * Manage game builds +// +// CreateBuild -- Create a new build using files stored in an Amazon S3 bucket. +// (Update uploading permissions with RequestUploadCredentials.) To create +// a build and upload files from a local path, use the AWS CLI command upload-build. +// +// ListBuilds -- Get a list of all builds uploaded to a Amazon GameLift region. +// +// DescribeBuild -- Retrieve information associated with a build. +// +// UpdateBuild -- Change build metadata, including build name and version. +// +// DeleteBuild -- Remove a build from Amazon GameLift. +// +// * Manage fleets +// +// CreateFleet -- Configure and activate a new fleet to run a build's game servers. +// +// ListFleets -- Get a list of all fleet IDs in a Amazon GameLift region (all +// statuses). +// +// DeleteFleet -- Terminate a fleet that is no longer running game servers or +// hosting players. +// +// View / update fleet configurations. +// +// DescribeFleetAttributes / UpdateFleetAttributes -- View or change a fleet's +// metadata and settings for game session protection and resource creation +// limits. +// +// DescribeFleetPortSettings / UpdateFleetPortSettings -- View or change the +// inbound permissions (IP address and port setting ranges) allowed for a +// fleet. +// +// DescribeRuntimeConfiguration / UpdateRuntimeConfiguration -- View or change +// what server processes (and how many) to run on each instance in a fleet. +// +// * Control fleet capacity +// +// DescribeEC2InstanceLimits -- Retrieve maximum number of instances allowed +// for the current AWS account and the current usage level. +// +// DescribeFleetCapacity / UpdateFleetCapacity -- Retrieve the capacity settings +// and the current number of instances in a fleet; adjust fleet capacity +// settings to scale up or down. +// +// Autoscale -- Manage autoscaling rules and apply them to a fleet. +// +// PutScalingPolicy -- Create a new autoscaling policy, or update an existing +// one. +// +// DescribeScalingPolicies -- Retrieve an existing autoscaling policy. +// +// DeleteScalingPolicy -- Delete an autoscaling policy and stop it from affecting +// a fleet's capacity. +// +// * Manage VPC peering connections for fleets +// +// CreateVpcPeeringAuthorization -- Authorize a peering connection to one of +// your VPCs. +// +// DescribeVpcPeeringAuthorizations -- Retrieve valid peering connection authorizations. +// +// +// DeleteVpcPeeringAuthorization -- Delete a peering connection authorization. +// +// CreateVpcPeeringConnection -- Establish a peering connection between the +// VPC for a Amazon GameLift fleet and one of your VPCs. +// +// DescribeVpcPeeringConnections -- Retrieve information on active or pending +// VPC peering connections with a Amazon GameLift fleet. +// +// DeleteVpcPeeringConnection -- Delete a VPC peering connection with a Amazon +// GameLift fleet. +// +// * Access fleet activity statistics +// +// DescribeFleetUtilization -- Get current data on the number of server processes, +// game sessions, and players currently active on a fleet. +// +// DescribeFleetEvents -- Get a fleet's logged events for a specified time span. +// +// DescribeGameSessions -- Retrieve metadata associated with one or more game +// sessions, including length of time active and current player count. +// +// * Remotely access an instance +// +// DescribeInstances -- Get information on each instance in a fleet, including +// instance ID, IP address, and status. +// +// GetInstanceAccess -- Request access credentials needed to remotely connect +// to a specified instance in a fleet. +// +// * Manage fleet aliases +// +// CreateAlias -- Define a new alias and optionally assign it to a fleet. +// +// ListAliases -- Get all fleet aliases defined in a Amazon GameLift region. +// +// DescribeAlias -- Retrieve information on an existing alias. +// +// UpdateAlias -- Change settings for a alias, such as redirecting it from one +// fleet to another. +// +// DeleteAlias -- Remove an alias from the region. +// +// ResolveAlias -- Get the fleet ID that a specified alias points to. +// +// * Manage game session queues +// +// CreateGameSessionQueue -- Create a queue for processing requests for new +// game sessions. +// +// DescribeGameSessionQueues -- Retrieve game session queues defined in a Amazon +// GameLift region. +// +// UpdateGameSessionQueue -- Change the configuration of a game session queue. +// +// DeleteGameSessionQueue -- Remove a game session queue from the region. +// +// * Manage FlexMatch resources +// +// CreateMatchmakingConfiguration -- Create a matchmaking configuration with +// instructions for building a player group and placing in a new game session. +// +// +// DescribeMatchmakingConfigurations -- Retrieve matchmaking configurations +// defined a Amazon GameLift region. +// +// UpdateMatchmakingConfiguration -- Change settings for matchmaking configuration. +// queue. +// +// DeleteMatchmakingConfiguration -- Remove a matchmaking configuration from +// the region. +// +// CreateMatchmakingRuleSet -- Create a set of rules to use when searching for +// player matches. +// +// DescribeMatchmakingRuleSets -- Retrieve matchmaking rule sets defined in +// a Amazon GameLift region. +// +// ValidateMatchmakingRuleSet -- Verify syntax for a set of matchmaking rules. +// +// See https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01 for more information on this service. +// +// See gamelift package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/gamelift/ +// +// Using the Client +// +// To contact Amazon GameLift with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Amazon GameLift client GameLift for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/gamelift/#New +package gamelift diff --git a/vendor/github.com/aws/aws-sdk-go/service/gamelift/errors.go b/vendor/github.com/aws/aws-sdk-go/service/gamelift/errors.go new file mode 100644 index 000000000000..d04e78d0d2c2 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/gamelift/errors.go @@ -0,0 +1,102 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package gamelift + +const ( + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The requested operation would cause a conflict with the current state of + // a service resource associated with the request. Resolve the conflict before + // retrying this request. + ErrCodeConflictException = "ConflictException" + + // ErrCodeFleetCapacityExceededException for service response error code + // "FleetCapacityExceededException". + // + // The specified fleet has no available instances to fulfill a CreateGameSession + // request. Clients can retry such requests immediately or after a waiting period. + ErrCodeFleetCapacityExceededException = "FleetCapacityExceededException" + + // ErrCodeGameSessionFullException for service response error code + // "GameSessionFullException". + // + // The game instance is currently full and cannot allow the requested player(s) + // to join. Clients can retry such requests immediately or after a waiting period. + ErrCodeGameSessionFullException = "GameSessionFullException" + + // ErrCodeIdempotentParameterMismatchException for service response error code + // "IdempotentParameterMismatchException". + // + // A game session with this custom ID string already exists in this fleet. Resolve + // this conflict before retrying this request. + ErrCodeIdempotentParameterMismatchException = "IdempotentParameterMismatchException" + + // ErrCodeInternalServiceException for service response error code + // "InternalServiceException". + // + // The service encountered an unrecoverable internal failure while processing + // the request. Clients can retry such requests immediately or after a waiting + // period. + ErrCodeInternalServiceException = "InternalServiceException" + + // ErrCodeInvalidFleetStatusException for service response error code + // "InvalidFleetStatusException". + // + // The requested operation would cause a conflict with the current state of + // a resource associated with the request and/or the fleet. Resolve the conflict + // before retrying. + ErrCodeInvalidFleetStatusException = "InvalidFleetStatusException" + + // ErrCodeInvalidGameSessionStatusException for service response error code + // "InvalidGameSessionStatusException". + // + // The requested operation would cause a conflict with the current state of + // a resource associated with the request and/or the game instance. Resolve + // the conflict before retrying. + ErrCodeInvalidGameSessionStatusException = "InvalidGameSessionStatusException" + + // ErrCodeInvalidRequestException for service response error code + // "InvalidRequestException". + // + // One or more parameter values in the request are invalid. Correct the invalid + // parameter values before retrying. + ErrCodeInvalidRequestException = "InvalidRequestException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // The requested operation would cause the resource to exceed the allowed service + // limit. Resolve the issue before retrying. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + // + // A service resource associated with the request could not be found. Clients + // should not retry such requests. + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeTerminalRoutingStrategyException for service response error code + // "TerminalRoutingStrategyException". + // + // The service is unable to resolve the routing for a particular alias because + // it has a terminal RoutingStrategy associated with it. The message returned + // in this exception is the message defined in the routing strategy itself. + // Such requests should only be retried if the routing strategy for the specified + // alias is modified. + ErrCodeTerminalRoutingStrategyException = "TerminalRoutingStrategyException" + + // ErrCodeUnauthorizedException for service response error code + // "UnauthorizedException". + // + // The client failed authentication. Clients should not retry such requests. + ErrCodeUnauthorizedException = "UnauthorizedException" + + // ErrCodeUnsupportedRegionException for service response error code + // "UnsupportedRegionException". + // + // The requested operation is not supported in the region specified. + ErrCodeUnsupportedRegionException = "UnsupportedRegionException" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/gamelift/service.go b/vendor/github.com/aws/aws-sdk-go/service/gamelift/service.go new file mode 100644 index 000000000000..b79ac20478d5 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/gamelift/service.go @@ -0,0 +1,95 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package gamelift + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +// GameLift provides the API operation methods for making requests to +// Amazon GameLift. See this package's package overview docs +// for details on the service. +// +// GameLift methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type GameLift struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "gamelift" // Service endpoint prefix API calls made to. + EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata. +) + +// New creates a new instance of the GameLift client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// // Create a GameLift client from just a session. +// svc := gamelift.New(mySession) +// +// // Create a GameLift client with additional configuration +// svc := gamelift.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *GameLift { + c := p.ClientConfig(EndpointsID, cfgs...) + return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *GameLift { + svc := &GameLift{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2015-10-01", + JSONVersion: "1.1", + TargetPrefix: "GameLift", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a GameLift operation and runs any +// custom request initialization. +func (c *GameLift) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go index 8caea4d59e35..96398b1f271a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go @@ -363,6 +363,94 @@ func (c *Glue) BatchDeleteTableWithContext(ctx aws.Context, input *BatchDeleteTa return out, req.Send() } +const opBatchDeleteTableVersion = "BatchDeleteTableVersion" + +// BatchDeleteTableVersionRequest generates a "aws/request.Request" representing the +// client's request for the BatchDeleteTableVersion operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchDeleteTableVersion for more information on using the BatchDeleteTableVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchDeleteTableVersionRequest method. +// req, resp := client.BatchDeleteTableVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteTableVersion +func (c *Glue) BatchDeleteTableVersionRequest(input *BatchDeleteTableVersionInput) (req *request.Request, output *BatchDeleteTableVersionOutput) { + op := &request.Operation{ + Name: opBatchDeleteTableVersion, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchDeleteTableVersionInput{} + } + + output = &BatchDeleteTableVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchDeleteTableVersion API operation for AWS Glue. +// +// Deletes a specified batch of versions of a table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation BatchDeleteTableVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteTableVersion +func (c *Glue) BatchDeleteTableVersion(input *BatchDeleteTableVersionInput) (*BatchDeleteTableVersionOutput, error) { + req, out := c.BatchDeleteTableVersionRequest(input) + return out, req.Send() +} + +// BatchDeleteTableVersionWithContext is the same as BatchDeleteTableVersion with the addition of +// the ability to pass a context and additional request options. +// +// See BatchDeleteTableVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) BatchDeleteTableVersionWithContext(ctx aws.Context, input *BatchDeleteTableVersionInput, opts ...request.Option) (*BatchDeleteTableVersionOutput, error) { + req, out := c.BatchDeleteTableVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBatchGetPartition = "BatchGetPartition" // BatchGetPartitionRequest generates a "aws/request.Request" representing the @@ -495,7 +583,7 @@ func (c *Glue) BatchStopJobRunRequest(input *BatchStopJobRunInput) (req *request // BatchStopJobRun API operation for AWS Glue. // -// Stops a batch of job runs for a given job. +// Stops one or more job runs for a specified Job. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -685,6 +773,9 @@ func (c *Glue) CreateConnectionRequest(input *CreateConnectionInput) (req *reque // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateConnection func (c *Glue) CreateConnection(input *CreateConnectionInput) (*CreateConnectionOutput, error) { req, out := c.CreateConnectionRequest(input) @@ -1060,6 +1151,9 @@ func (c *Glue) CreateJobRequest(input *CreateJobInput) (req *request.Request, ou // * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" // A resource numerical limit was exceeded. // +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Two processes are trying to modify a resource simultaneously. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateJob func (c *Glue) CreateJob(input *CreateJobInput) (*CreateJobOutput, error) { req, out := c.CreateJobRequest(input) @@ -1220,7 +1314,7 @@ func (c *Glue) CreateScriptRequest(input *CreateScriptInput) (req *request.Reque // CreateScript API operation for AWS Glue. // -// Transforms a directed acyclic graph (DAG) into a Python script. +// Transforms a directed acyclic graph (DAG) into code. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1415,6 +1509,9 @@ func (c *Glue) CreateTriggerRequest(input *CreateTriggerInput) (req *request.Req // * ErrCodeInvalidInputException "InvalidInputException" // The input provided was not valid. // +// * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException" +// The same unique identifier was associated with two different records. +// // * ErrCodeInternalServiceException "InternalServiceException" // An internal service error occurred. // @@ -1424,6 +1521,9 @@ func (c *Glue) CreateTriggerRequest(input *CreateTriggerInput) (req *request.Req // * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" // A resource numerical limit was exceeded. // +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Two processes are trying to modify a resource simultaneously. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateTrigger func (c *Glue) CreateTrigger(input *CreateTriggerInput) (*CreateTriggerOutput, error) { req, out := c.CreateTriggerRequest(input) @@ -1515,6 +1615,9 @@ func (c *Glue) CreateUserDefinedFunctionRequest(input *CreateUserDefinedFunction // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateUserDefinedFunction func (c *Glue) CreateUserDefinedFunction(input *CreateUserDefinedFunctionInput) (*CreateUserDefinedFunctionOutput, error) { req, out := c.CreateUserDefinedFunctionRequest(input) @@ -2010,7 +2113,7 @@ func (c *Glue) DeleteJobRequest(input *DeleteJobInput) (req *request.Request, ou // DeleteJob API operation for AWS Glue. // -// Deletes a specified job. +// Deletes a specified job. If the job is not found, no exception is thrown. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2227,6 +2330,94 @@ func (c *Glue) DeleteTableWithContext(ctx aws.Context, input *DeleteTableInput, return out, req.Send() } +const opDeleteTableVersion = "DeleteTableVersion" + +// DeleteTableVersionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTableVersion operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteTableVersion for more information on using the DeleteTableVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteTableVersionRequest method. +// req, resp := client.DeleteTableVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTableVersion +func (c *Glue) DeleteTableVersionRequest(input *DeleteTableVersionInput) (req *request.Request, output *DeleteTableVersionOutput) { + op := &request.Operation{ + Name: opDeleteTableVersion, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTableVersionInput{} + } + + output = &DeleteTableVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTableVersion API operation for AWS Glue. +// +// Deletes a specified version of a table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeleteTableVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTableVersion +func (c *Glue) DeleteTableVersion(input *DeleteTableVersionInput) (*DeleteTableVersionOutput, error) { + req, out := c.DeleteTableVersionRequest(input) + return out, req.Send() +} + +// DeleteTableVersionWithContext is the same as DeleteTableVersion with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTableVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeleteTableVersionWithContext(ctx aws.Context, input *DeleteTableVersionInput, opts ...request.Option) (*DeleteTableVersionOutput, error) { + req, out := c.DeleteTableVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteTrigger = "DeleteTrigger" // DeleteTriggerRequest generates a "aws/request.Request" representing the @@ -2271,7 +2462,8 @@ func (c *Glue) DeleteTriggerRequest(input *DeleteTriggerInput) (req *request.Req // DeleteTrigger API operation for AWS Glue. // -// Deletes a specified trigger. +// Deletes a specified trigger. If the trigger is not found, no exception is +// thrown. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2290,6 +2482,9 @@ func (c *Glue) DeleteTriggerRequest(input *DeleteTriggerInput) (req *request.Req // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Two processes are trying to modify a resource simultaneously. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTrigger func (c *Glue) DeleteTrigger(input *DeleteTriggerInput) (*DeleteTriggerOutput, error) { req, out := c.DeleteTriggerRequest(input) @@ -4645,7 +4840,7 @@ func (c *Glue) GetPlanRequest(input *GetPlanInput) (req *request.Request, output // GetPlan API operation for AWS Glue. // -// Gets a Python script to perform a specified mapping. +// Gets code to perform a specified mapping. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4774,6 +4969,94 @@ func (c *Glue) GetTableWithContext(ctx aws.Context, input *GetTableInput, opts . return out, req.Send() } +const opGetTableVersion = "GetTableVersion" + +// GetTableVersionRequest generates a "aws/request.Request" representing the +// client's request for the GetTableVersion operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetTableVersion for more information on using the GetTableVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetTableVersionRequest method. +// req, resp := client.GetTableVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableVersion +func (c *Glue) GetTableVersionRequest(input *GetTableVersionInput) (req *request.Request, output *GetTableVersionOutput) { + op := &request.Operation{ + Name: opGetTableVersion, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetTableVersionInput{} + } + + output = &GetTableVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTableVersion API operation for AWS Glue. +// +// Retrieves a specified version of a table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetTableVersion for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEntityNotFoundException "EntityNotFoundException" +// A specified entity does not exist +// +// * ErrCodeInvalidInputException "InvalidInputException" +// The input provided was not valid. +// +// * ErrCodeInternalServiceException "InternalServiceException" +// An internal service error occurred. +// +// * ErrCodeOperationTimeoutException "OperationTimeoutException" +// The operation timed out. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableVersion +func (c *Glue) GetTableVersion(input *GetTableVersionInput) (*GetTableVersionOutput, error) { + req, out := c.GetTableVersionRequest(input) + return out, req.Send() +} + +// GetTableVersionWithContext is the same as GetTableVersion with the addition of +// the ability to pass a context and additional request options. +// +// See GetTableVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetTableVersionWithContext(ctx aws.Context, input *GetTableVersionInput, opts ...request.Option) (*GetTableVersionOutput, error) { + req, out := c.GetTableVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetTableVersions = "GetTableVersions" // GetTableVersionsRequest generates a "aws/request.Request" representing the @@ -6013,7 +6296,8 @@ func (c *Glue) StartTriggerRequest(input *StartTriggerInput) (req *request.Reque // StartTrigger API operation for AWS Glue. // -// Starts an existing trigger. +// Starts an existing trigger. See Triggering Jobs (http://docs.aws.amazon.com/glue/latest/dg/trigger-job.html) +// for information about how different types of trigger are started. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6306,6 +6590,9 @@ func (c *Glue) StopTriggerRequest(input *StopTriggerInput) (req *request.Request // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Two processes are trying to modify a resource simultaneously. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopTrigger func (c *Glue) StopTrigger(input *StopTriggerInput) (*StopTriggerOutput, error) { req, out := c.StopTriggerRequest(input) @@ -6929,6 +7216,9 @@ func (c *Glue) UpdateJobRequest(input *UpdateJobInput) (req *request.Request, ou // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Two processes are trying to modify a resource simultaneously. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateJob func (c *Glue) UpdateJob(input *UpdateJobInput) (*UpdateJobOutput, error) { req, out := c.UpdateJobRequest(input) @@ -7108,6 +7398,9 @@ func (c *Glue) UpdateTableRequest(input *UpdateTableInput) (req *request.Request // * ErrCodeConcurrentModificationException "ConcurrentModificationException" // Two processes are trying to modify a resource simultaneously. // +// * ErrCodeResourceNumberLimitExceededException "ResourceNumberLimitExceededException" +// A resource numerical limit was exceeded. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTable func (c *Glue) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) { req, out := c.UpdateTableRequest(input) @@ -7196,6 +7489,9 @@ func (c *Glue) UpdateTriggerRequest(input *UpdateTriggerInput) (req *request.Req // * ErrCodeOperationTimeoutException "OperationTimeoutException" // The operation timed out. // +// * ErrCodeConcurrentModificationException "ConcurrentModificationException" +// Two processes are trying to modify a resource simultaneously. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTrigger func (c *Glue) UpdateTrigger(input *UpdateTriggerInput) (*UpdateTriggerOutput, error) { req, out := c.UpdateTriggerRequest(input) @@ -7312,6 +7608,17 @@ type Action struct { _ struct{} `type:"structure"` // Arguments to be passed to the job. + // + // You can specify arguments here that your own job-execution script consumes, + // as well as arguments that AWS Glue itself consumes. + // + // For information about how to specify and consume your own Job arguments, + // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) + // topic in the developer guide. + // + // For information about the key-value pairs that AWS Glue consumes to set up + // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-glue-arguments.html) + // topic in the developer guide. Arguments map[string]*string `type:"map"` // The name of a job to be executed. @@ -7687,7 +7994,8 @@ type BatchDeleteTableInput struct { // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the catalog database where the tables to delete reside. + // The name of the catalog database where the tables to delete reside. For Hive + // compatibility, this name is entirely lowercase. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` @@ -7772,6 +8080,117 @@ func (s *BatchDeleteTableOutput) SetErrors(v []*TableError) *BatchDeleteTableOut return s } +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteTableVersionRequest +type BatchDeleteTableVersionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the tables reside. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The database in the catalog in which the table resides. For Hive compatibility, + // this name is entirely lowercase. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the table. For Hive compatibility, this name is entirely lowercase. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` + + // A list of the IDs of versions to be deleted. + // + // VersionIds is a required field + VersionIds []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchDeleteTableVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteTableVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDeleteTableVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeleteTableVersionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.VersionIds == nil { + invalidParams.Add(request.NewErrParamRequired("VersionIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *BatchDeleteTableVersionInput) SetCatalogId(v string) *BatchDeleteTableVersionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *BatchDeleteTableVersionInput) SetDatabaseName(v string) *BatchDeleteTableVersionInput { + s.DatabaseName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *BatchDeleteTableVersionInput) SetTableName(v string) *BatchDeleteTableVersionInput { + s.TableName = &v + return s +} + +// SetVersionIds sets the VersionIds field's value. +func (s *BatchDeleteTableVersionInput) SetVersionIds(v []*string) *BatchDeleteTableVersionInput { + s.VersionIds = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteTableVersionResponse +type BatchDeleteTableVersionOutput struct { + _ struct{} `type:"structure"` + + // A list of errors encountered while trying to delete the specified table versions. + Errors []*TableVersionError `type:"list"` +} + +// String returns the string representation +func (s BatchDeleteTableVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteTableVersionOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchDeleteTableVersionOutput) SetErrors(v []*TableVersionError) *BatchDeleteTableVersionOutput { + s.Errors = v + return s +} + // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetPartitionRequest type BatchGetPartitionInput struct { _ struct{} `type:"structure"` @@ -7902,19 +8321,18 @@ func (s *BatchGetPartitionOutput) SetUnprocessedKeys(v []*PartitionValueList) *B return s } -// Details about the job run and the error that occurred while trying to submit -// it for stopping. +// Records an error that occurred when attempting to stop a specified JobRun. // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchStopJobRunError type BatchStopJobRunError struct { _ struct{} `type:"structure"` - // The details of the error that occurred. + // Specifies details about the error that was encountered. ErrorDetail *ErrorDetail `type:"structure"` - // The name of the job. + // The name of the Job in question. JobName *string `min:"1" type:"string"` - // The job run Id. + // The JobRunId of the JobRun in question. JobRunId *string `min:"1" type:"string"` } @@ -7950,12 +8368,12 @@ func (s *BatchStopJobRunError) SetJobRunId(v string) *BatchStopJobRunError { type BatchStopJobRunInput struct { _ struct{} `type:"structure"` - // The name of the job whose job runs are to be stopped. + // The name of the Job in question. // // JobName is a required field JobName *string `min:"1" type:"string" required:"true"` - // A list of job run Ids of the given job to be stopped. + // A list of the JobRunIds that should be stopped for that Job. // // JobRunIds is a required field JobRunIds []*string `min:"1" type:"list" required:"true"` @@ -8009,11 +8427,11 @@ func (s *BatchStopJobRunInput) SetJobRunIds(v []*string) *BatchStopJobRunInput { type BatchStopJobRunOutput struct { _ struct{} `type:"structure"` - // A list containing the job run Ids and details of the error that occurred - // for each job run while submitting to stop. + // A list of the errors that were encountered in tryng to stop JobRuns, including + // the JobRunId for which each error was encountered and details about the error. Errors []*BatchStopJobRunError `type:"list"` - // A list of job runs which are successfully submitted for stopping. + // A list of the JobRuns that were successfully submitted for stopping. SuccessfulSubmissions []*BatchStopJobRunSuccessfulSubmission `type:"list"` } @@ -8039,15 +8457,15 @@ func (s *BatchStopJobRunOutput) SetSuccessfulSubmissions(v []*BatchStopJobRunSuc return s } -// Details about the job run which is submitted successfully for stopping. +// Records a successful request to stop a specified JobRun. // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchStopJobRunSuccessfulSubmission type BatchStopJobRunSuccessfulSubmission struct { _ struct{} `type:"structure"` - // The name of the job. + // The Name of the Job in question. JobName *string `min:"1" type:"string"` - // The job run Id. + // The JobRunId of the JobRun in question. JobRunId *string `min:"1" type:"string"` } @@ -8505,13 +8923,15 @@ func (s *Column) SetType(v string) *Column { type Condition struct { _ struct{} `type:"structure"` - // The name of the job in question. + // The name of the Job to whose JobRuns this condition applies and on which + // this trigger waits. JobName *string `min:"1" type:"string"` // A logical operator. LogicalOperator *string `type:"string" enum:"LogicalOperator"` - // The condition state. + // The condition state. Currently, the values supported are SUCCEEDED, STOPPED + // and FAILED. State *string `type:"string" enum:"JobRunState"` } @@ -8661,11 +9081,15 @@ type ConnectionInput struct { _ struct{} `type:"structure"` // A list of key-value pairs used as parameters for this connection. - ConnectionProperties map[string]*string `type:"map"` + // + // ConnectionProperties is a required field + ConnectionProperties map[string]*string `type:"map" required:"true"` // The type of the connection. Currently, only JDBC is supported; SFTP is not // supported. - ConnectionType *string `type:"string" enum:"ConnectionType"` + // + // ConnectionType is a required field + ConnectionType *string `type:"string" required:"true" enum:"ConnectionType"` // Description of the connection. Description *string `type:"string"` @@ -8674,7 +9098,9 @@ type ConnectionInput struct { MatchCriteria []*string `type:"list"` // The name of the connection. - Name *string `min:"1" type:"string"` + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` // A map of physical connection requirements, such as VPC and SecurityGroup, // needed for making this connection successfully. @@ -8694,6 +9120,15 @@ func (s ConnectionInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ConnectionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ConnectionInput"} + if s.ConnectionProperties == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionProperties")) + } + if s.ConnectionType == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionType")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } @@ -8787,6 +9222,9 @@ type Crawler struct { // input format, output format, serde information, and schema from their parent // table, rather than detect this information separately for each partition. // Use the following JSON string to specify that behavior: + // + // Example: '{ "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": + // "InheritFromTable" } } }' Configuration *string `type:"string"` // If the crawler is running, contains the total time elapsed since the last @@ -9219,6 +9657,10 @@ type CreateCrawlerInput struct { // You can use this field to force partitions to inherit metadata such as classification, // input format, output format, serde information, and schema from their parent // table, rather than detect this information separately for each partition. + // Use the following JSON string to specify that behavior: + // + // Example: '{ "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": + // "InheritFromTable" } } }' Configuration *string `type:"string"` // The AWS Glue database where results are written, such as: arn:aws:daylight:us-east-1::database/sometable/*. @@ -9790,7 +10232,11 @@ func (s *CreateGrokClassifierRequest) SetName(v string) *CreateGrokClassifierReq type CreateJobInput struct { _ struct{} `type:"structure"` - // The number of capacity units allocated to this job. + // The number of AWS Glue data processing units (DPUs) to allocate to this Job. + // From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative + // measure of processing power that consists of 4 vCPUs of compute capacity + // and 16 GB of memory. For more information, see the AWS Glue pricing page + // (https://aws.amazon.com/glue/pricing/). AllocatedCapacity *int64 `type:"integer"` // The JobCommand that executes this job. @@ -9801,7 +10247,18 @@ type CreateJobInput struct { // The connections used for this job. Connections *ConnectionsList `type:"structure"` - // The default parameters for this job. + // The default arguments for this job. + // + // You can specify arguments here that your own job-execution script consumes, + // as well as arguments that AWS Glue itself consumes. + // + // For information about how to specify and consume your own Job arguments, + // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) + // topic in the developer guide. + // + // For information about the key-value pairs that AWS Glue consumes to set up + // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-glue-arguments.html) + // topic in the developer guide. DefaultArguments map[string]*string `type:"map"` // Description of the job. @@ -9817,12 +10274,12 @@ type CreateJobInput struct { // The maximum number of times to retry this job if it fails. MaxRetries *int64 `type:"integer"` - // The name you assign to this job. + // The name you assign to this job. It must be unique in your account. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The role associated with this job. + // The name of the IAM role associated with this job. // // Role is a required field Role *string `type:"string" required:"true"` @@ -9924,7 +10381,7 @@ func (s *CreateJobInput) SetRole(v string) *CreateJobInput { type CreateJobOutput struct { _ struct{} `type:"structure"` - // The unique name of the new job that has been created. + // The unique name that was provided. Name *string `min:"1" type:"string"` } @@ -10059,6 +10516,9 @@ type CreateScriptInput struct { // A list of the nodes in the DAG. DagNodes []*CodeGenNode `type:"list"` + + // The programming language of the resulting code from the DAG. + Language *string `type:"string" enum:"Language"` } // String returns the string representation @@ -10113,12 +10573,21 @@ func (s *CreateScriptInput) SetDagNodes(v []*CodeGenNode) *CreateScriptInput { return s } +// SetLanguage sets the Language field's value. +func (s *CreateScriptInput) SetLanguage(v string) *CreateScriptInput { + s.Language = &v + return s +} + // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateScriptResponse type CreateScriptOutput struct { _ struct{} `type:"structure"` // The Python script generated from the DAG. PythonScript *string `type:"string"` + + // The Scala code generated from the DAG. + ScalaCode *string `type:"string"` } // String returns the string representation @@ -10137,6 +10606,12 @@ func (s *CreateScriptOutput) SetPythonScript(v string) *CreateScriptOutput { return s } +// SetScalaCode sets the ScalaCode field's value. +func (s *CreateScriptOutput) SetScalaCode(v string) *CreateScriptOutput { + s.ScalaCode = &v + return s +} + // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateTableRequest type CreateTableInput struct { _ struct{} `type:"structure"` @@ -10145,7 +10620,8 @@ type CreateTableInput struct { // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The catalog database in which to create the new table. + // The catalog database in which to create the new table. For Hive compatibility, + // this name is entirely lowercase. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` @@ -10238,18 +10714,22 @@ type CreateTriggerInput struct { // A description of the new trigger. Description *string `type:"string"` - // The name to assign to the new trigger. + // The name of the trigger. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` // A predicate to specify when the new trigger should fire. + // + // This field is required when the trigger type is CONDITIONAL. Predicate *Predicate `type:"structure"` // A cron expression used to specify the schedule (see Time-Based Schedules // for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). // For example, to run something every day at 12:15 UTC, you would specify: // cron(15 12 * * ? *). + // + // This field is required when the trigger type is SCHEDULED. Schedule *string `type:"string"` // The type of the new trigger. @@ -10345,7 +10825,7 @@ func (s *CreateTriggerInput) SetType(v string) *CreateTriggerInput { type CreateTriggerOutput struct { _ struct{} `type:"structure"` - // The name assigned to the new trigger. + // The name of the trigger. Name *string `min:"1" type:"string"` } @@ -10470,8 +10950,10 @@ type CreateXMLClassifierRequest struct { Name *string `min:"1" type:"string" required:"true"` // The XML tag designating the element that contains each record in an XML document - // being parsed. Note that this cannot be an empty element. It must contain - // child elements representing fields in the record. + // being parsed. Note that this cannot identify a self-closing element (closed + // by />). An empty row element that contains only attributes can be parsed + // as long as it ends with a closing tag (for example, + // is okay, but is not). RowTag *string `type:"string"` } @@ -10537,7 +11019,8 @@ type Database struct { // The location of the database (for example, an HDFS path). LocationUri *string `min:"1" type:"string"` - // Name of the database. + // Name of the database. For Hive compatibility, this is folded to lowercase + // when it is stored. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -10586,7 +11069,7 @@ func (s *Database) SetParameters(v map[string]*string) *Database { return s } -// The structure used to create or updata a database. +// The structure used to create or update a database. // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DatabaseInput type DatabaseInput struct { _ struct{} `type:"structure"` @@ -10597,7 +11080,8 @@ type DatabaseInput struct { // The location of the database (for example, an HDFS path). LocationUri *string `min:"1" type:"string"` - // Name of the database. + // Name of the database. For Hive compatibility, this is folded to lowercase + // when it is stored. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -10851,7 +11335,8 @@ type DeleteDatabaseInput struct { // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the Database to delete. + // The name of the Database to delete. For Hive compatibility, this must be + // all lowercase. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -11142,12 +11627,14 @@ type DeleteTableInput struct { // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the catalog database in which the table resides. + // The name of the catalog database in which the table resides. For Hive compatibility, + // this name is entirely lowercase. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` - // The name of the table to be deleted. + // The name of the table to be deleted. For Hive compatibility, this name is + // entirely lowercase. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -11221,6 +11708,111 @@ func (s DeleteTableOutput) GoString() string { return s.String() } +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTableVersionRequest +type DeleteTableVersionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the tables reside. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The database in the catalog in which the table resides. For Hive compatibility, + // this name is entirely lowercase. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the table. For Hive compatibility, this name is entirely lowercase. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` + + // The ID of the table version to be deleted. + // + // VersionId is a required field + VersionId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTableVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTableVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTableVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTableVersionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.VersionId == nil { + invalidParams.Add(request.NewErrParamRequired("VersionId")) + } + if s.VersionId != nil && len(*s.VersionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DeleteTableVersionInput) SetCatalogId(v string) *DeleteTableVersionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeleteTableVersionInput) SetDatabaseName(v string) *DeleteTableVersionInput { + s.DatabaseName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *DeleteTableVersionInput) SetTableName(v string) *DeleteTableVersionInput { + s.TableName = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *DeleteTableVersionInput) SetVersionId(v string) *DeleteTableVersionInput { + s.VersionId = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTableVersionResponse +type DeleteTableVersionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteTableVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTableVersionOutput) GoString() string { + return s.String() +} + // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTriggerRequest type DeleteTriggerInput struct { _ struct{} `type:"structure"` @@ -11645,7 +12237,9 @@ func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { type ExecutionProperty struct { _ struct{} `type:"structure"` - // The maximum number of concurrent runs allowed for a job. + // The maximum number of concurrent runs allowed for a job. The default is 1. + // An error is returned when this threshold is reached. The maximum value you + // can specify is controlled by a service limit. MaxConcurrentRuns *int64 `type:"integer"` } @@ -12332,7 +12926,8 @@ type GetDatabaseInput struct { // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the database to retrieve. + // The name of the database to retrieve. For Hive compatibility, this should + // be all lowercase. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -12772,7 +13367,7 @@ type GetJobRunInput struct { // JobName is a required field JobName *string `min:"1" type:"string" required:"true"` - // A list of the predecessor runs to return as well. + // True if a list of predecessor runs should be returned. PredecessorsIncluded *bool `type:"boolean"` // The ID of the job run. @@ -13397,6 +13992,9 @@ func (s *GetPartitionsOutput) SetPartitions(v []*Partition) *GetPartitionsOutput type GetPlanInput struct { _ struct{} `type:"structure"` + // The programming language of the code to perform the mapping. + Language *string `type:"string" enum:"Language"` + // Parameters for the mapping. Location *Location `type:"structure"` @@ -13460,6 +14058,12 @@ func (s *GetPlanInput) Validate() error { return nil } +// SetLanguage sets the Language field's value. +func (s *GetPlanInput) SetLanguage(v string) *GetPlanInput { + s.Language = &v + return s +} + // SetLocation sets the Location field's value. func (s *GetPlanInput) SetLocation(v *Location) *GetPlanInput { s.Location = v @@ -13490,6 +14094,9 @@ type GetPlanOutput struct { // A Python script to perform the mapping. PythonScript *string `type:"string"` + + // Scala code to perform the mapping. + ScalaCode *string `type:"string"` } // String returns the string representation @@ -13508,6 +14115,12 @@ func (s *GetPlanOutput) SetPythonScript(v string) *GetPlanOutput { return s } +// SetScalaCode sets the ScalaCode field's value. +func (s *GetPlanOutput) SetScalaCode(v string) *GetPlanOutput { + s.ScalaCode = &v + return s +} + // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableRequest type GetTableInput struct { _ struct{} `type:"structure"` @@ -13516,12 +14129,14 @@ type GetTableInput struct { // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the database in the catalog in which the table resides. + // The name of the database in the catalog in which the table resides. For Hive + // compatibility, this name is entirely lowercase. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` - // The name of the table for which to retrieve the definition. + // The name of the table for which to retrieve the definition. For Hive compatibility, + // this name is entirely lowercase. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -13604,6 +14219,115 @@ func (s *GetTableOutput) SetTable(v *Table) *GetTableOutput { return s } +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableVersionRequest +type GetTableVersionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the tables reside. If none is supplied, + // the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The database in the catalog in which the table resides. For Hive compatibility, + // this name is entirely lowercase. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the table. For Hive compatibility, this name is entirely lowercase. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` + + // The ID value of the table version to be retrieved. + VersionId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetTableVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTableVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTableVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTableVersionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.VersionId != nil && len(*s.VersionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetTableVersionInput) SetCatalogId(v string) *GetTableVersionInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetTableVersionInput) SetDatabaseName(v string) *GetTableVersionInput { + s.DatabaseName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetTableVersionInput) SetTableName(v string) *GetTableVersionInput { + s.TableName = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *GetTableVersionInput) SetVersionId(v string) *GetTableVersionInput { + s.VersionId = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableVersionResponse +type GetTableVersionOutput struct { + _ struct{} `type:"structure"` + + // The requested table version. + TableVersion *TableVersion `type:"structure"` +} + +// String returns the string representation +func (s GetTableVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTableVersionOutput) GoString() string { + return s.String() +} + +// SetTableVersion sets the TableVersion field's value. +func (s *GetTableVersionOutput) SetTableVersion(v *TableVersion) *GetTableVersionOutput { + s.TableVersion = v + return s +} + // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTableVersionsRequest type GetTableVersionsInput struct { _ struct{} `type:"structure"` @@ -13612,7 +14336,8 @@ type GetTableVersionsInput struct { // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The database in the catalog in which the table resides. + // The database in the catalog in which the table resides. For Hive compatibility, + // this name is entirely lowercase. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` @@ -13623,7 +14348,7 @@ type GetTableVersionsInput struct { // A continuation token, if this is not the first call. NextToken *string `type:"string"` - // The name of the table. + // The name of the table. For Hive compatibility, this name is entirely lowercase. // // TableName is a required field TableName *string `min:"1" type:"string" required:"true"` @@ -13739,7 +14464,8 @@ type GetTablesInput struct { // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The database in the catalog whose tables to list. + // The database in the catalog whose tables to list. For Hive compatibility, + // this name is entirely lowercase. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` @@ -13920,7 +14646,9 @@ func (s *GetTriggerOutput) SetTrigger(v *Trigger) *GetTriggerOutput { type GetTriggersInput struct { _ struct{} `type:"structure"` - // The name of the job for which to retrieve triggers. + // The name of the job for which to retrieve triggers. The trigger that can + // start this job will be returned, and if there is no such trigger, all triggers + // will be returned. DependentJobName *string `min:"1" type:"string"` // The maximum size of the response. @@ -14416,12 +15144,16 @@ func (s *JdbcTarget) SetPath(v string) *JdbcTarget { return s } -// Specifies a job in the Data Catalog. +// Specifies a job. // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Job type Job struct { _ struct{} `type:"structure"` - // The number of capacity units allocated to this job. + // The number of AWS Glue data processing units (DPUs) allocated to this Job. + // From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative + // measure of processing power that consists of 4 vCPUs of compute capacity + // and 16 GB of memory. For more information, see the AWS Glue pricing page + // (https://aws.amazon.com/glue/pricing/). AllocatedCapacity *int64 `type:"integer"` // The JobCommand that executes this job. @@ -14433,7 +15165,18 @@ type Job struct { // The time and date that this job specification was created. CreatedOn *time.Time `type:"timestamp" timestampFormat:"unix"` - // The default parameters for this job. + // The default arguments for this job, specified as name-value pairs. + // + // You can specify arguments here that your own job-execution script consumes, + // as well as arguments that AWS Glue itself consumes. + // + // For information about how to specify and consume your own Job arguments, + // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) + // topic in the developer guide. + // + // For information about the key-value pairs that AWS Glue consumes to set up + // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-glue-arguments.html) + // topic in the developer guide. DefaultArguments map[string]*string `type:"map"` // Description of this job. @@ -14455,7 +15198,7 @@ type Job struct { // The name you assign to this job. Name *string `min:"1" type:"string"` - // The role associated with this job. + // The name of the IAM role associated with this job. Role *string `type:"string"` } @@ -14607,10 +15350,10 @@ func (s *JobBookmarkEntry) SetVersion(v int64) *JobBookmarkEntry { type JobCommand struct { _ struct{} `type:"structure"` - // The name of this job command. + // The name of the job command: this must be glueetl. Name *string `type:"string"` - // Specifies the location of a script that executes a job. + // Specifies the S3 path to a script that executes a job (required). ScriptLocation *string `type:"string"` } @@ -14641,13 +15384,29 @@ func (s *JobCommand) SetScriptLocation(v string) *JobCommand { type JobRun struct { _ struct{} `type:"structure"` - // The amount of infrastructure capacity allocated to this job run. + // The number of AWS Glue data processing units (DPUs) allocated to this JobRun. + // From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative + // measure of processing power that consists of 4 vCPUs of compute capacity + // and 16 GB of memory. For more information, see the AWS Glue pricing page + // (https://aws.amazon.com/glue/pricing/). AllocatedCapacity *int64 `type:"integer"` - // The job arguments associated with this run. + // The job arguments associated with this run. These override equivalent default + // arguments set for the job. + // + // You can specify arguments here that your own job-execution script consumes, + // as well as arguments that AWS Glue itself consumes. + // + // For information about how to specify and consume your own job arguments, + // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) + // topic in the developer guide. + // + // For information about the key-value pairs that AWS Glue consumes to set up + // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-glue-arguments.html) + // topic in the developer guide. Arguments map[string]*string `type:"map"` - // The number or the attempt to run this job. + // The number of the attempt to run this job. Attempt *int64 `type:"integer"` // The date and time this job run completed. @@ -14671,13 +15430,14 @@ type JobRun struct { // A list of predecessors to this job run. PredecessorRuns []*Predecessor `type:"list"` - // The ID of the previous run of this job. + // The ID of the previous run of this job. For example, the JobRunId specified + // in the StartJobRun action. PreviousRunId *string `min:"1" type:"string"` // The date and time at which this job run was started. StartedOn *time.Time `type:"timestamp" timestampFormat:"unix"` - // The name of the trigger for this job run. + // The name of the trigger that started this job run. TriggerName *string `min:"1" type:"string"` } @@ -14769,21 +15529,37 @@ func (s *JobRun) SetTriggerName(v string) *JobRun { return s } -// Specifies information used to update an existing job. +// Specifies information used to update an existing job. Note that the previous +// job definition will be completely overwritten by this information. // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/JobUpdate type JobUpdate struct { _ struct{} `type:"structure"` - // The number of capacity units allocated to this job. + // The number of AWS Glue data processing units (DPUs) to allocate to this Job. + // From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative + // measure of processing power that consists of 4 vCPUs of compute capacity + // and 16 GB of memory. For more information, see the AWS Glue pricing page + // (https://aws.amazon.com/glue/pricing/). AllocatedCapacity *int64 `type:"integer"` - // The JobCommand that executes this job. + // The JobCommand that executes this job (required). Command *JobCommand `type:"structure"` // The connections used for this job. Connections *ConnectionsList `type:"structure"` - // The default parameters for this job. + // The default arguments for this job. + // + // You can specify arguments here that your own job-execution script consumes, + // as well as arguments that AWS Glue itself consumes. + // + // For information about how to specify and consume your own Job arguments, + // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) + // topic in the developer guide. + // + // For information about the key-value pairs that AWS Glue consumes to set up + // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-glue-arguments.html) + // topic in the developer guide. DefaultArguments map[string]*string `type:"map"` // Description of the job. @@ -14799,7 +15575,7 @@ type JobUpdate struct { // The maximum number of times to retry this job if it fails. MaxRetries *int64 `type:"integer"` - // The role associated with this job. + // The name of the IAM role associated with this job (required). Role *string `type:"string"` } @@ -15372,7 +16148,7 @@ func (s *PartitionValueList) SetValues(v []*string) *PartitionValueList { type PhysicalConnectionRequirements struct { _ struct{} `type:"structure"` - // The connection's availability zone. + // The connection's availability zone. This field is deprecated and has no effect. AvailabilityZone *string `min:"1" type:"string"` // The security group ID list used by the connection. @@ -15426,7 +16202,8 @@ func (s *PhysicalConnectionRequirements) SetSubnetId(v string) *PhysicalConnecti return s } -// A job run that preceded this one. +// A job run that was used in the predicate of a conditional trigger that triggered +// this job run. // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Predecessor type Predecessor struct { _ struct{} `type:"structure"` @@ -15434,7 +16211,7 @@ type Predecessor struct { // The name of the predecessor job. JobName *string `min:"1" type:"string"` - // The job-run ID of the precessor job run. + // The job-run ID of the predecessor job run. RunId *string `min:"1" type:"string"` } @@ -16012,10 +16789,26 @@ func (s StartCrawlerScheduleOutput) GoString() string { type StartJobRunInput struct { _ struct{} `type:"structure"` - // The infrastructure capacity to allocate to this job. + // The number of AWS Glue data processing units (DPUs) to allocate to this JobRun. + // From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative + // measure of processing power that consists of 4 vCPUs of compute capacity + // and 16 GB of memory. For more information, see the AWS Glue pricing page + // (https://aws.amazon.com/glue/pricing/). AllocatedCapacity *int64 `type:"integer"` - // Specific arguments for this job run. + // The job arguments specifically for this run. They override the equivalent + // default arguments set for the job itself. + // + // You can specify arguments here that your own job-execution script consumes, + // as well as arguments that AWS Glue itself consumes. + // + // For information about how to specify and consume your own Job arguments, + // see the Calling AWS Glue APIs in Python (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html) + // topic in the developer guide. + // + // For information about the key-value pairs that AWS Glue consumes to set up + // your job, see the Special Parameters Used by AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-glue-arguments.html) + // topic in the developer guide. Arguments map[string]*string `type:"map"` // The name of the job to start. @@ -16023,7 +16816,7 @@ type StartJobRunInput struct { // JobName is a required field JobName *string `min:"1" type:"string" required:"true"` - // The ID of the job run to start. + // The ID of a previous JobRun to retry. JobRunId *string `min:"1" type:"string"` } @@ -16526,7 +17319,8 @@ type Table struct { // Person or entity who created the table. CreatedBy *string `min:"1" type:"string"` - // Name of the metadata database where the table metadata resides. + // Name of the metadata database where the table metadata resides. For Hive + // compatibility, this must be all lowercase. DatabaseName *string `min:"1" type:"string"` // Description of the table. @@ -16539,7 +17333,7 @@ type Table struct { // Last time column statistics were computed for this table. LastAnalyzedTime *time.Time `type:"timestamp" timestampFormat:"unix"` - // Name of the table. + // Name of the table. For Hive compatibility, this must be entirely lowercase. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -16688,7 +17482,7 @@ type TableError struct { // Detail about the error. ErrorDetail *ErrorDetail `type:"structure"` - // Name of the table. + // Name of the table. For Hive compatibility, this must be entirely lowercase. TableName *string `min:"1" type:"string"` } @@ -16728,7 +17522,8 @@ type TableInput struct { // Last time column statistics were computed for this table. LastAnalyzedTime *time.Time `type:"timestamp" timestampFormat:"unix"` - // Name of the table. + // Name of the table. For Hive compatibility, this is folded to lowercase when + // it is stored. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -16910,6 +17705,49 @@ func (s *TableVersion) SetVersionId(v string) *TableVersion { return s } +// An error record for table-version operations. +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/TableVersionError +type TableVersionError struct { + _ struct{} `type:"structure"` + + // Detail about the error. + ErrorDetail *ErrorDetail `type:"structure"` + + // The name of the table in question. + TableName *string `min:"1" type:"string"` + + // The ID value of the version in question. + VersionId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s TableVersionError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TableVersionError) GoString() string { + return s.String() +} + +// SetErrorDetail sets the ErrorDetail field's value. +func (s *TableVersionError) SetErrorDetail(v *ErrorDetail) *TableVersionError { + s.ErrorDetail = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *TableVersionError) SetTableName(v string) *TableVersionError { + s.TableName = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *TableVersionError) SetVersionId(v string) *TableVersionError { + s.VersionId = &v + return s +} + // Information about a specific trigger. // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/Trigger type Trigger struct { @@ -16921,13 +17759,13 @@ type Trigger struct { // A description of this trigger. Description *string `type:"string"` - // The trigger ID. + // Reserved for future use. Id *string `min:"1" type:"string"` // Name of the trigger. Name *string `min:"1" type:"string"` - // The predicate of this trigger. + // The predicate of this trigger, which defines when it will fire. Predicate *Predicate `type:"structure"` // A cron expression used to specify the schedule (see Time-Based Schedules @@ -17001,7 +17839,8 @@ func (s *Trigger) SetType(v string) *Trigger { return s } -// A structure used to provide information used to updata a trigger. +// A structure used to provide information used to update a trigger. This object +// will update the the previous trigger definition by overwriting it completely. // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/TriggerUpdate type TriggerUpdate struct { _ struct{} `type:"structure"` @@ -17012,13 +17851,13 @@ type TriggerUpdate struct { // A description of this trigger. Description *string `type:"string"` - // The name of the trigger. + // Reserved for future use. Name *string `min:"1" type:"string"` // The predicate of this trigger, which defines when it will fire. Predicate *Predicate `type:"structure"` - // An updated cron expression used to specify the schedule (see Time-Based Schedules + // A cron expression used to specify the schedule (see Time-Based Schedules // for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). // For example, to run something every day at 12:15 UTC, you would specify: // cron(15 12 * * ? *). @@ -17266,6 +18105,9 @@ type UpdateCrawlerInput struct { // input format, output format, serde information, and schema from their parent // table, rather than detect this information separately for each partition. // Use the following JSON string to specify that behavior: + // + // Example:  '{ "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": + // "InheritFromTable" } } }' Configuration *string `type:"string"` // The AWS Glue database where results are stored, such as: arn:aws:daylight:us-east-1::database/sometable/*. @@ -17483,7 +18325,8 @@ type UpdateDatabaseInput struct { // DatabaseInput is a required field DatabaseInput *DatabaseInput `type:"structure" required:"true"` - // The name of the metadata database to update in the catalog. + // The name of the database to update in the catalog. For Hive compatibility, + // this is folded to lowercase. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -17923,11 +18766,17 @@ type UpdateTableInput struct { // the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the catalog database in which the table resides. + // The name of the catalog database in which the table resides. For Hive compatibility, + // this name is entirely lowercase. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` + // By default, UpdateTable always creates an archived version of the table before + // updating it. If skipArchive is set to true, however, UpdateTable does not + // create the archived version. + SkipArchive *bool `type:"boolean"` + // An updated TableInput object to define the metadata table in the catalog. // // TableInput is a required field @@ -17983,6 +18832,12 @@ func (s *UpdateTableInput) SetDatabaseName(v string) *UpdateTableInput { return s } +// SetSkipArchive sets the SkipArchive field's value. +func (s *UpdateTableInput) SetSkipArchive(v bool) *UpdateTableInput { + s.SkipArchive = &v + return s +} + // SetTableInput sets the TableInput field's value. func (s *UpdateTableInput) SetTableInput(v *TableInput) *UpdateTableInput { s.TableInput = v @@ -18209,8 +19064,10 @@ type UpdateXMLClassifierRequest struct { Name *string `min:"1" type:"string" required:"true"` // The XML tag designating the element that contains each record in an XML document - // being parsed. Note that this cannot be an empty element. It must contain - // child elements representing fields in the record. + // being parsed. Note that this cannot identify a self-closing element (closed + // by />). An empty row element that contains only attributes can be parsed + // as long as it ends with a closing tag (for example, + // is okay, but is not). RowTag *string `type:"string"` } @@ -18440,8 +19297,10 @@ type XMLClassifier struct { Name *string `min:"1" type:"string" required:"true"` // The XML tag designating the element that contains each record in an XML document - // being parsed. Note that this cannot be an empty element. It must contain - // child elements representing fields in the record. + // being parsed. Note that this cannot identify a self-closing element (closed + // by />). An empty row element that contains only attributes can be parsed + // as long as it ends with a closing tag (for example, + // is okay, but is not). RowTag *string `type:"string"` // The version of this classifier. @@ -18579,6 +19438,14 @@ const ( JobRunStateFailed = "FAILED" ) +const ( + // LanguagePython is a Language enum value + LanguagePython = "PYTHON" + + // LanguageScala is a Language enum value + LanguageScala = "SCALA" +) + const ( // LastCrawlStatusSucceeded is a LastCrawlStatus enum value LastCrawlStatusSucceeded = "SUCCEEDED" @@ -18593,6 +19460,9 @@ const ( const ( // LogicalAnd is a Logical enum value LogicalAnd = "AND" + + // LogicalAny is a Logical enum value + LogicalAny = "ANY" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go b/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go index bd931c9eebb4..a7016cf83f9e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go @@ -3475,6 +3475,59 @@ func (s AcceptInvitationOutput) GoString() string { return s.String() } +// The IAM access key details (IAM user information) of a user that engaged +// in the activity that prompted GuardDuty to generate a finding. +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AccessKeyDetails +type AccessKeyDetails struct { + _ struct{} `type:"structure"` + + // Access key ID of the user. + AccessKeyId *string `locationName:"accessKeyId" type:"string"` + + // The principal ID of the user. + PrincipalId *string `locationName:"principalId" type:"string"` + + // The name of the user. + UserName *string `locationName:"userName" type:"string"` + + // The type of the user. + UserType *string `locationName:"userType" type:"string"` +} + +// String returns the string representation +func (s AccessKeyDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessKeyDetails) GoString() string { + return s.String() +} + +// SetAccessKeyId sets the AccessKeyId field's value. +func (s *AccessKeyDetails) SetAccessKeyId(v string) *AccessKeyDetails { + s.AccessKeyId = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *AccessKeyDetails) SetPrincipalId(v string) *AccessKeyDetails { + s.PrincipalId = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *AccessKeyDetails) SetUserName(v string) *AccessKeyDetails { + s.UserName = &v + return s +} + +// SetUserType sets the UserType field's value. +func (s *AccessKeyDetails) SetUserType(v string) *AccessKeyDetails { + s.UserType = &v + return s +} + // An object containing the member's accountId and email address. // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AccountDetail type AccountDetail struct { @@ -7028,6 +7081,10 @@ func (s *RemotePortDetails) SetPortName(v string) *RemotePortDetails { type Resource struct { _ struct{} `type:"structure"` + // The IAM access key details (IAM user information) of a user that engaged + // in the activity that prompted GuardDuty to generate a finding. + AccessKeyDetails *AccessKeyDetails `locationName:"accessKeyDetails" type:"structure"` + // The information about the EC2 instance associated with the activity that // prompted GuardDuty to generate a finding. InstanceDetails *InstanceDetails `locationName:"instanceDetails" type:"structure"` @@ -7046,6 +7103,12 @@ func (s Resource) GoString() string { return s.String() } +// SetAccessKeyDetails sets the AccessKeyDetails field's value. +func (s *Resource) SetAccessKeyDetails(v *AccessKeyDetails) *Resource { + s.AccessKeyDetails = v + return s +} + // SetInstanceDetails sets the InstanceDetails field's value. func (s *Resource) SetInstanceDetails(v *InstanceDetails) *Resource { s.InstanceDetails = v diff --git a/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go b/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go index 0fc81bb70000..38516c296878 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go @@ -100,14 +100,11 @@ func (c *Lambda) AddPermissionRequest(input *AddPermissionInput) (req *request.R // Lambda function access policy is limited to 20 KB. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions +// +// * ErrCodePreconditionFailedException "PreconditionFailedException" +// The RevisionId provided does not match the latest RevisionId for the Lambda +// function or alias. Call the GetFunction or the GetAlias API to retrieve the +// latest RevisionId for your resource. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/AddPermission func (c *Lambda) AddPermission(input *AddPermissionInput) (*AddPermissionOutput, error) { @@ -205,14 +202,6 @@ func (c *Lambda) CreateAliasRequest(input *CreateAliasInput) (req *request.Reque // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/CreateAlias func (c *Lambda) CreateAlias(input *CreateAliasInput) (*AliasConfiguration, error) { @@ -326,14 +315,6 @@ func (c *Lambda) CreateEventSourceMappingRequest(input *CreateEventSourceMapping // The resource already exists. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeResourceNotFoundException "ResourceNotFoundException" // The resource (for example, a Lambda function or access policy statement) @@ -440,14 +421,6 @@ func (c *Lambda) CreateFunctionRequest(input *CreateFunctionInput) (req *request // The resource already exists. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) @@ -542,14 +515,6 @@ func (c *Lambda) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Reque // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteAlias func (c *Lambda) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) { @@ -644,14 +609,6 @@ func (c *Lambda) DeleteEventSourceMappingRequest(input *DeleteEventSourceMapping // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteEventSourceMapping func (c *Lambda) DeleteEventSourceMapping(input *DeleteEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { @@ -751,14 +708,6 @@ func (c *Lambda) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -836,7 +785,8 @@ func (c *Lambda) DeleteFunctionConcurrencyRequest(input *DeleteFunctionConcurren // DeleteFunctionConcurrency API operation for AWS Lambda. // -// Removes concurrent execution limits from this function. +// Removes concurrent execution limits from this function. For more information, +// see concurrent-executions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -854,14 +804,6 @@ func (c *Lambda) DeleteFunctionConcurrencyRequest(input *DeleteFunctionConcurren // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -951,14 +893,6 @@ func (c *Lambda) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req // // Returned Error Codes: // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeServiceException "ServiceException" // The AWS Lambda service encountered an internal error. @@ -1056,14 +990,6 @@ func (c *Lambda) GetAliasRequest(input *GetAliasInput) (req *request.Request, ou // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetAlias func (c *Lambda) GetAlias(input *GetAliasInput) (*AliasConfiguration, error) { @@ -1157,14 +1083,6 @@ func (c *Lambda) GetEventSourceMappingRequest(input *GetEventSourceMappingInput) // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/GetEventSourceMapping func (c *Lambda) GetEventSourceMapping(input *GetEventSourceMappingInput) (*EventSourceMappingConfiguration, error) { @@ -1262,14 +1180,6 @@ func (c *Lambda) GetFunctionRequest(input *GetFunctionInput) (req *request.Reque // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -1372,14 +1282,6 @@ func (c *Lambda) GetFunctionConfigurationRequest(input *GetFunctionConfiguration // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -1477,14 +1379,6 @@ func (c *Lambda) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -1570,6 +1464,13 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // // This operation requires permission for the lambda:InvokeFunction action. // +// The TooManyRequestsException noted below will return the following: ConcurrentInvocationLimitExceeded +// will be returned if you have no functions with reserved concurrency and have +// exceeded your account concurrent limit or if a function without reserved +// concurrency exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded +// will be returned when a function with reserved concurrency exceeds its configured +// concurrency limit. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1596,14 +1497,6 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // The content type of the Invoke request body is not JSON. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -1850,14 +1743,6 @@ func (c *Lambda) ListAliasesRequest(input *ListAliasesInput) (req *request.Reque // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListAliases func (c *Lambda) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) { @@ -1966,14 +1851,6 @@ func (c *Lambda) ListEventSourceMappingsRequest(input *ListEventSourceMappingsIn // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListEventSourceMappings func (c *Lambda) ListEventSourceMappings(input *ListEventSourceMappingsInput) (*ListEventSourceMappingsOutput, error) { @@ -2119,14 +1996,6 @@ func (c *Lambda) ListFunctionsRequest(input *ListFunctionsInput) (req *request.R // The AWS Lambda service encountered an internal error. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeInvalidParameterValueException "InvalidParameterValueException" // One of the parameters in the request is invalid. For example, if you provided @@ -2273,14 +2142,6 @@ func (c *Lambda) ListTagsRequest(input *ListTagsInput) (req *request.Request, ou // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListTags func (c *Lambda) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { @@ -2372,14 +2233,6 @@ func (c *Lambda) ListVersionsByFunctionRequest(input *ListVersionsByFunctionInpu // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/ListVersionsByFunction func (c *Lambda) ListVersionsByFunction(input *ListVersionsByFunctionInput) (*ListVersionsByFunctionOutput, error) { @@ -2474,18 +2327,15 @@ func (c *Lambda) PublishVersionRequest(input *PublishVersionInput) (req *request // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) // +// * ErrCodePreconditionFailedException "PreconditionFailedException" +// The RevisionId provided does not match the latest RevisionId for the Lambda +// function or alias. Call the GetFunction or the GetAlias API to retrieve the +// latest RevisionId for your resource. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PublishVersion func (c *Lambda) PublishVersion(input *PublishVersionInput) (*FunctionConfiguration, error) { req, out := c.PublishVersionRequest(input) @@ -2557,7 +2407,7 @@ func (c *Lambda) PutFunctionConcurrencyRequest(input *PutFunctionConcurrencyInpu // Note that Lambda automatically reserves a buffer of 100 concurrent executions // for functions without any reserved concurrency limit. This means if your // account limit is 1000, you have a total of 900 available to allocate to individual -// functions. +// functions. For more information, see concurrent-executions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2580,14 +2430,6 @@ func (c *Lambda) PutFunctionConcurrencyRequest(input *PutFunctionConcurrencyInpu // specified in the request does not exist. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionConcurrency func (c *Lambda) PutFunctionConcurrency(input *PutFunctionConcurrencyInput) (*PutFunctionConcurrencyOutput, error) { @@ -2692,14 +2534,11 @@ func (c *Lambda) RemovePermissionRequest(input *RemovePermissionInput) (req *req // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions +// +// * ErrCodePreconditionFailedException "PreconditionFailedException" +// The RevisionId provided does not match the latest RevisionId for the Lambda +// function or alias. Call the GetFunction or the GetAlias API to retrieve the +// latest RevisionId for your resource. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/RemovePermission func (c *Lambda) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) { @@ -2794,14 +2633,6 @@ func (c *Lambda) TagResourceRequest(input *TagResourceInput) (req *request.Reque // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/TagResource func (c *Lambda) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { @@ -2895,14 +2726,6 @@ func (c *Lambda) UntagResourceRequest(input *UntagResourceInput) (req *request.R // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UntagResource func (c *Lambda) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { @@ -2997,14 +2820,11 @@ func (c *Lambda) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Reque // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions +// +// * ErrCodePreconditionFailedException "PreconditionFailedException" +// The RevisionId provided does not match the latest RevisionId for the Lambda +// function or alias. Call the GetFunction or the GetAlias API to retrieve the +// latest RevisionId for your resource. // // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateAlias func (c *Lambda) UpdateAlias(input *UpdateAliasInput) (*AliasConfiguration, error) { @@ -3111,14 +2931,6 @@ func (c *Lambda) UpdateEventSourceMappingRequest(input *UpdateEventSourceMapping // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeResourceConflictException "ResourceConflictException" // The resource already exists. @@ -3220,18 +3032,15 @@ func (c *Lambda) UpdateFunctionCodeRequest(input *UpdateFunctionCodeInput) (req // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeCodeStorageExceededException "CodeStorageExceededException" // You have exceeded your maximum total code size per account. Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html) // +// * ErrCodePreconditionFailedException "PreconditionFailedException" +// The RevisionId provided does not match the latest RevisionId for the Lambda +// function or alias. Call the GetFunction or the GetAlias API to retrieve the +// latest RevisionId for your resource. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionCode func (c *Lambda) UpdateFunctionCode(input *UpdateFunctionCodeInput) (*FunctionConfiguration, error) { req, out := c.UpdateFunctionCodeRequest(input) @@ -3331,18 +3140,15 @@ func (c *Lambda) UpdateFunctionConfigurationRequest(input *UpdateFunctionConfigu // API, that AWS Lambda is unable to assume you will get this exception. // // * ErrCodeTooManyRequestsException "TooManyRequestsException" -// You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded -// is returned if you have no functions with reserved-concurrency and have exceeded -// your account concurrent limit or if a function without reserved concurrency -// exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded -// is returned when a function with reserved concurrency exceeds its configured -// concurrent limit. CallerRateLimitExceeded is returned when your account limit -// is exceeded and you have not reserved concurrency on any function. For more -// information, see concurrent-executions // // * ErrCodeResourceConflictException "ResourceConflictException" // The resource already exists. // +// * ErrCodePreconditionFailedException "PreconditionFailedException" +// The RevisionId provided does not match the latest RevisionId for the Lambda +// function or alias. Call the GetFunction or the GetAlias API to retrieve the +// latest RevisionId for your resource. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/UpdateFunctionConfiguration func (c *Lambda) UpdateFunctionConfiguration(input *UpdateFunctionConfigurationInput) (*FunctionConfiguration, error) { req, out := c.UpdateFunctionConfigurationRequest(input) @@ -3391,7 +3197,7 @@ type AccountLimit struct { TotalCodeSize *int64 `type:"long"` // The number of concurrent executions available to functions that do not have - // concurrency limits set. + // concurrency limits set. For more information, see concurrent-executions. UnreservedConcurrentExecutions *int64 `type:"integer"` } @@ -3527,6 +3333,13 @@ type AddPermissionInput struct { // arn:aws:lambda:aws-region:acct-id:function:function-name Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` + // An optional value you can use to ensure you are updating the latest update + // of the function version or alias. If the RevisionID you pass doesn't match + // the latest RevisionId of the function or alias, it will fail with an error + // message, advising you to retrieve the latest function version or alias RevisionID + // using either or . + RevisionId *string `type:"string"` + // This parameter is used for S3 and SES. The AWS account ID (without a hyphen) // of the source owner. For example, if the SourceArn identifies a bucket, then // this is the bucket owner's account ID. You can use this additional condition @@ -3623,6 +3436,12 @@ func (s *AddPermissionInput) SetQualifier(v string) *AddPermissionInput { return s } +// SetRevisionId sets the RevisionId field's value. +func (s *AddPermissionInput) SetRevisionId(v string) *AddPermissionInput { + s.RevisionId = &v + return s +} + // SetSourceAccount sets the SourceAccount field's value. func (s *AddPermissionInput) SetSourceAccount(v string) *AddPermissionInput { s.SourceAccount = &v @@ -3686,6 +3505,9 @@ type AliasConfiguration struct { // Alias name. Name *string `min:"1" type:"string"` + // Represents the latest updated revision of the function or alias. + RevisionId *string `type:"string"` + // Specifies an additional function versions the alias points to, allowing you // to dictate what percentage of traffic will invoke each version. For more // information, see lambda-traffic-shifting-using-aliases. @@ -3726,6 +3548,12 @@ func (s *AliasConfiguration) SetName(v string) *AliasConfiguration { return s } +// SetRevisionId sets the RevisionId field's value. +func (s *AliasConfiguration) SetRevisionId(v string) *AliasConfiguration { + s.RevisionId = &v + return s +} + // SetRoutingConfig sets the RoutingConfig field's value. func (s *AliasConfiguration) SetRoutingConfig(v *AliasRoutingConfiguration) *AliasConfiguration { s.RoutingConfig = v @@ -3738,9 +3566,9 @@ func (s *AliasConfiguration) SetRoutingConfig(v *AliasRoutingConfiguration) *Ali type AliasRoutingConfiguration struct { _ struct{} `type:"structure"` - // Set this property value to dictate what percentage of traffic will invoke - // the updated function version. If set to an empty string, 100 percent of traffic - // will invoke function-version. + // Set this value to dictate what percentage of traffic will invoke the updated + // function version. If set to an empty string, 100 percent of traffic will + // invoke function-version. For more information, see lambda-traffic-shifting-using-aliases. AdditionalVersionWeights map[string]*float64 `type:"map"` } @@ -4057,7 +3885,7 @@ type CreateFunctionInput struct { // Node v0.10.42 is currently marked as deprecated. You must migrate existing // functions to the newer Node.js runtime versions available on AWS Lambda (nodejs4.3 // or nodejs6.10) as soon as possible. Failure to do so will result in an invalid - // parmaeter error being returned. Note that you will have to follow this procedure + // parameter error being returned. Note that you will have to follow this procedure // for each region that contains functions written in the Node v0.10.42 runtime. // // Runtime is a required field @@ -4368,6 +4196,7 @@ type DeleteFunctionConcurrencyInput struct { _ struct{} `type:"structure"` // The name of the function you are removing concurrent execution limits from. + // For more information, see concurrent-executions. // // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` @@ -4865,6 +4694,9 @@ type FunctionConfiguration struct { // of 64 MB. MemorySize *int64 `min:"128" type:"integer"` + // Represents the latest updated revision of the function or alias. + RevisionId *string `type:"string"` + // The Amazon Resource Name (ARN) of the IAM role that Lambda assumes when it // executes your function to access any other Amazon Web Services (AWS) resources. Role *string `type:"string"` @@ -4969,6 +4801,12 @@ func (s *FunctionConfiguration) SetMemorySize(v int64) *FunctionConfiguration { return s } +// SetRevisionId sets the RevisionId field's value. +func (s *FunctionConfiguration) SetRevisionId(v string) *FunctionConfiguration { + s.RevisionId = &v + return s +} + // SetRole sets the Role field's value. func (s *FunctionConfiguration) SetRole(v string) *FunctionConfiguration { s.Role = &v @@ -5299,7 +5137,8 @@ type GetFunctionOutput struct { // The object for the Lambda function location. Code *FunctionCodeLocation `type:"structure"` - // The concurrent execution limit set for this function. + // The concurrent execution limit set for this function. For more information, + // see concurrent-executions. Concurrency *PutFunctionConcurrencyOutput `type:"structure"` // A complex type that describes function metadata. @@ -5417,6 +5256,9 @@ type GetPolicyOutput struct { // returns the same as a string using a backslash ("\") as an escape character // in the JSON. Policy *string `type:"string"` + + // Represents the latest updated revision of the function or alias. + RevisionId *string `type:"string"` } // String returns the string representation @@ -5435,6 +5277,12 @@ func (s *GetPolicyOutput) SetPolicy(v string) *GetPolicyOutput { return s } +// SetRevisionId sets the RevisionId field's value. +func (s *GetPolicyOutput) SetRevisionId(v string) *GetPolicyOutput { + s.RevisionId = &v + return s +} + // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/InvokeAsyncRequest type InvokeAsyncInput struct { _ struct{} `deprecated:"true" type:"structure" payload:"InvokeArgs"` @@ -5643,7 +5491,7 @@ type InvokeOutput struct { _ struct{} `type:"structure" payload:"Payload"` // The function version that has been executed. This value is returned only - // if the invocation type is RequestResponse. + // if the invocation type is RequestResponse. For more information, see lambda-traffic-shifting-using-aliases. ExecutedVersion *string `location:"header" locationName:"X-Amz-Executed-Version" min:"1" type:"string"` // Indicates whether an error occurred while executing the Lambda function. @@ -6247,6 +6095,13 @@ type PublishVersionInput struct { // // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` + + // An optional value you can use to ensure you are updating the latest update + // of the function version or alias. If the RevisionID you pass doesn't match + // the latest RevisionId of the function or alias, it will fail with an error + // message, advising you to retrieve the latest function version or alias RevisionID + // using either or . + RevisionId *string `type:"string"` } // String returns the string representation @@ -6293,16 +6148,24 @@ func (s *PublishVersionInput) SetFunctionName(v string) *PublishVersionInput { return s } +// SetRevisionId sets the RevisionId field's value. +func (s *PublishVersionInput) SetRevisionId(v string) *PublishVersionInput { + s.RevisionId = &v + return s +} + // See also, https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/PutFunctionConcurrencyRequest type PutFunctionConcurrencyInput struct { _ struct{} `type:"structure"` // The name of the function you are setting concurrent execution limits on. + // For more information, see concurrent-executions. // // FunctionName is a required field FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` - // The concurrent execution limit reserved for this function. + // The concurrent execution limit reserved for this function. For more information, + // see concurrent-executions. // // ReservedConcurrentExecutions is a required field ReservedConcurrentExecutions *int64 `type:"integer" required:"true"` @@ -6353,7 +6216,8 @@ func (s *PutFunctionConcurrencyInput) SetReservedConcurrentExecutions(v int64) * type PutFunctionConcurrencyOutput struct { _ struct{} `type:"structure"` - // The number of concurrent executions reserved for this function. + // The number of concurrent executions reserved for this function. For more + // information, see concurrent-executions. ReservedConcurrentExecutions *int64 `type:"integer"` } @@ -6394,6 +6258,13 @@ type RemovePermissionInput struct { // ARN. Qualifier *string `location:"querystring" locationName:"Qualifier" min:"1" type:"string"` + // An optional value you can use to ensure you are updating the latest update + // of the function version or alias. If the RevisionID you pass doesn't match + // the latest RevisionId of the function or alias, it will fail with an error + // message, advising you to retrieve the latest function version or alias RevisionID + // using either or . + RevisionId *string `location:"querystring" locationName:"RevisionId" type:"string"` + // Statement ID of the permission to remove. // // StatementId is a required field @@ -6447,6 +6318,12 @@ func (s *RemovePermissionInput) SetQualifier(v string) *RemovePermissionInput { return s } +// SetRevisionId sets the RevisionId field's value. +func (s *RemovePermissionInput) SetRevisionId(v string) *RemovePermissionInput { + s.RevisionId = &v + return s +} + // SetStatementId sets the StatementId field's value. func (s *RemovePermissionInput) SetStatementId(v string) *RemovePermissionInput { s.StatementId = &v @@ -6681,6 +6558,13 @@ type UpdateAliasInput struct { // Name is a required field Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` + // An optional value you can use to ensure you are updating the latest update + // of the function version or alias. If the RevisionID you pass doesn't match + // the latest RevisionId of the function or alias, it will fail with an error + // message, advising you to retrieve the latest function version or alias RevisionID + // using either or . + RevisionId *string `type:"string"` + // Specifies an additional version your alias can point to, allowing you to // dictate what percentage of traffic will invoke each version. For more information, // see lambda-traffic-shifting-using-aliases. @@ -6746,6 +6630,12 @@ func (s *UpdateAliasInput) SetName(v string) *UpdateAliasInput { return s } +// SetRevisionId sets the RevisionId field's value. +func (s *UpdateAliasInput) SetRevisionId(v string) *UpdateAliasInput { + s.RevisionId = &v + return s +} + // SetRoutingConfig sets the RoutingConfig field's value. func (s *UpdateAliasInput) SetRoutingConfig(v *AliasRoutingConfiguration) *UpdateAliasInput { s.RoutingConfig = v @@ -6867,6 +6757,13 @@ type UpdateFunctionCodeInput struct { // function and publish a version as an atomic operation. Publish *bool `type:"boolean"` + // An optional value you can use to ensure you are updating the latest update + // of the function version or alias. If the RevisionID you pass doesn't match + // the latest RevisionId of the function or alias, it will fail with an error + // message, advising you to retrieve the latest function version or alias RevisionID + // using either or . + RevisionId *string `type:"string"` + // Amazon S3 bucket name where the .zip file containing your deployment package // is stored. This bucket must reside in the same AWS Region where you are creating // the Lambda function. @@ -6942,6 +6839,12 @@ func (s *UpdateFunctionCodeInput) SetPublish(v bool) *UpdateFunctionCodeInput { return s } +// SetRevisionId sets the RevisionId field's value. +func (s *UpdateFunctionCodeInput) SetRevisionId(v string) *UpdateFunctionCodeInput { + s.RevisionId = &v + return s +} + // SetS3Bucket sets the S3Bucket field's value. func (s *UpdateFunctionCodeInput) SetS3Bucket(v string) *UpdateFunctionCodeInput { s.S3Bucket = &v @@ -7009,6 +6912,13 @@ type UpdateFunctionConfigurationInput struct { // MB. MemorySize *int64 `min:"128" type:"integer"` + // An optional value you can use to ensure you are updating the latest update + // of the function version or alias. If the RevisionID you pass doesn't match + // the latest RevisionId of the function or alias, it will fail with an error + // message, advising you to retrieve the latest function version or alias RevisionID + // using either or . + RevisionId *string `type:"string"` + // The Amazon Resource Name (ARN) of the IAM role that Lambda will assume when // it executes your function. Role *string `type:"string"` @@ -7117,6 +7027,12 @@ func (s *UpdateFunctionConfigurationInput) SetMemorySize(v int64) *UpdateFunctio return s } +// SetRevisionId sets the RevisionId field's value. +func (s *UpdateFunctionConfigurationInput) SetRevisionId(v string) *UpdateFunctionConfigurationInput { + s.RevisionId = &v + return s +} + // SetRole sets the Role field's value. func (s *UpdateFunctionConfigurationInput) SetRole(v string) *UpdateFunctionConfigurationInput { s.Role = &v @@ -7284,8 +7200,14 @@ const ( // RuntimeDotnetcore10 is a Runtime enum value RuntimeDotnetcore10 = "dotnetcore1.0" + // RuntimeDotnetcore20 is a Runtime enum value + RuntimeDotnetcore20 = "dotnetcore2.0" + // RuntimeNodejs43Edge is a Runtime enum value RuntimeNodejs43Edge = "nodejs4.3-edge" + + // RuntimeGo1X is a Runtime enum value + RuntimeGo1X = "go1.x" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go b/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go index 31c7bd730e35..57daa1c34e6b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go @@ -109,6 +109,14 @@ const ( // Lambda function access policy is limited to 20 KB. ErrCodePolicyLengthExceededException = "PolicyLengthExceededException" + // ErrCodePreconditionFailedException for service response error code + // "PreconditionFailedException". + // + // The RevisionId provided does not match the latest RevisionId for the Lambda + // function or alias. Call the GetFunction or the GetAlias API to retrieve the + // latest RevisionId for your resource. + ErrCodePreconditionFailedException = "PreconditionFailedException" + // ErrCodeRequestTooLargeException for service response error code // "RequestTooLargeException". // @@ -144,15 +152,6 @@ const ( // ErrCodeTooManyRequestsException for service response error code // "TooManyRequestsException". - // - // You will get this exception for the following reasons. ConcurrentInvocationLimitExceeded - // is returned if you have no functions with reserved-concurrency and have exceeded - // your account concurrent limit or if a function without reserved concurrency - // exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded - // is returned when a function with reserved concurrency exceeds its configured - // concurrent limit. CallerRateLimitExceeded is returned when your account limit - // is exceeded and you have not reserved concurrency on any function. For more - // information, see concurrent-executions ErrCodeTooManyRequestsException = "TooManyRequestsException" // ErrCodeUnsupportedMediaTypeException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go index e658c1cdfa26..4424687009c2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go @@ -1501,20 +1501,17 @@ func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadRepl // // Creates a new DB instance that acts as a Read Replica for an existing source // DB instance. You can create a Read Replica for a DB instance running MySQL, -// MariaDB, or PostgreSQL. +// MariaDB, or PostgreSQL. For more information, see Working with PostgreSQL, +// MySQL, and MariaDB Read Replicas (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html). // // Amazon Aurora does not support this action. You must call the CreateDBInstance // action to create a DB instance for an Aurora DB cluster. // -// All Read Replica DB instances are created as Single-AZ deployments with backups -// disabled. All other DB instance attributes (including DB security groups -// and DB parameter groups) are inherited from the source DB instance, except -// as specified below. +// All Read Replica DB instances are created with backups disabled. All other +// DB instance attributes (including DB security groups and DB parameter groups) +// are inherited from the source DB instance, except as specified below. // -// The source DB instance must have backup retention enabled. -// -// For more information, see Working with PostgreSQL, MySQL, and MariaDB Read -// Replicas (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html). +// Your source DB instance must have backup retention enabled. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -9443,6 +9440,8 @@ func (c *RDS) StartDBInstanceRequest(input *StartDBInstanceInput) (req *request. // AWS CLI command, or the StopDBInstance action. For more information, see // Stopping and Starting a DB instance in the AWS RDS user guide. // +// This command does not apply to Aurora MySQL and Aurora PostgreSQL. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -9564,6 +9563,8 @@ func (c *RDS) StopDBInstanceRequest(input *StopDBInstanceInput) (req *request.Re // do a point-in-time restore if necessary. For more information, see Stopping // and Starting a DB instance in the AWS RDS user guide. // +// This command does not apply to Aurora MySQL and Aurora PostgreSQL. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -10233,6 +10234,41 @@ func (s *CharacterSet) SetCharacterSetName(v string) *CharacterSet { return s } +// The configuration setting for the log types to be enabled for export to CloudWatch +// Logs for a specific DB instance or DB cluster. +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CloudwatchLogsExportConfiguration +type CloudwatchLogsExportConfiguration struct { + _ struct{} `type:"structure"` + + // The list of log types to disable. + DisableLogTypes []*string `type:"list"` + + // The list of log types to enable. + EnableLogTypes []*string `type:"list"` +} + +// String returns the string representation +func (s CloudwatchLogsExportConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudwatchLogsExportConfiguration) GoString() string { + return s.String() +} + +// SetDisableLogTypes sets the DisableLogTypes field's value. +func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration { + s.DisableLogTypes = v + return s +} + +// SetEnableLogTypes sets the EnableLogTypes field's value. +func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration { + s.EnableLogTypes = v + return s +} + // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroupMessage type CopyDBClusterParameterGroupInput struct { _ struct{} `type:"structure"` @@ -11716,7 +11752,7 @@ type CreateDBInstanceInput struct { // // Constraints to the amount of storage for each storage type are the following: // - // * General Purpose (SSD) storage (gp2): Must be an integer from 5 to 16384. + // * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384. // // * Provisioned IOPS storage (io1): Must be an integer from 100 to 16384. // @@ -11726,7 +11762,7 @@ type CreateDBInstanceInput struct { // // Constraints to the amount of storage for each storage type are the following: // - // * General Purpose (SSD) storage (gp2): Must be an integer from 5 to 16384. + // * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384. // // * Provisioned IOPS storage (io1): Must be an integer from 100 to 16384. // @@ -11736,7 +11772,7 @@ type CreateDBInstanceInput struct { // // Constraints to the amount of storage for each storage type are the following: // - // * General Purpose (SSD) storage (gp2): Must be an integer from 5 to 16384. + // * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384. // // * Provisioned IOPS storage (io1): Must be an integer from 100 to 16384. // @@ -11746,7 +11782,7 @@ type CreateDBInstanceInput struct { // // Constraints to the amount of storage for each storage type are the following: // - // * General Purpose (SSD) storage (gp2): Must be an integer from 10 to 16384. + // * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384. // // * Provisioned IOPS storage (io1): Must be an integer from 100 to 16384. // @@ -11958,6 +11994,10 @@ type CreateDBInstanceInput struct { // Directory Service. DomainIAMRoleName *string `type:"string"` + // The list of log types that need to be enabled for exporting to CloudWatch + // Logs. + EnableCloudwatchLogsExports []*string `type:"list"` + // True to enable mapping of AWS Identity and Access Management (IAM) accounts // to database accounts, and otherwise false. // @@ -12028,7 +12068,9 @@ type CreateDBInstanceInput struct { // // MariaDB // - // * 10.1.26 (supported in all AWS Regions) + // * 10.2.11 (supported in all AWS Regions) + // + // 10.1.26 (supported in all AWS Regions) // // * 10.1.23 (supported in all AWS Regions) // @@ -12036,7 +12078,7 @@ type CreateDBInstanceInput struct { // // * 10.1.14 (supported in all AWS Regions except us-east-2) // - // 10.0.32 (supported in all AWS Regions) + // * 10.0.32 (supported in all AWS Regions) // // * 10.0.31 (supported in all AWS Regions) // @@ -12049,11 +12091,11 @@ type CreateDBInstanceInput struct { // // Microsoft SQL Server 2017 // - // 14.00.1000.169.v1 (supported for all editions, and all AWS Regions) + // * 14.00.1000.169.v1 (supported for all editions, and all AWS Regions) // // Microsoft SQL Server 2016 // - // 13.00.4451.0.v1 (supported for all editions, and all AWS Regions) + // * 13.00.4451.0.v1 (supported for all editions, and all AWS Regions) // // * 13.00.4422.0.v1 (supported for all editions, and all AWS Regions) // @@ -12061,7 +12103,7 @@ type CreateDBInstanceInput struct { // // Microsoft SQL Server 2014 // - // 12.00.5546.0.v1 (supported for all editions, and all AWS Regions) + // * 12.00.5546.0.v1 (supported for all editions, and all AWS Regions) // // * 12.00.5000.0.v1 (supported for all editions, and all AWS Regions) // @@ -12070,7 +12112,7 @@ type CreateDBInstanceInput struct { // // Microsoft SQL Server 2012 // - // 11.00.6594.0.v1 (supported for all editions, and all AWS Regions) + // * 11.00.6594.0.v1 (supported for all editions, and all AWS Regions) // // * 11.00.6020.0.v1 (supported for all editions, and all AWS Regions) // @@ -12082,8 +12124,8 @@ type CreateDBInstanceInput struct { // // Microsoft SQL Server 2008 R2 // - // 10.50.6529.0.v1 (supported for all editions, and all AWS Regions except us-east-2, - // ca-central-1, and eu-west-2) + // * 10.50.6529.0.v1 (supported for all editions, and all AWS Regions except + // us-east-2, ca-central-1, and eu-west-2) // // * 10.50.6000.34.v1 (supported for all editions, and all AWS Regions except // us-east-2, ca-central-1, and eu-west-2) @@ -12093,86 +12135,21 @@ type CreateDBInstanceInput struct { // // MySQL // - // 5.7.19 (supported in all AWS regions) + // * 5.7.19 (supported in all AWS regions) // // * 5.7.17 (supported in all AWS regions) // // * 5.7.16 (supported in all AWS regions) // - // * 5.6.37 (supported in all AWS Regions) - // - // * 5.6.35 (supported in all AWS Regions) - // - // * 5.6.34 (supported in all AWS Regions) - // - // * 5.6.29 (supported in all AWS Regions) - // - // * 5.6.27 (supported in all AWS Regions except us-east-2, ca-central-1, - // eu-west-2) - // - // 5.5.57(supported in all AWS Regions) - // - // 5.5.54(supported in all AWS Regions) + // 5.6.37(supported in all AWS Regions) // - // 5.5.53(supported in all AWS Regions) + // 5.6.35(supported in all AWS Regions) // - // 5.5.46(supported in all AWS Regions) + // 5.6.34(supported in all AWS Regions) // - // Oracle 12c + // 5.6.29(supported in all AWS Regions) // - // 12.1.0.2.v9(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) - // - // 12.1.0.2.v8(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) - // - // 12.1.0.2.v7(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) - // - // 12.1.0.2.v6(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) - // - // 12.1.0.2.v5(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) - // - // 12.1.0.2.v4(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) - // - // 12.1.0.2.v3(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) - // - // 12.1.0.2.v2(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) - // - // 12.1.0.2.v1(supported for EE in all AWS regions, and SE2 in all AWS regions except us-gov-west-1) - // - // Oracle 11g - // - // 11.2.0.4.v13(supported for EE, SE1, and SE, in all AWS regions) - // - // 11.2.0.4.v12(supported for EE, SE1, and SE, in all AWS regions) - // - // 11.2.0.4.v11(supported for EE, SE1, and SE, in all AWS regions) - // - // 11.2.0.4.v10(supported for EE, SE1, and SE, in all AWS regions) - // - // 11.2.0.4.v9(supported for EE, SE1, and SE, in all AWS regions) - // - // 11.2.0.4.v8(supported for EE, SE1, and SE, in all AWS regions) - // - // 11.2.0.4.v7(supported for EE, SE1, and SE, in all AWS regions) - // - // 11.2.0.4.v6(supported for EE, SE1, and SE, in all AWS regions) - // - // 11.2.0.4.v5(supported for EE, SE1, and SE, in all AWS regions) - // - // 11.2.0.4.v4(supported for EE, SE1, and SE, in all AWS regions) - // - // 11.2.0.4.v3(supported for EE, SE1, and SE, in all AWS regions) - // - // 11.2.0.4.v1(supported for EE, SE1, and SE, in all AWS regions) - // - // PostgreSQL - // - // Version 9.6.x: 9.6.5 | 9.6.3 | 9.6.2 | 9.6.1 - // - // Version 9.5.x: 9.5.9 | 9.5.7 | 9.5.6 | 9.5.4 | 9.5.2 - // - // Version 9.4.x: 9.4.14 | 9.4.12 | 9.4.11 | 9.4.9 | 9.4.7 - // - // Version 9.3.x: 9.3.19 | 9.3.17 | 9.3.16 | 9.3.14 | 9.3.12 + // 5.6.27 EngineVersion *string `type:"string"` // The amount of Provisioned IOPS (input/output operations per second) to be @@ -12616,6 +12593,12 @@ func (s *CreateDBInstanceInput) SetDomainIAMRoleName(v string) *CreateDBInstance return s } +// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value. +func (s *CreateDBInstanceInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceInput { + s.EnableCloudwatchLogsExports = v + return s +} + // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value. func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceInput { s.EnableIAMDatabaseAuthentication = &v @@ -12865,6 +12848,9 @@ type CreateDBInstanceReadReplicaInput struct { // DestinationRegion is used for presigning the request to a given region. DestinationRegion *string `type:"string"` + // The list of logs that the new DB instance is to export to CloudWatch Logs. + EnableCloudwatchLogsExports []*string `type:"list"` + // True to enable mapping of AWS Identity and Access Management (IAM) accounts // to database accounts, and otherwise false. // @@ -12922,6 +12908,16 @@ type CreateDBInstanceReadReplicaInput struct { // a MonitoringRoleArn value. MonitoringRoleArn *string `type:"string"` + // Specifies whether the read replica is in a Multi-AZ deployment. + // + // You can create a Read Replica as a Multi-AZ DB instance. RDS creates a standby + // of your replica in another Availability Zone for failover support for the + // replica. Creating your Read Replica as a Multi-AZ DB instance is independent + // of whether the source database is a Multi-AZ DB instance. + // + // Currently PostgreSQL Read Replicas can only be created as single-AZ DB instances. + MultiAZ *bool `type:"boolean"` + // The option group the DB instance is associated with. If omitted, the default // option group for the engine specified is used. OptionGroupName *string `type:"string"` @@ -13113,6 +13109,12 @@ func (s *CreateDBInstanceReadReplicaInput) SetDestinationRegion(v string) *Creat return s } +// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value. +func (s *CreateDBInstanceReadReplicaInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceReadReplicaInput { + s.EnableCloudwatchLogsExports = v + return s +} + // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value. func (s *CreateDBInstanceReadReplicaInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceReadReplicaInput { s.EnableIAMDatabaseAuthentication = &v @@ -13149,6 +13151,12 @@ func (s *CreateDBInstanceReadReplicaInput) SetMonitoringRoleArn(v string) *Creat return s } +// SetMultiAZ sets the MultiAZ field's value. +func (s *CreateDBInstanceReadReplicaInput) SetMultiAZ(v bool) *CreateDBInstanceReadReplicaInput { + s.MultiAZ = &v + return s +} + // SetOptionGroupName sets the OptionGroupName field's value. func (s *CreateDBInstanceReadReplicaInput) SetOptionGroupName(v string) *CreateDBInstanceReadReplicaInput { s.OptionGroupName = &v @@ -14852,6 +14860,10 @@ type DBEngineVersion struct { // The version number of the database engine. EngineVersion *string `type:"string"` + // The types of logs that the database engine has available for export to CloudWatch + // Logs. + ExportableLogTypes []*string `type:"list"` + // A list of the character sets supported by this engine for the CharacterSetName // parameter of the CreateDBInstance action. SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"` @@ -14860,6 +14872,10 @@ type DBEngineVersion struct { // of the CreateDBInstance action. SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"` + // A value that indicates whether the engine version supports exporting the + // log types specified by ExportableLogTypes to CloudWatch Logs. + SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"` + // A list of engine versions that this database engine version can be upgraded // to. ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"` @@ -14911,6 +14927,12 @@ func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion { return s } +// SetExportableLogTypes sets the ExportableLogTypes field's value. +func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion { + s.ExportableLogTypes = v + return s +} + // SetSupportedCharacterSets sets the SupportedCharacterSets field's value. func (s *DBEngineVersion) SetSupportedCharacterSets(v []*CharacterSet) *DBEngineVersion { s.SupportedCharacterSets = v @@ -14923,6 +14945,12 @@ func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion return s } +// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value. +func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion { + s.SupportsLogExportsToCloudwatchLogs = &v + return s +} + // SetValidUpgradeTarget sets the ValidUpgradeTarget field's value. func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion { s.ValidUpgradeTarget = v @@ -15018,6 +15046,10 @@ type DBInstance struct { // The Active Directory Domain membership records associated with the DB instance. DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"` + // A list of log types that this DB instance is configured to export to CloudWatch + // Logs. + EnabledCloudwatchLogsExports []*string `type:"list"` + // Specifies the connection endpoint. Endpoint *Endpoint `type:"structure"` @@ -15286,6 +15318,12 @@ func (s *DBInstance) SetDomainMemberships(v []*DomainMembership) *DBInstance { return s } +// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value. +func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance { + s.EnabledCloudwatchLogsExports = v + return s +} + // SetEndpoint sets the Endpoint field's value. func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance { s.Endpoint = v @@ -22047,6 +22085,10 @@ type ModifyDBInstanceInput struct { // Indicates the certificate that needs to be associated with the instance. CACertificateIdentifier *string `type:"string"` + // The configuration setting for the log types to be enabled for export to CloudWatch + // Logs for a specific DB instance or DB cluster. + CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"` + // True to copy all tags from the DB instance to snapshots of the DB instance, // and otherwise false. The default is false. CopyTagsToSnapshot *bool `type:"boolean"` @@ -22296,8 +22338,6 @@ type ModifyDBInstanceInput struct { // Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter // does not result in an outage and the change is applied during the next maintenance // window unless the ApplyImmediately parameter is set to true for this request. - // - // Constraints: Cannot be specified if the DB instance is a Read Replica. MultiAZ *bool `type:"boolean"` // The new DB instance identifier for the DB instance when renaming a DB instance. @@ -22502,6 +22542,12 @@ func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBIn return s } +// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value. +func (s *ModifyDBInstanceInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBInstanceInput { + s.CloudwatchLogsExportConfiguration = v + return s +} + // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value. func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput { s.CopyTagsToSnapshot = &v @@ -24300,6 +24346,43 @@ func (s *Parameter) SetSource(v string) *Parameter { return s } +// A list of the log types whose configuration is still pending. In other words, +// these log types are in the process of being activated or deactivated. +// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PendingCloudwatchLogsExports +type PendingCloudwatchLogsExports struct { + _ struct{} `type:"structure"` + + // Log types that are in the process of being enabled. After they are enabled, + // these log types are exported to CloudWatch Logs. + LogTypesToDisable []*string `type:"list"` + + // Log types that are in the process of being deactivated. After they are deactivated, + // these log types aren't exported to CloudWatch Logs. + LogTypesToEnable []*string `type:"list"` +} + +// String returns the string representation +func (s PendingCloudwatchLogsExports) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PendingCloudwatchLogsExports) GoString() string { + return s.String() +} + +// SetLogTypesToDisable sets the LogTypesToDisable field's value. +func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports { + s.LogTypesToDisable = v + return s +} + +// SetLogTypesToEnable sets the LogTypesToEnable field's value. +func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports { + s.LogTypesToEnable = v + return s +} + // Provides information about a pending maintenance action for a resource. // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PendingMaintenanceAction type PendingMaintenanceAction struct { @@ -24425,6 +24508,10 @@ type PendingModifiedValues struct { // Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment. MultiAZ *bool `type:"boolean"` + // A list of the log types whose configuration is still pending. In other words, + // these log types are in the process of being activated or deactivated. + PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"` + // Specifies the pending port for the DB instance. Port *int64 `type:"integer"` @@ -24508,6 +24595,12 @@ func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues { return s } +// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value. +func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues { + s.PendingCloudwatchLogsExports = v + return s +} + // SetPort sets the Port field's value. func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues { s.Port = &v @@ -26608,6 +26701,10 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // Directory Service. DomainIAMRoleName *string `type:"string"` + // The list of logs that the restored DB instance is to export to CloudWatch + // Logs. + EnableCloudwatchLogsExports []*string `type:"list"` + // True to enable mapping of AWS Identity and Access Management (IAM) accounts // to database accounts, and otherwise false. // @@ -26626,8 +26723,8 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // // Default: The same as source // - // Constraint: Must be compatible with the engine of the source. You can restore - // a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot. + // Constraint: Must be compatible with the engine of the source. For example, + // you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot. // // Valid Values: // @@ -26823,6 +26920,12 @@ func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomainIAMRoleName(v string) *R return s } +// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value. +func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromDBSnapshotInput { + s.EnableCloudwatchLogsExports = v + return s +} + // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value. func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromDBSnapshotInput { s.EnableIAMDatabaseAuthentication = &v @@ -27008,6 +27111,10 @@ type RestoreDBInstanceFromS3Input struct { // A DB subnet group to associate with this DB instance. DBSubnetGroupName *string `type:"string"` + // The list of logs that the restored DB instance is to export to CloudWatch + // Logs. + EnableCloudwatchLogsExports []*string `type:"list"` + // True to enable mapping of AWS Identity and Access Management (IAM) accounts // to database accounts, and otherwise false. // @@ -27300,6 +27407,12 @@ func (s *RestoreDBInstanceFromS3Input) SetDBSubnetGroupName(v string) *RestoreDB return s } +// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value. +func (s *RestoreDBInstanceFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromS3Input { + s.EnableCloudwatchLogsExports = v + return s +} + // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value. func (s *RestoreDBInstanceFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromS3Input { s.EnableIAMDatabaseAuthentication = &v @@ -27538,6 +27651,10 @@ type RestoreDBInstanceToPointInTimeInput struct { // Directory Service. DomainIAMRoleName *string `type:"string"` + // The list of logs that the restored DB instance is to export to CloudWatch + // Logs. + EnableCloudwatchLogsExports []*string `type:"list"` + // True to enable mapping of AWS Identity and Access Management (IAM) accounts // to database accounts, and otherwise false. // @@ -27659,7 +27776,7 @@ type RestoreDBInstanceToPointInTimeInput struct { // // Constraints: // - // * Must match the identifier of an existing DBInstance. + // * Must match the identifier of an existing DB instance. // // SourceDBInstanceIdentifier is a required field SourceDBInstanceIdentifier *string `type:"string" required:"true"` @@ -27779,6 +27896,12 @@ func (s *RestoreDBInstanceToPointInTimeInput) SetDomainIAMRoleName(v string) *Re return s } +// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value. +func (s *RestoreDBInstanceToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceToPointInTimeInput { + s.EnableCloudwatchLogsExports = v + return s +} + // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value. func (s *RestoreDBInstanceToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceToPointInTimeInput { s.EnableIAMDatabaseAuthentication = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go index 38d637a82e5c..914760caa526 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go @@ -7784,11 +7784,8 @@ func (c *SSM) PutParameterRequest(input *PutParameterInput) (req *request.Reques // The parameter already exists. You can't create duplicate parameters. // // * ErrCodeHierarchyLevelLimitExceededException "HierarchyLevelLimitExceededException" -// A hierarchy can have a maximum of five levels. For example: -// -// /Finance/Prod/IAD/OS/WinServ2016/license15 -// -// For more information, see Working with Systems Manager Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html). +// A hierarchy can have a maximum of 15 levels. For more information, see Working +// with Systems Manager Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html). // // * ErrCodeHierarchyTypeMismatchException "HierarchyTypeMismatchException" // Parameter Store does not support changing a parameter type in a hierarchy. diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go index cc45bcb71ede..8c932a093c3c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go @@ -150,11 +150,8 @@ const ( // ErrCodeHierarchyLevelLimitExceededException for service response error code // "HierarchyLevelLimitExceededException". // - // A hierarchy can have a maximum of five levels. For example: - // - // /Finance/Prod/IAD/OS/WinServ2016/license15 - // - // For more information, see Working with Systems Manager Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html). + // A hierarchy can have a maximum of 15 levels. For more information, see Working + // with Systems Manager Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html). ErrCodeHierarchyLevelLimitExceededException = "HierarchyLevelLimitExceededException" // ErrCodeHierarchyTypeMismatchException for service response error code diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/CHANGELOG.md b/vendor/github.com/terraform-providers/terraform-provider-aws/CHANGELOG.md index c7ec2795a29c..be7047e20de1 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/CHANGELOG.md +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/CHANGELOG.md @@ -1,22 +1,37 @@ -## 1.8.0 (Unreleased) +## 1.8.0 (January 29, 2018) + +FEATURES: + +* **New Resource:** `aws_dynamodb_global_table` ([#2517](https://github.com/terraform-providers/terraform-provider-aws/issues/2517)) +* **New Resource:** `aws_gamelift_build` ([#2843](https://github.com/terraform-providers/terraform-provider-aws/issues/2843)) ENHANCEMENTS: -* datasource/aws_kms_alias: Add target_key_arn attribute [GH-2551] -* resource/aws_appautoscaling_target: Support updating max_capacity, min_capacity, and role_arn attributes [GH-2950] -* resource/aws_elasticsearch_domain: Add support for encrypt_at_rest [GH-2632] -* resource/aws_kms_alias: Add target_key_arn attribute [GH-3096] -* resource/aws_route: Allow adding IPv6 routes to instances and network interfaces [GH-2265] -* resource/aws_vpn_connection: Add inside CIDR and pre-shared key attributes [GH-1862] -* resource/aws_api_gateway_integration: Allow update of content_handling attributes [GH-3123] -* resource/cognito_user_pool: support pre_token_generation in lambda_config [GH-3093] +* provider: `cn-northwest-1` region is now supported ([#3142](https://github.com/terraform-providers/terraform-provider-aws/issues/3142)) +* data-source/aws_kms_alias: Add target_key_arn attribute ([#2551](https://github.com/terraform-providers/terraform-provider-aws/issues/2551)) +* resource/aws_api_gateway_integration: Allow update of content_handling attributes ([#3123](https://github.com/terraform-providers/terraform-provider-aws/issues/3123)) +* resource/aws_appautoscaling_target: Support updating max_capacity, min_capacity, and role_arn attributes ([#2950](https://github.com/terraform-providers/terraform-provider-aws/issues/2950)) +* resource/aws_cloudwatch_log_subscription_filter: Add support for distribution ([#3046](https://github.com/terraform-providers/terraform-provider-aws/issues/3046)) +* resource/aws_cognito_user_pool: support pre_token_generation in lambda_config ([#3093](https://github.com/terraform-providers/terraform-provider-aws/issues/3093)) +* resource/aws_elasticsearch_domain: Add support for encrypt_at_rest ([#2632](https://github.com/terraform-providers/terraform-provider-aws/issues/2632)) +* resource/aws_emr_cluster: Support CustomAmiId ([#2766](https://github.com/terraform-providers/terraform-provider-aws/issues/2766)) +* resource/aws_kms_alias: Add target_key_arn attribute ([#3096](https://github.com/terraform-providers/terraform-provider-aws/issues/3096)) +* resource/aws_route: Allow adding IPv6 routes to instances and network interfaces ([#2265](https://github.com/terraform-providers/terraform-provider-aws/issues/2265)) +* resource/aws_sqs_queue: Retry queue creation on QueueDeletedRecently error ([#3113](https://github.com/terraform-providers/terraform-provider-aws/issues/3113)) +* resource/aws_vpn_connection: Add inside CIDR and pre-shared key attributes ([#1862](https://github.com/terraform-providers/terraform-provider-aws/issues/1862)) BUG FIXES: -* resource/aws_ebs_snapshot: Fix `kms_key_id` attribute handling [GH-3085] -* resource/aws_eip_assocation: Retry association for pending instances [GH-3072] -* resource/aws_kinesis_firehose_delivery_stream: Prevent panic on missing S3 configuration prefix [GH-3073] -* resource/aws_sqs_queue_policy: Prevent missing policy error on read [GH-2739] +* resource/aws_appautoscaling_policy: Support additional predefined metric types in validation [[#3122](https://github.com/terraform-providers/terraform-provider-aws/issues/3122)]] +* resource/aws_dynamodb_table: Recognize changes in `non_key_attributes` ([#3136](https://github.com/terraform-providers/terraform-provider-aws/issues/3136)) +* resource/aws_ebs_snapshot: Fix `kms_key_id` attribute handling ([#3085](https://github.com/terraform-providers/terraform-provider-aws/issues/3085)) +* resource/aws_eip_assocation: Retry association for pending instances ([#3072](https://github.com/terraform-providers/terraform-provider-aws/issues/3072)) +* resource/aws_elastic_beanstalk_application: Prevent crash on reading missing application ([#3171](https://github.com/terraform-providers/terraform-provider-aws/issues/3171)) +* resource/aws_kinesis_firehose_delivery_stream: Prevent panic on missing S3 configuration prefix ([#3073](https://github.com/terraform-providers/terraform-provider-aws/issues/3073)) +* resource/aws_lambda_function: Retry updates for IAM eventual consistency ([#3116](https://github.com/terraform-providers/terraform-provider-aws/issues/3116)) +* resource/aws_route53_record: Suppress uppercase alias name diff ([#3119](https://github.com/terraform-providers/terraform-provider-aws/issues/3119)) +* resource/aws_sqs_queue_policy: Prevent missing policy error on read ([#2739](https://github.com/terraform-providers/terraform-provider-aws/issues/2739)) +* resource/aws_rds_cluster: Retry deletion on InvalidDBClusterStateFault ([#3028](https://github.com/terraform-providers/terraform-provider-aws/issues/3028)) ## 1.7.1 (January 19, 2018) diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/config.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/config.go index c9a1081e2e71..99a2e7347e37 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/config.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/config.go @@ -50,6 +50,7 @@ import ( "github.com/aws/aws-sdk-go/service/elbv2" "github.com/aws/aws-sdk-go/service/emr" "github.com/aws/aws-sdk-go/service/firehose" + "github.com/aws/aws-sdk-go/service/gamelift" "github.com/aws/aws-sdk-go/service/glacier" "github.com/aws/aws-sdk-go/service/glue" "github.com/aws/aws-sdk-go/service/guardduty" @@ -177,6 +178,7 @@ type AWSClient struct { iamconn *iam.IAM kinesisconn *kinesis.Kinesis kmsconn *kms.KMS + gameliftconn *gamelift.GameLift firehoseconn *firehose.Firehose inspectorconn *inspector.Inspector elasticacheconn *elasticache.ElastiCache @@ -224,6 +226,9 @@ func (c *AWSClient) IsChinaCloud() bool { if c.region == "cn-north-1" { return true } + if c.region == "cn-northwest-1" { + return true + } return false } @@ -423,6 +428,7 @@ func (c *Config) Client() (interface{}, error) { client.esconn = elasticsearch.New(sess) client.firehoseconn = firehose.New(sess) client.inspectorconn = inspector.New(sess) + client.gameliftconn = gamelift.New(sess) client.glacierconn = glacier.New(sess) client.guarddutyconn = guardduty.New(sess) client.iotconn = iot.New(sess) @@ -503,6 +509,7 @@ func (c *Config) ValidateRegion() error { "ap-southeast-2", "ca-central-1", "cn-north-1", + "cn-northwest-1", "eu-central-1", "eu-west-1", "eu-west-2", diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_cloudtrail_service_account.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_cloudtrail_service_account.go index 88818fcdc2d1..b7129bbfa97f 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_cloudtrail_service_account.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_cloudtrail_service_account.go @@ -23,6 +23,7 @@ var cloudTrailServiceAccountPerRegionMap = map[string]string{ "eu-west-2": "282025262664", "eu-west-3": "262312530599", "sa-east-1": "814480443879", + "cn-northwest-1": "681348832753", } func dataSourceAwsCloudTrailServiceAccount() *schema.Resource { diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_dynamodb_table.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_dynamodb_table.go index 844bddfb982d..1845b7c361f3 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_dynamodb_table.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_dynamodb_table.go @@ -3,12 +3,10 @@ package aws import ( "bytes" "fmt" - "log" "strings" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/dynamodb" - "github.com/hashicorp/errwrap" "github.com/hashicorp/terraform/helper/hashcode" "github.com/hashicorp/terraform/helper/schema" ) @@ -174,21 +172,41 @@ func dataSourceAwsDynamoDbTable() *schema.Resource { } func dataSourceAwsDynamoDbTableRead(d *schema.ResourceData, meta interface{}) error { - dynamodbconn := meta.(*AWSClient).dynamodbconn + conn := meta.(*AWSClient).dynamodbconn - name := d.Get("name").(string) - req := &dynamodb.DescribeTableInput{ - TableName: aws.String(name), + result, err := conn.DescribeTable(&dynamodb.DescribeTableInput{ + TableName: aws.String(d.Get("name").(string)), + }) + + if err != nil { + return fmt.Errorf("Error retrieving DynamoDB table: %s", err) } - log.Printf("[DEBUG] Reading DynamoDB Table: %s", req) - result, err := dynamodbconn.DescribeTable(req) + d.SetId(*result.Table.TableName) + err = flattenAwsDynamoDbTableResource(d, result.Table) if err != nil { - return errwrap.Wrapf("Error retrieving DynamoDB table: {{err}}", err) + return err } - d.SetId(*result.Table.TableName) + ttlOut, err := conn.DescribeTimeToLive(&dynamodb.DescribeTimeToLiveInput{ + TableName: aws.String(d.Id()), + }) + if err != nil { + return err + } + if ttlOut.TimeToLiveDescription != nil { + err := d.Set("ttl", flattenDynamoDbTtl(ttlOut.TimeToLiveDescription)) + if err != nil { + return err + } + } + + tags, err := readDynamoDbTableTags(d.Get("arn").(string), conn) + if err != nil { + return err + } + d.Set("tags", tags) - return flattenAwsDynamoDbTableResource(d, meta, result.Table) + return nil } diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_elb_service_account.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_elb_service_account.go index 6034ee55c57e..5d2da6747274 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_elb_service_account.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_elb_service_account.go @@ -15,6 +15,7 @@ var elbAccountIdPerRegionMap = map[string]string{ "ap-southeast-2": "783225319266", "ca-central-1": "985666609251", "cn-north-1": "638102146993", + "cn-northwest-1": "037604701340", "eu-central-1": "054676820928", "eu-west-1": "156460612806", "eu-west-2": "652711504416", diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_redshift_service_account.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_redshift_service_account.go index 029f8fe029c6..d5db68d55023 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_redshift_service_account.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/data_source_aws_redshift_service_account.go @@ -18,6 +18,7 @@ var redshiftServiceAccountPerRegionMap = map[string]string{ "ap-southeast-2": "762762565011", "ap-northeast-1": "404641285394", "ca-central-1": "907379612154", + "cn-northwest-1": "660998842044", "eu-central-1": "053454850223", "eu-west-1": "210876761215", "eu-west-2": "307160386991", diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/provider.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/provider.go index 81a1dc110aae..9a3706022ef3 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/provider.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/provider.go @@ -325,6 +325,7 @@ func Provider() terraform.ResourceProvider { "aws_dx_connection": resourceAwsDxConnection(), "aws_dx_connection_association": resourceAwsDxConnectionAssociation(), "aws_dynamodb_table": resourceAwsDynamoDbTable(), + "aws_dynamodb_global_table": resourceAwsDynamoDbGlobalTable(), "aws_ebs_snapshot": resourceAwsEbsSnapshot(), "aws_ebs_volume": resourceAwsEbsVolume(), "aws_ecr_lifecycle_policy": resourceAwsEcrLifecyclePolicy(), @@ -357,6 +358,7 @@ func Provider() terraform.ResourceProvider { "aws_emr_instance_group": resourceAwsEMRInstanceGroup(), "aws_emr_security_configuration": resourceAwsEMRSecurityConfiguration(), "aws_flow_log": resourceAwsFlowLog(), + "aws_gamelift_build": resourceAwsGameliftBuild(), "aws_glacier_vault": resourceAwsGlacierVault(), "aws_glue_catalog_database": resourceAwsGlueCatalogDatabase(), "aws_guardduty_detector": resourceAwsGuardDutyDetector(), diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_cloudwatch_log_subscription_filter.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_cloudwatch_log_subscription_filter.go index bbdb22085921..1598b748f54d 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_cloudwatch_log_subscription_filter.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_cloudwatch_log_subscription_filter.go @@ -48,6 +48,10 @@ func resourceAwsCloudwatchLogSubscriptionFilter() *schema.Resource { Optional: true, Computed: true, }, + "distribution": { + Type: schema.TypeString, + Optional: true, + }, }, } } @@ -121,6 +125,10 @@ func getAwsCloudWatchLogsSubscriptionFilterInput(d *schema.ResourceData) cloudwa params.RoleArn = aws.String(d.Get("role_arn").(string)) } + if _, ok := d.GetOk("distribution"); ok { + params.Distribution = aws.String(d.Get("distribution").(string)) + } + return params } diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_dynamodb_global_table.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_dynamodb_global_table.go new file mode 100644 index 000000000000..b8dfd03c0ed7 --- /dev/null +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_dynamodb_global_table.go @@ -0,0 +1,321 @@ +package aws + +import ( + "fmt" + "log" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/dynamodb" + "github.com/hashicorp/terraform/helper/resource" + "github.com/hashicorp/terraform/helper/schema" +) + +func resourceAwsDynamoDbGlobalTable() *schema.Resource { + return &schema.Resource{ + Create: resourceAwsDynamoDbGlobalTableCreate, + Read: resourceAwsDynamoDbGlobalTableRead, + Update: resourceAwsDynamoDbGlobalTableUpdate, + Delete: resourceAwsDynamoDbGlobalTableDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + + Timeouts: &schema.ResourceTimeout{ + Create: schema.DefaultTimeout(1 * time.Minute), + Update: schema.DefaultTimeout(1 * time.Minute), + Delete: schema.DefaultTimeout(1 * time.Minute), + }, + + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + ValidateFunc: validateAwsDynamoDbGlobalTableName, + }, + + "replica": { + Type: schema.TypeSet, + Required: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "region_name": { + Type: schema.TypeString, + Required: true, + }, + }, + }, + }, + + "arn": { + Type: schema.TypeString, + Computed: true, + }, + }, + } +} + +func resourceAwsDynamoDbGlobalTableCreate(d *schema.ResourceData, meta interface{}) error { + dynamodbconn := meta.(*AWSClient).dynamodbconn + + globalTableName := d.Get("name").(string) + + input := &dynamodb.CreateGlobalTableInput{ + GlobalTableName: aws.String(globalTableName), + ReplicationGroup: expandAwsDynamoDbReplicas(d.Get("replica").(*schema.Set).List()), + } + + log.Printf("[DEBUG] Creating DynamoDB Global Table: %#v", input) + _, err := dynamodbconn.CreateGlobalTable(input) + if err != nil { + return err + } + + d.SetId(globalTableName) + + log.Println("[INFO] Waiting for DynamoDB Global Table to be created") + stateConf := &resource.StateChangeConf{ + Pending: []string{ + dynamodb.GlobalTableStatusCreating, + dynamodb.GlobalTableStatusDeleting, + dynamodb.GlobalTableStatusUpdating, + }, + Target: []string{ + dynamodb.GlobalTableStatusActive, + }, + Refresh: resourceAwsDynamoDbGlobalTableStateRefreshFunc(d, meta), + Timeout: d.Timeout(schema.TimeoutCreate), + MinTimeout: 10 * time.Second, + } + _, err = stateConf.WaitForState() + if err != nil { + return err + } + + return resourceAwsDynamoDbGlobalTableRead(d, meta) +} + +func resourceAwsDynamoDbGlobalTableRead(d *schema.ResourceData, meta interface{}) error { + globalTableDescription, err := resourceAwsDynamoDbGlobalTableRetrieve(d, meta) + + if err != nil { + return err + } + if globalTableDescription == nil { + log.Printf("[WARN] DynamoDB Global Table %q not found, removing from state", d.Id()) + d.SetId("") + return nil + } + + return flattenAwsDynamoDbGlobalTable(d, globalTableDescription) +} + +func resourceAwsDynamoDbGlobalTableUpdate(d *schema.ResourceData, meta interface{}) error { + dynamodbconn := meta.(*AWSClient).dynamodbconn + + if d.HasChange("replica") { + o, n := d.GetChange("replica") + if o == nil { + o = new(schema.Set) + } + if n == nil { + n = new(schema.Set) + } + + os := o.(*schema.Set) + ns := n.(*schema.Set) + replicaUpdateCreateReplicas := expandAwsDynamoDbReplicaUpdateCreateReplicas(ns.Difference(os).List()) + replicaUpdateDeleteReplicas := expandAwsDynamoDbReplicaUpdateDeleteReplicas(os.Difference(ns).List()) + + replicaUpdates := make([]*dynamodb.ReplicaUpdate, 0, (len(replicaUpdateCreateReplicas) + len(replicaUpdateDeleteReplicas))) + for _, replicaUpdate := range replicaUpdateCreateReplicas { + replicaUpdates = append(replicaUpdates, replicaUpdate) + } + for _, replicaUpdate := range replicaUpdateDeleteReplicas { + replicaUpdates = append(replicaUpdates, replicaUpdate) + } + + input := &dynamodb.UpdateGlobalTableInput{ + GlobalTableName: aws.String(d.Id()), + ReplicaUpdates: replicaUpdates, + } + log.Printf("[DEBUG] Updating DynamoDB Global Table: %#v", input) + if _, err := dynamodbconn.UpdateGlobalTable(input); err != nil { + return err + } + + log.Println("[INFO] Waiting for DynamoDB Global Table to be updated") + stateConf := &resource.StateChangeConf{ + Pending: []string{ + dynamodb.GlobalTableStatusCreating, + dynamodb.GlobalTableStatusDeleting, + dynamodb.GlobalTableStatusUpdating, + }, + Target: []string{ + dynamodb.GlobalTableStatusActive, + }, + Refresh: resourceAwsDynamoDbGlobalTableStateRefreshFunc(d, meta), + Timeout: d.Timeout(schema.TimeoutUpdate), + MinTimeout: 10 * time.Second, + } + _, err := stateConf.WaitForState() + if err != nil { + return err + } + } + + return nil +} + +// Deleting a DynamoDB Global Table is represented by removing all replicas. +func resourceAwsDynamoDbGlobalTableDelete(d *schema.ResourceData, meta interface{}) error { + dynamodbconn := meta.(*AWSClient).dynamodbconn + + input := &dynamodb.UpdateGlobalTableInput{ + GlobalTableName: aws.String(d.Id()), + ReplicaUpdates: expandAwsDynamoDbReplicaUpdateDeleteReplicas(d.Get("replica").(*schema.Set).List()), + } + log.Printf("[DEBUG] Deleting DynamoDB Global Table: %#v", input) + if _, err := dynamodbconn.UpdateGlobalTable(input); err != nil { + return err + } + + log.Println("[INFO] Waiting for DynamoDB Global Table to be destroyed") + stateConf := &resource.StateChangeConf{ + Pending: []string{ + dynamodb.GlobalTableStatusActive, + dynamodb.GlobalTableStatusCreating, + dynamodb.GlobalTableStatusDeleting, + dynamodb.GlobalTableStatusUpdating, + }, + Target: []string{}, + Refresh: resourceAwsDynamoDbGlobalTableStateRefreshFunc(d, meta), + Timeout: d.Timeout(schema.TimeoutDelete), + MinTimeout: 10 * time.Second, + } + _, err := stateConf.WaitForState() + return err +} + +func resourceAwsDynamoDbGlobalTableRetrieve(d *schema.ResourceData, meta interface{}) (*dynamodb.GlobalTableDescription, error) { + dynamodbconn := meta.(*AWSClient).dynamodbconn + + input := &dynamodb.DescribeGlobalTableInput{ + GlobalTableName: aws.String(d.Id()), + } + + log.Printf("[DEBUG] Retrieving DynamoDB Global Table: %#v", input) + + output, err := dynamodbconn.DescribeGlobalTable(input) + if err != nil { + if isAWSErr(err, dynamodb.ErrCodeGlobalTableNotFoundException, "") { + return nil, nil + } + return nil, fmt.Errorf("Error retrieving DynamoDB Global Table: %s", err) + } + + return output.GlobalTableDescription, nil +} + +func resourceAwsDynamoDbGlobalTableStateRefreshFunc( + d *schema.ResourceData, meta interface{}) resource.StateRefreshFunc { + return func() (interface{}, string, error) { + gtd, err := resourceAwsDynamoDbGlobalTableRetrieve(d, meta) + + if err != nil { + log.Printf("Error on retrieving DynamoDB Global Table when waiting: %s", err) + return nil, "", err + } + + if gtd == nil { + return nil, "", nil + } + + if gtd.GlobalTableStatus != nil { + log.Printf("[DEBUG] Status for DynamoDB Global Table %s: %s", d.Id(), *gtd.GlobalTableStatus) + } + + return gtd, *gtd.GlobalTableStatus, nil + } +} + +func flattenAwsDynamoDbGlobalTable(d *schema.ResourceData, globalTableDescription *dynamodb.GlobalTableDescription) error { + var err error + + d.Set("arn", globalTableDescription.GlobalTableArn) + d.Set("name", globalTableDescription.GlobalTableName) + + err = d.Set("replica", flattenAwsDynamoDbReplicas(globalTableDescription.ReplicationGroup)) + if err != nil { + return err + } + + return nil +} + +func expandAwsDynamoDbReplicaUpdateCreateReplicas(configuredReplicas []interface{}) []*dynamodb.ReplicaUpdate { + replicaUpdates := make([]*dynamodb.ReplicaUpdate, 0, len(configuredReplicas)) + for _, replicaRaw := range configuredReplicas { + replica := replicaRaw.(map[string]interface{}) + replicaUpdates = append(replicaUpdates, expandAwsDynamoDbReplicaUpdateCreateReplica(replica)) + } + return replicaUpdates +} + +func expandAwsDynamoDbReplicaUpdateCreateReplica(configuredReplica map[string]interface{}) *dynamodb.ReplicaUpdate { + replicaUpdate := &dynamodb.ReplicaUpdate{ + Create: &dynamodb.CreateReplicaAction{ + RegionName: aws.String(configuredReplica["region_name"].(string)), + }, + } + return replicaUpdate +} + +func expandAwsDynamoDbReplicaUpdateDeleteReplicas(configuredReplicas []interface{}) []*dynamodb.ReplicaUpdate { + replicaUpdates := make([]*dynamodb.ReplicaUpdate, 0, len(configuredReplicas)) + for _, replicaRaw := range configuredReplicas { + replica := replicaRaw.(map[string]interface{}) + replicaUpdates = append(replicaUpdates, expandAwsDynamoDbReplicaUpdateDeleteReplica(replica)) + } + return replicaUpdates +} + +func expandAwsDynamoDbReplicaUpdateDeleteReplica(configuredReplica map[string]interface{}) *dynamodb.ReplicaUpdate { + replicaUpdate := &dynamodb.ReplicaUpdate{ + Delete: &dynamodb.DeleteReplicaAction{ + RegionName: aws.String(configuredReplica["region_name"].(string)), + }, + } + return replicaUpdate +} + +func expandAwsDynamoDbReplicas(configuredReplicas []interface{}) []*dynamodb.Replica { + replicas := make([]*dynamodb.Replica, 0, len(configuredReplicas)) + for _, replicaRaw := range configuredReplicas { + replica := replicaRaw.(map[string]interface{}) + replicas = append(replicas, expandAwsDynamoDbReplica(replica)) + } + return replicas +} + +func expandAwsDynamoDbReplica(configuredReplica map[string]interface{}) *dynamodb.Replica { + replica := &dynamodb.Replica{ + RegionName: aws.String(configuredReplica["region_name"].(string)), + } + return replica +} + +func flattenAwsDynamoDbReplicas(replicaDescriptions []*dynamodb.ReplicaDescription) []interface{} { + replicas := []interface{}{} + for _, replicaDescription := range replicaDescriptions { + replicas = append(replicas, flattenAwsDynamoDbReplica(replicaDescription)) + } + return replicas +} + +func flattenAwsDynamoDbReplica(replicaDescription *dynamodb.ReplicaDescription) map[string]interface{} { + replica := make(map[string]interface{}) + replica["region_name"] = *replicaDescription.RegionName + return replica +} diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_dynamodb_table.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_dynamodb_table.go index a3d71fd8b5cb..a138929a9cea 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_dynamodb_table.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_dynamodb_table.go @@ -7,28 +7,13 @@ import ( "strings" "time" - "github.com/hashicorp/errwrap" - "github.com/hashicorp/terraform/helper/resource" - "github.com/hashicorp/terraform/helper/schema" - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/service/dynamodb" "github.com/hashicorp/terraform/helper/hashcode" + "github.com/hashicorp/terraform/helper/resource" + "github.com/hashicorp/terraform/helper/schema" ) -// Number of times to retry if a throttling-related exception occurs -const DYNAMODB_MAX_THROTTLE_RETRIES = 5 - -// How long to sleep when a throttle-event happens -const DYNAMODB_THROTTLE_SLEEP = 5 * time.Second - -// How long to sleep if a limit-exceeded event happens -const DYNAMODB_LIMIT_EXCEEDED_SLEEP = 10 * time.Second - -// A number of these are marked as computed because if you don't -// provide a value, DynamoDB will provide you with defaults (which are the -// default values specified below) func resourceAwsDynamoDbTable() *schema.Resource { return &schema.Resource{ Create: resourceAwsDynamoDbTableCreate, @@ -39,6 +24,11 @@ func resourceAwsDynamoDbTable() *schema.Resource { State: schema.ImportStatePassthrough, }, + Timeouts: &schema.ResourceTimeout{ + Delete: schema.DefaultTimeout(10 * time.Minute), + Update: schema.DefaultTimeout(10 * time.Minute), + }, + SchemaVersion: 1, MigrateState: resourceAwsDynamoDbTableMigrateState, @@ -207,498 +197,201 @@ func resourceAwsDynamoDbTable() *schema.Resource { } func resourceAwsDynamoDbTableCreate(d *schema.ResourceData, meta interface{}) error { - dynamodbconn := meta.(*AWSClient).dynamodbconn - - name := d.Get("name").(string) + conn := meta.(*AWSClient).dynamodbconn - log.Printf("[DEBUG] DynamoDB table create: %s", name) - - throughput := &dynamodb.ProvisionedThroughput{ - ReadCapacityUnits: aws.Int64(int64(d.Get("read_capacity").(int))), - WriteCapacityUnits: aws.Int64(int64(d.Get("write_capacity").(int))), + keySchemaMap := map[string]interface{}{ + "hash_key": d.Get("hash_key").(string), } - - hash_key_name := d.Get("hash_key").(string) - keyschema := []*dynamodb.KeySchemaElement{ - { - AttributeName: aws.String(hash_key_name), - KeyType: aws.String("HASH"), - }, + if v, ok := d.GetOk("range_key"); ok { + keySchemaMap["range_key"] = v.(string) } - if range_key, ok := d.GetOk("range_key"); ok { - range_schema_element := &dynamodb.KeySchemaElement{ - AttributeName: aws.String(range_key.(string)), - KeyType: aws.String("RANGE"), - } - keyschema = append(keyschema, range_schema_element) - } + log.Printf("[DEBUG] Creating DynamoDB table with key schema: %#v", keySchemaMap) req := &dynamodb.CreateTableInput{ - TableName: aws.String(name), - ProvisionedThroughput: throughput, - KeySchema: keyschema, + TableName: aws.String(d.Get("name").(string)), + ProvisionedThroughput: expandDynamoDbProvisionedThroughput(map[string]interface{}{ + "read_capacity": d.Get("read_capacity"), + "write_capacity": d.Get("write_capacity"), + }), + KeySchema: expandDynamoDbKeySchema(keySchemaMap), } - if attributedata, ok := d.GetOk("attribute"); ok { - attributes := []*dynamodb.AttributeDefinition{} - attributeSet := attributedata.(*schema.Set) - for _, attribute := range attributeSet.List() { - attr := attribute.(map[string]interface{}) - attributes = append(attributes, &dynamodb.AttributeDefinition{ - AttributeName: aws.String(attr["name"].(string)), - AttributeType: aws.String(attr["type"].(string)), - }) - } - - req.AttributeDefinitions = attributes + if v, ok := d.GetOk("attribute"); ok { + aSet := v.(*schema.Set) + req.AttributeDefinitions = expandDynamoDbAttributes(aSet.List()) } - if lsidata, ok := d.GetOk("local_secondary_index"); ok { - log.Printf("[DEBUG] Adding LSI data to the table") - - lsiSet := lsidata.(*schema.Set) - localSecondaryIndexes := []*dynamodb.LocalSecondaryIndex{} - for _, lsiObject := range lsiSet.List() { - lsi := lsiObject.(map[string]interface{}) - - projection := &dynamodb.Projection{ - ProjectionType: aws.String(lsi["projection_type"].(string)), - } - - if lsi["projection_type"] == "INCLUDE" { - non_key_attributes := []*string{} - for _, attr := range lsi["non_key_attributes"].([]interface{}) { - non_key_attributes = append(non_key_attributes, aws.String(attr.(string))) - } - projection.NonKeyAttributes = non_key_attributes - } - - localSecondaryIndexes = append(localSecondaryIndexes, &dynamodb.LocalSecondaryIndex{ - IndexName: aws.String(lsi["name"].(string)), - KeySchema: []*dynamodb.KeySchemaElement{ - { - AttributeName: aws.String(hash_key_name), - KeyType: aws.String("HASH"), - }, - { - AttributeName: aws.String(lsi["range_key"].(string)), - KeyType: aws.String("RANGE"), - }, - }, - Projection: projection, - }) - } - - req.LocalSecondaryIndexes = localSecondaryIndexes - - log.Printf("[DEBUG] Added %d LSI definitions", len(localSecondaryIndexes)) + if v, ok := d.GetOk("local_secondary_index"); ok { + lsiSet := v.(*schema.Set) + req.LocalSecondaryIndexes = expandDynamoDbLocalSecondaryIndexes(lsiSet.List(), keySchemaMap) } - if gsidata, ok := d.GetOk("global_secondary_index"); ok { + if v, ok := d.GetOk("global_secondary_index"); ok { globalSecondaryIndexes := []*dynamodb.GlobalSecondaryIndex{} - - gsiSet := gsidata.(*schema.Set) + gsiSet := v.(*schema.Set) for _, gsiObject := range gsiSet.List() { gsi := gsiObject.(map[string]interface{}) - gsiObject := createGSIFromData(&gsi) - globalSecondaryIndexes = append(globalSecondaryIndexes, &gsiObject) + gsiObject := expandDynamoDbGlobalSecondaryIndex(gsi) + globalSecondaryIndexes = append(globalSecondaryIndexes, gsiObject) } req.GlobalSecondaryIndexes = globalSecondaryIndexes } - if _, ok := d.GetOk("stream_enabled"); ok { - + if v, ok := d.GetOk("stream_enabled"); ok { req.StreamSpecification = &dynamodb.StreamSpecification{ - StreamEnabled: aws.Bool(d.Get("stream_enabled").(bool)), + StreamEnabled: aws.Bool(v.(bool)), StreamViewType: aws.String(d.Get("stream_view_type").(string)), } - - log.Printf("[DEBUG] Adding StreamSpecifications to the table") } - _, timeToLiveOk := d.GetOk("ttl") - _, tagsOk := d.GetOk("tags") - - attemptCount := 1 - for attemptCount <= DYNAMODB_MAX_THROTTLE_RETRIES { - output, err := dynamodbconn.CreateTable(req) + var output *dynamodb.CreateTableOutput + err := resource.Retry(2*time.Minute, func() *resource.RetryError { + var err error + output, err = conn.CreateTable(req) if err != nil { - if awsErr, ok := err.(awserr.Error); ok { - switch code := awsErr.Code(); code { - case "ThrottlingException": - log.Printf("[DEBUG] Attempt %d/%d: Sleeping for a bit to throttle back create request", attemptCount, DYNAMODB_MAX_THROTTLE_RETRIES) - time.Sleep(DYNAMODB_THROTTLE_SLEEP) - attemptCount += 1 - case "LimitExceededException": - // If we're at resource capacity, error out without retry. e.g. - // Subscriber limit exceeded: There is a limit of 256 tables per subscriber - // Do not error out on this similar throttling message: - // Subscriber limit exceeded: Only 10 tables can be created, updated, or deleted simultaneously - if strings.Contains(awsErr.Message(), "Subscriber limit exceeded:") && !strings.Contains(awsErr.Message(), "can be created, updated, or deleted simultaneously") { - return fmt.Errorf("AWS Error creating DynamoDB table: %s", err) - } - log.Printf("[DEBUG] Limit on concurrent table creations hit, sleeping for a bit") - time.Sleep(DYNAMODB_LIMIT_EXCEEDED_SLEEP) - attemptCount += 1 - default: - // Some other non-retryable exception occurred - return fmt.Errorf("AWS Error creating DynamoDB table: %s", err) - } - } else { - // Non-AWS exception occurred, give up - return fmt.Errorf("Error creating DynamoDB table: %s", err) + if isAWSErr(err, "ThrottlingException", "") { + return resource.RetryableError(err) } - } else { - // No error, set ID and return - d.SetId(*output.TableDescription.TableName) - tableArn := *output.TableDescription.TableArn - if err := d.Set("arn", tableArn); err != nil { - return err + if isAWSErr(err, dynamodb.ErrCodeLimitExceededException, "can be created, updated, or deleted simultaneously") { + return resource.RetryableError(err) } - - // Wait, till table is active before imitating any TimeToLive changes - if err := waitForTableToBeActive(d.Id(), meta); err != nil { - log.Printf("[DEBUG] Error waiting for table to be active: %s", err) - return err + if isAWSErr(err, dynamodb.ErrCodeLimitExceededException, "indexed tables that can be created simultaneously") { + return resource.RetryableError(err) } - log.Printf("[DEBUG] Setting DynamoDB TimeToLive on arn: %s", tableArn) - if timeToLiveOk { - if err := updateTimeToLive(d, meta); err != nil { - log.Printf("[DEBUG] Error updating table TimeToLive: %s", err) - return err - } - } + return resource.NonRetryableError(err) + } + return nil + }) + if err != nil { + return err + } - if tagsOk { - log.Printf("[DEBUG] Setting DynamoDB Tags on arn: %s", tableArn) - if err := createTableTags(d, meta); err != nil { - return err - } - } + d.SetId(*output.TableDescription.TableName) + d.Set("arn", output.TableDescription.TableArn) - return resourceAwsDynamoDbTableRead(d, meta) - } + if err := waitForDynamoDbTableToBeActive(d.Id(), 10*time.Minute, conn); err != nil { + return err } - // Too many throttling events occurred, give up - return fmt.Errorf("Unable to create DynamoDB table '%s' after %d attempts", name, attemptCount) + return resourceAwsDynamoDbTableUpdate(d, meta) } func resourceAwsDynamoDbTableUpdate(d *schema.ResourceData, meta interface{}) error { + conn := meta.(*AWSClient).dynamodbconn - log.Printf("[DEBUG] Updating DynamoDB table %s", d.Id()) - dynamodbconn := meta.(*AWSClient).dynamodbconn - - // Ensure table is active before trying to update - if err := waitForTableToBeActive(d.Id(), meta); err != nil { - return errwrap.Wrapf("Error waiting for Dynamo DB Table update: {{err}}", err) - } - - if d.HasChange("read_capacity") || d.HasChange("write_capacity") { - req := &dynamodb.UpdateTableInput{ + // Cannot create or delete index while updating table IOPS + // so we update IOPS separately + if (d.HasChange("read_capacity") || d.HasChange("write_capacity")) && !d.IsNewResource() { + _, err := conn.UpdateTable(&dynamodb.UpdateTableInput{ TableName: aws.String(d.Id()), - } - - throughput := &dynamodb.ProvisionedThroughput{ - ReadCapacityUnits: aws.Int64(int64(d.Get("read_capacity").(int))), - WriteCapacityUnits: aws.Int64(int64(d.Get("write_capacity").(int))), - } - req.ProvisionedThroughput = throughput - - _, err := dynamodbconn.UpdateTable(req) - + ProvisionedThroughput: expandDynamoDbProvisionedThroughput(map[string]interface{}{ + "read_capacity": d.Get("read_capacity"), + "write_capacity": d.Get("write_capacity"), + }), + }) if err != nil { return err } - - if err := waitForTableToBeActive(d.Id(), meta); err != nil { - return errwrap.Wrapf("Error waiting for Dynamo DB Table update: {{err}}", err) + if err := waitForDynamoDbTableToBeActive(d.Id(), d.Timeout(schema.TimeoutUpdate), conn); err != nil { + return fmt.Errorf("Error waiting for DynamoDB Table update: %s", err) } } - if d.HasChange("stream_enabled") || d.HasChange("stream_view_type") { - req := &dynamodb.UpdateTableInput{ + if (d.HasChange("stream_enabled") || d.HasChange("stream_view_type")) && !d.IsNewResource() { + input := &dynamodb.UpdateTableInput{ TableName: aws.String(d.Id()), + StreamSpecification: &dynamodb.StreamSpecification{ + StreamEnabled: aws.Bool(d.Get("stream_enabled").(bool)), + StreamViewType: aws.String(d.Get("stream_view_type").(string)), + }, } - - req.StreamSpecification = &dynamodb.StreamSpecification{ - StreamEnabled: aws.Bool(d.Get("stream_enabled").(bool)), - StreamViewType: aws.String(d.Get("stream_view_type").(string)), - } - - _, err := dynamodbconn.UpdateTable(req) - + _, err := conn.UpdateTable(input) if err != nil { return err } - if err := waitForTableToBeActive(d.Id(), meta); err != nil { - return errwrap.Wrapf("Error waiting for Dynamo DB Table update: {{err}}", err) + if err := waitForDynamoDbTableToBeActive(d.Id(), d.Timeout(schema.TimeoutUpdate), conn); err != nil { + return fmt.Errorf("Error waiting for DynamoDB Table update: %s", err) } } - if d.HasChange("global_secondary_index") { - log.Printf("[DEBUG] Changed GSI data") - req := &dynamodb.UpdateTableInput{ - TableName: aws.String(d.Id()), + if d.HasChange("global_secondary_index") && !d.IsNewResource() { + var attributes []*dynamodb.AttributeDefinition + if v, ok := d.GetOk("attribute"); ok { + attributes = expandDynamoDbAttributes(v.(*schema.Set).List()) } o, n := d.GetChange("global_secondary_index") - - oldSet := o.(*schema.Set) - newSet := n.(*schema.Set) - - // Track old names so we can know which ones we need to just update based on - // capacity changes, terraform appears to only diff on the set hash, not the - // contents so we need to make sure we don't delete any indexes that we - // just want to update the capacity for - oldGsiNameSet := make(map[string]bool) - newGsiNameSet := make(map[string]bool) - - for _, gsidata := range oldSet.List() { - gsiName := gsidata.(map[string]interface{})["name"].(string) - oldGsiNameSet[gsiName] = true - } - - for _, gsidata := range newSet.List() { - gsiName := gsidata.(map[string]interface{})["name"].(string) - newGsiNameSet[gsiName] = true - } - - // First determine what's new - for _, newgsidata := range newSet.List() { - updates := []*dynamodb.GlobalSecondaryIndexUpdate{} - newGsiName := newgsidata.(map[string]interface{})["name"].(string) - if _, exists := oldGsiNameSet[newGsiName]; !exists { - attributes := []*dynamodb.AttributeDefinition{} - gsidata := newgsidata.(map[string]interface{}) - gsi := createGSIFromData(&gsidata) - log.Printf("[DEBUG] Adding GSI %s", *gsi.IndexName) - update := &dynamodb.GlobalSecondaryIndexUpdate{ - Create: &dynamodb.CreateGlobalSecondaryIndexAction{ - IndexName: gsi.IndexName, - KeySchema: gsi.KeySchema, - ProvisionedThroughput: gsi.ProvisionedThroughput, - Projection: gsi.Projection, - }, - } - updates = append(updates, update) - - // Hash key is required, range key isn't - hashkey_type, err := getAttributeType(d, *gsi.KeySchema[0].AttributeName) - if err != nil { - return err - } - - attributes = append(attributes, &dynamodb.AttributeDefinition{ - AttributeName: gsi.KeySchema[0].AttributeName, - AttributeType: aws.String(hashkey_type), - }) - - // If there's a range key, there will be 2 elements in KeySchema - if len(gsi.KeySchema) == 2 { - rangekey_type, err := getAttributeType(d, *gsi.KeySchema[1].AttributeName) - if err != nil { - return err - } - - attributes = append(attributes, &dynamodb.AttributeDefinition{ - AttributeName: gsi.KeySchema[1].AttributeName, - AttributeType: aws.String(rangekey_type), - }) - } - - req.AttributeDefinitions = attributes - req.GlobalSecondaryIndexUpdates = updates - _, err = dynamodbconn.UpdateTable(req) - - if err != nil { - return err - } - - if err := waitForTableToBeActive(d.Id(), meta); err != nil { - return errwrap.Wrapf("Error waiting for Dynamo DB Table update: {{err}}", err) - } - - if err := waitForGSIToBeActive(d.Id(), *gsi.IndexName, meta); err != nil { - return errwrap.Wrapf("Error waiting for Dynamo DB GSIT to be active: {{err}}", err) - } - - } + ops, err := diffDynamoDbGSI(o.(*schema.Set).List(), n.(*schema.Set).List()) + if err != nil { + return fmt.Errorf("Computing difference for global_secondary_index failed: %s", err) } + log.Printf("[DEBUG] Updating global secondary indexes:\n%s", ops) - for _, oldgsidata := range oldSet.List() { - updates := []*dynamodb.GlobalSecondaryIndexUpdate{} - oldGsiName := oldgsidata.(map[string]interface{})["name"].(string) - if _, exists := newGsiNameSet[oldGsiName]; !exists { - gsidata := oldgsidata.(map[string]interface{}) - log.Printf("[DEBUG] Deleting GSI %s", gsidata["name"].(string)) - update := &dynamodb.GlobalSecondaryIndexUpdate{ - Delete: &dynamodb.DeleteGlobalSecondaryIndexAction{ - IndexName: aws.String(gsidata["name"].(string)), - }, - } - updates = append(updates, update) - - req.GlobalSecondaryIndexUpdates = updates - _, err := dynamodbconn.UpdateTable(req) - - if err != nil { - return err - } - - if err := waitForTableToBeActive(d.Id(), meta); err != nil { - return errwrap.Wrapf("Error waiting for Dynamo DB Table update: {{err}}", err) - } - } + input := &dynamodb.UpdateTableInput{ + TableName: aws.String(d.Id()), + AttributeDefinitions: attributes, } - } - - // Update any out-of-date read / write capacity - if gsiObjects, ok := d.GetOk("global_secondary_index"); ok { - gsiSet := gsiObjects.(*schema.Set) - if len(gsiSet.List()) > 0 { - log.Printf("Updating capacity as needed!") - - // We can only change throughput, but we need to make sure it's actually changed - tableDescription, err := dynamodbconn.DescribeTable(&dynamodb.DescribeTableInput{ - TableName: aws.String(d.Id()), - }) + // Only 1 online index can be created or deleted simultaneously per table + for _, op := range ops { + input.GlobalSecondaryIndexUpdates = []*dynamodb.GlobalSecondaryIndexUpdate{op} + _, err := conn.UpdateTable(input) if err != nil { return err } - - table := tableDescription.Table - - for _, updatedgsidata := range gsiSet.List() { - updates := []*dynamodb.GlobalSecondaryIndexUpdate{} - gsidata := updatedgsidata.(map[string]interface{}) - gsiName := gsidata["name"].(string) - gsiWriteCapacity := gsidata["write_capacity"].(int) - gsiReadCapacity := gsidata["read_capacity"].(int) - - log.Printf("[DEBUG] Updating GSI %s", gsiName) - gsi, err := getGlobalSecondaryIndex(gsiName, table.GlobalSecondaryIndexes) - - if err != nil { - return err - } - - capacityUpdated := false - - if int64(gsiReadCapacity) != *gsi.ProvisionedThroughput.ReadCapacityUnits || - int64(gsiWriteCapacity) != *gsi.ProvisionedThroughput.WriteCapacityUnits { - capacityUpdated = true + if op.Create != nil { + idxName := *op.Create.IndexName + if err := waitForDynamoDbGSIToBeActive(d.Id(), idxName, conn); err != nil { + return fmt.Errorf("Error waiting for DynamoDB GSI %q to be created: %s", idxName, err) } - - if capacityUpdated { - update := &dynamodb.GlobalSecondaryIndexUpdate{ - Update: &dynamodb.UpdateGlobalSecondaryIndexAction{ - IndexName: aws.String(gsidata["name"].(string)), - ProvisionedThroughput: &dynamodb.ProvisionedThroughput{ - WriteCapacityUnits: aws.Int64(int64(gsiWriteCapacity)), - ReadCapacityUnits: aws.Int64(int64(gsiReadCapacity)), - }, - }, - } - updates = append(updates, update) - + } + if op.Update != nil { + idxName := *op.Update.IndexName + if err := waitForDynamoDbGSIToBeActive(d.Id(), idxName, conn); err != nil { + return fmt.Errorf("Error waiting for DynamoDB GSI %q to be updated: %s", idxName, err) } - - if len(updates) > 0 { - - req := &dynamodb.UpdateTableInput{ - TableName: aws.String(d.Id()), - } - - req.GlobalSecondaryIndexUpdates = updates - - log.Printf("[DEBUG] Updating GSI read / write capacity on %s", d.Id()) - _, err := dynamodbconn.UpdateTable(req) - - if err != nil { - log.Printf("[DEBUG] Error updating table: %s", err) - return err - } - - if err := waitForGSIToBeActive(d.Id(), gsiName, meta); err != nil { - return errwrap.Wrapf("Error waiting for Dynamo DB GSI to be active: {{err}}", err) - } + } + if op.Delete != nil { + idxName := *op.Delete.IndexName + if err := waitForDynamoDbGSIToBeDeleted(d.Id(), idxName, conn); err != nil { + return fmt.Errorf("Error waiting for DynamoDB GSI %q to be deleted: %s", idxName, err) } } } + if err := waitForDynamoDbTableToBeActive(d.Id(), d.Timeout(schema.TimeoutUpdate), conn); err != nil { + return fmt.Errorf("Error waiting for DynamoDB Table op: %s", err) + } } if d.HasChange("ttl") { - if err := updateTimeToLive(d, meta); err != nil { + if err := updateDynamoDbTimeToLive(d, conn); err != nil { log.Printf("[DEBUG] Error updating table TimeToLive: %s", err) return err } } - // Update tags - if err := setTagsDynamoDb(dynamodbconn, d); err != nil { - return err - } - - return resourceAwsDynamoDbTableRead(d, meta) -} - -func updateTimeToLive(d *schema.ResourceData, meta interface{}) error { - dynamodbconn := meta.(*AWSClient).dynamodbconn - - if ttl, ok := d.GetOk("ttl"); ok { - - timeToLiveSet := ttl.(*schema.Set) - - spec := &dynamodb.TimeToLiveSpecification{} - - timeToLive := timeToLiveSet.List()[0].(map[string]interface{}) - spec.AttributeName = aws.String(timeToLive["attribute_name"].(string)) - spec.Enabled = aws.Bool(timeToLive["enabled"].(bool)) - - req := &dynamodb.UpdateTimeToLiveInput{ - TableName: aws.String(d.Id()), - TimeToLiveSpecification: spec, - } - - _, err := dynamodbconn.UpdateTimeToLive(req) - - if err != nil { - // If ttl was not set within the .tf file before and has now been added we still run this command to update - // But there has been no change so lets continue - if awsErr, ok := err.(awserr.Error); ok && awsErr.Code() == "ValidationException" && awsErr.Message() == "TimeToLive is already disabled" { - return nil - } - log.Printf("[DEBUG] Error updating TimeToLive on table: %s", err) + if d.HasChange("tags") { + if err := setTagsDynamoDb(conn, d); err != nil { return err } - - log.Printf("[DEBUG] Updated TimeToLive on table") - - if err := waitForTimeToLiveUpdateToBeCompleted(d.Id(), timeToLive["enabled"].(bool), meta); err != nil { - return errwrap.Wrapf("Error waiting for Dynamo DB TimeToLive to be updated: {{err}}", err) - } } - return nil + return resourceAwsDynamoDbTableRead(d, meta) } func resourceAwsDynamoDbTableRead(d *schema.ResourceData, meta interface{}) error { - dynamodbconn := meta.(*AWSClient).dynamodbconn - log.Printf("[DEBUG] Loading data for DynamoDB table '%s'", d.Id()) - req := &dynamodb.DescribeTableInput{ - TableName: aws.String(d.Id()), - } + conn := meta.(*AWSClient).dynamodbconn - result, err := dynamodbconn.DescribeTable(req) + result, err := conn.DescribeTable(&dynamodb.DescribeTableInput{ + TableName: aws.String(d.Id()), + }) if err != nil { - if awsErr, ok := err.(awserr.Error); ok && awsErr.Code() == "ResourceNotFoundException" { + if isAWSErr(err, dynamodb.ErrCodeResourceNotFoundException, "") { log.Printf("[WARN] Dynamodb Table (%s) not found, error code (404)", d.Id()) d.SetId("") return nil @@ -706,400 +399,265 @@ func resourceAwsDynamoDbTableRead(d *schema.ResourceData, meta interface{}) erro return err } - return flattenAwsDynamoDbTableResource(d, meta, result.Table) -} - -func flattenAwsDynamoDbTableResource(d *schema.ResourceData, meta interface{}, table *dynamodb.TableDescription) error { - dynamodbconn := meta.(*AWSClient).dynamodbconn - - d.Set("write_capacity", table.ProvisionedThroughput.WriteCapacityUnits) - d.Set("read_capacity", table.ProvisionedThroughput.ReadCapacityUnits) - - attributes := []interface{}{} - for _, attrdef := range table.AttributeDefinitions { - attribute := map[string]string{ - "name": *attrdef.AttributeName, - "type": *attrdef.AttributeType, - } - attributes = append(attributes, attribute) - log.Printf("[DEBUG] Added Attribute: %s", attribute["name"]) - } - - d.Set("attribute", attributes) - d.Set("name", table.TableName) - - for _, attribute := range table.KeySchema { - if *attribute.KeyType == "HASH" { - d.Set("hash_key", attribute.AttributeName) - } - - if *attribute.KeyType == "RANGE" { - d.Set("range_key", attribute.AttributeName) - } - } - - lsiList := make([]map[string]interface{}, 0, len(table.LocalSecondaryIndexes)) - for _, lsiObject := range table.LocalSecondaryIndexes { - lsi := map[string]interface{}{ - "name": *lsiObject.IndexName, - "projection_type": *lsiObject.Projection.ProjectionType, - } - - for _, attribute := range lsiObject.KeySchema { - - if *attribute.KeyType == "RANGE" { - lsi["range_key"] = *attribute.AttributeName - } - } - nkaList := make([]string, len(lsiObject.Projection.NonKeyAttributes)) - for _, nka := range lsiObject.Projection.NonKeyAttributes { - nkaList = append(nkaList, *nka) - } - lsi["non_key_attributes"] = nkaList - - lsiList = append(lsiList, lsi) - } - - err := d.Set("local_secondary_index", lsiList) - if err != nil { - return err - } - - gsiList := make([]map[string]interface{}, 0, len(table.GlobalSecondaryIndexes)) - for _, gsiObject := range table.GlobalSecondaryIndexes { - gsi := map[string]interface{}{ - "write_capacity": *gsiObject.ProvisionedThroughput.WriteCapacityUnits, - "read_capacity": *gsiObject.ProvisionedThroughput.ReadCapacityUnits, - "name": *gsiObject.IndexName, - } - - for _, attribute := range gsiObject.KeySchema { - if *attribute.KeyType == "HASH" { - gsi["hash_key"] = *attribute.AttributeName - } - - if *attribute.KeyType == "RANGE" { - gsi["range_key"] = *attribute.AttributeName - } - } - - gsi["projection_type"] = *(gsiObject.Projection.ProjectionType) - - nonKeyAttrs := make([]string, 0, len(gsiObject.Projection.NonKeyAttributes)) - for _, nonKeyAttr := range gsiObject.Projection.NonKeyAttributes { - nonKeyAttrs = append(nonKeyAttrs, *nonKeyAttr) - } - gsi["non_key_attributes"] = nonKeyAttrs - - gsiList = append(gsiList, gsi) - log.Printf("[DEBUG] Added GSI: %s - Read: %d / Write: %d", gsi["name"], gsi["read_capacity"], gsi["write_capacity"]) - } - - if table.StreamSpecification != nil { - d.Set("stream_view_type", table.StreamSpecification.StreamViewType) - d.Set("stream_enabled", table.StreamSpecification.StreamEnabled) - d.Set("stream_arn", table.LatestStreamArn) - d.Set("stream_label", table.LatestStreamLabel) - } - - err = d.Set("global_secondary_index", gsiList) + err = flattenAwsDynamoDbTableResource(d, result.Table) if err != nil { return err } - d.Set("arn", table.TableArn) - - timeToLiveReq := &dynamodb.DescribeTimeToLiveInput{ + ttlOut, err := conn.DescribeTimeToLive(&dynamodb.DescribeTimeToLiveInput{ TableName: aws.String(d.Id()), - } - timeToLiveOutput, err := dynamodbconn.DescribeTimeToLive(timeToLiveReq) + }) if err != nil { return err } - - if timeToLiveOutput.TimeToLiveDescription != nil && timeToLiveOutput.TimeToLiveDescription.AttributeName != nil { - timeToLiveList := []interface{}{ - map[string]interface{}{ - "attribute_name": *timeToLiveOutput.TimeToLiveDescription.AttributeName, - "enabled": (*timeToLiveOutput.TimeToLiveDescription.TimeToLiveStatus == dynamodb.TimeToLiveStatusEnabled), - }, - } - err := d.Set("ttl", timeToLiveList) + if ttlOut.TimeToLiveDescription != nil { + err := d.Set("ttl", flattenDynamoDbTtl(ttlOut.TimeToLiveDescription)) if err != nil { return err } - - log.Printf("[DEBUG] Loaded TimeToLive data for DynamoDB table '%s'", d.Id()) } - tags, err := readTableTags(d, meta) + tags, err := readDynamoDbTableTags(d.Get("arn").(string), conn) if err != nil { return err } - if len(tags) != 0 { - d.Set("tags", tags) - } + d.Set("tags", tags) return nil } func resourceAwsDynamoDbTableDelete(d *schema.ResourceData, meta interface{}) error { - dynamodbconn := meta.(*AWSClient).dynamodbconn - - if err := waitForTableToBeActive(d.Id(), meta); err != nil { - return errwrap.Wrapf("Error waiting for Dynamo DB Table update: {{err}}", err) - } + conn := meta.(*AWSClient).dynamodbconn log.Printf("[DEBUG] DynamoDB delete table: %s", d.Id()) - _, err := dynamodbconn.DeleteTable(&dynamodb.DeleteTableInput{ + _, err := conn.DeleteTable(&dynamodb.DeleteTableInput{ TableName: aws.String(d.Id()), }) if err != nil { + if isAWSErr(err, dynamodb.ErrCodeResourceNotFoundException, "Requested resource not found: Table: ") { + return nil + } return err } - params := &dynamodb.DescribeTableInput{ - TableName: aws.String(d.Id()), - } - - err = resource.Retry(10*time.Minute, func() *resource.RetryError { - t, err := dynamodbconn.DescribeTable(params) - if err != nil { - if awserr, ok := err.(awserr.Error); ok && awserr.Code() == "ResourceNotFoundException" { - return nil - } - // Didn't recognize the error, so shouldn't retry. - return resource.NonRetryableError(err) - } + stateConf := &resource.StateChangeConf{ + Pending: []string{ + dynamodb.TableStatusActive, + dynamodb.TableStatusDeleting, + }, + Target: []string{}, + Timeout: d.Timeout(schema.TimeoutDelete), + Refresh: func() (interface{}, string, error) { + out, err := conn.DescribeTable(&dynamodb.DescribeTableInput{ + TableName: aws.String(d.Id()), + }) + if err != nil { + if isAWSErr(err, dynamodb.ErrCodeResourceNotFoundException, "") { + return nil, "", nil + } - if t != nil { - if t.Table.TableStatus != nil && strings.ToLower(*t.Table.TableStatus) == "deleting" { - log.Printf("[DEBUG] AWS Dynamo DB table (%s) is still deleting", d.Id()) - return resource.RetryableError(fmt.Errorf("still deleting")) + return 42, "", err } - } + table := out.Table - // we should be not found or deleting, so error here - return resource.NonRetryableError(err) - }) - - // check error from retry - if err != nil { - return err + return table, *table.TableStatus, nil + }, } - - return nil + _, err = stateConf.WaitForState() + return err } -func createGSIFromData(data *map[string]interface{}) dynamodb.GlobalSecondaryIndex { +func updateDynamoDbTimeToLive(d *schema.ResourceData, conn *dynamodb.DynamoDB) error { + toBeEnabled := false + attributeName := "" - projection := &dynamodb.Projection{ - ProjectionType: aws.String((*data)["projection_type"].(string)), - } - - if (*data)["projection_type"] == "INCLUDE" { - non_key_attributes := []*string{} - for _, attr := range (*data)["non_key_attributes"].([]interface{}) { - non_key_attributes = append(non_key_attributes, aws.String(attr.(string))) - } - projection.NonKeyAttributes = non_key_attributes - } + o, n := d.GetChange("ttl") + newTtl, ok := n.(*schema.Set) + blockExists := ok && newTtl.Len() > 0 - writeCapacity := (*data)["write_capacity"].(int) - readCapacity := (*data)["read_capacity"].(int) + if blockExists { + ttlList := newTtl.List() + ttlMap := ttlList[0].(map[string]interface{}) + attributeName = ttlMap["attribute_name"].(string) + toBeEnabled = ttlMap["enabled"].(bool) - key_schema := []*dynamodb.KeySchemaElement{ - { - AttributeName: aws.String((*data)["hash_key"].(string)), - KeyType: aws.String("HASH"), - }, + } else if !d.IsNewResource() { + oldTtlList := o.(*schema.Set).List() + ttlMap := oldTtlList[0].(map[string]interface{}) + attributeName = ttlMap["attribute_name"].(string) + toBeEnabled = false } - range_key_name := (*data)["range_key"] - if range_key_name != "" { - range_key_element := &dynamodb.KeySchemaElement{ - AttributeName: aws.String(range_key_name.(string)), - KeyType: aws.String("RANGE"), + if attributeName != "" { + _, err := conn.UpdateTimeToLive(&dynamodb.UpdateTimeToLiveInput{ + TableName: aws.String(d.Id()), + TimeToLiveSpecification: &dynamodb.TimeToLiveSpecification{ + AttributeName: aws.String(attributeName), + Enabled: aws.Bool(toBeEnabled), + }, + }) + if err != nil { + if isAWSErr(err, "ValidationException", "TimeToLive is already disabled") { + return nil + } + return err } - key_schema = append(key_schema, range_key_element) + err = waitForDynamoDbTtlUpdateToBeCompleted(d.Id(), toBeEnabled, conn) + if err != nil { + return fmt.Errorf("Error waiting for DynamoDB TimeToLive to be updated: %s", err) + } } - return dynamodb.GlobalSecondaryIndex{ - IndexName: aws.String((*data)["name"].(string)), - KeySchema: key_schema, - Projection: projection, - ProvisionedThroughput: &dynamodb.ProvisionedThroughput{ - WriteCapacityUnits: aws.Int64(int64(writeCapacity)), - ReadCapacityUnits: aws.Int64(int64(readCapacity)), - }, - } + return nil } -func getGlobalSecondaryIndex(indexName string, indexList []*dynamodb.GlobalSecondaryIndexDescription) (*dynamodb.GlobalSecondaryIndexDescription, error) { - for _, gsi := range indexList { - if *gsi.IndexName == indexName { - return gsi, nil - } +func readDynamoDbTableTags(arn string, conn *dynamodb.DynamoDB) (map[string]string, error) { + output, err := conn.ListTagsOfResource(&dynamodb.ListTagsOfResourceInput{ + ResourceArn: aws.String(arn), + }) + if err != nil { + return nil, fmt.Errorf("Error reading tags from dynamodb resource: %s", err) } - return &dynamodb.GlobalSecondaryIndexDescription{}, fmt.Errorf("Can't find a GSI by that name...") -} + result := tagsToMapDynamoDb(output.Tags) -func getAttributeType(d *schema.ResourceData, attributeName string) (string, error) { - if attributedata, ok := d.GetOk("attribute"); ok { - attributeSet := attributedata.(*schema.Set) - for _, attribute := range attributeSet.List() { - attr := attribute.(map[string]interface{}) - if attr["name"] == attributeName { - return attr["type"].(string), nil - } - } - } + // TODO Read NextToken if available - return "", fmt.Errorf("Unable to find an attribute named %s", attributeName) + return result, nil } -func waitForGSIToBeActive(tableName string, gsiName string, meta interface{}) error { - dynamodbconn := meta.(*AWSClient).dynamodbconn - req := &dynamodb.DescribeTableInput{ - TableName: aws.String(tableName), - } +// Waiters - activeIndex := false +func waitForDynamoDbGSIToBeActive(tableName string, gsiName string, conn *dynamodb.DynamoDB) error { + stateConf := &resource.StateChangeConf{ + Pending: []string{ + dynamodb.IndexStatusCreating, + dynamodb.IndexStatusUpdating, + }, + Target: []string{dynamodb.IndexStatusActive}, + Timeout: 10 * time.Minute, + Refresh: func() (interface{}, string, error) { + result, err := conn.DescribeTable(&dynamodb.DescribeTableInput{ + TableName: aws.String(tableName), + }) + if err != nil { + return 42, "", err + } - for activeIndex == false { + table := result.Table - result, err := dynamodbconn.DescribeTable(req) + // Find index + var targetGSI *dynamodb.GlobalSecondaryIndexDescription + for _, gsi := range table.GlobalSecondaryIndexes { + if *gsi.IndexName == gsiName { + targetGSI = gsi + } + } - if err != nil { - return err - } + if targetGSI != nil { + return table, *targetGSI.IndexStatus, nil + } - table := result.Table - var targetGSI *dynamodb.GlobalSecondaryIndexDescription = nil + return nil, "", nil + }, + } + _, err := stateConf.WaitForState() + return err +} - for _, gsi := range table.GlobalSecondaryIndexes { - if *gsi.IndexName == gsiName { - targetGSI = gsi +func waitForDynamoDbGSIToBeDeleted(tableName string, gsiName string, conn *dynamodb.DynamoDB) error { + stateConf := &resource.StateChangeConf{ + Pending: []string{ + dynamodb.IndexStatusActive, + dynamodb.IndexStatusDeleting, + }, + Target: []string{}, + Timeout: 10 * time.Minute, + Refresh: func() (interface{}, string, error) { + result, err := conn.DescribeTable(&dynamodb.DescribeTableInput{ + TableName: aws.String(tableName), + }) + if err != nil { + return 42, "", err } - } - if targetGSI != nil { - activeIndex = *targetGSI.IndexStatus == "ACTIVE" + table := result.Table - if !activeIndex { - log.Printf("[DEBUG] Sleeping for 5 seconds for %s GSI to become active", gsiName) - time.Sleep(5 * time.Second) + // Find index + var targetGSI *dynamodb.GlobalSecondaryIndexDescription + for _, gsi := range table.GlobalSecondaryIndexes { + if *gsi.IndexName == gsiName { + targetGSI = gsi + } } - } else { - log.Printf("[DEBUG] GSI %s did not exist, giving up", gsiName) - break - } - } - return nil - -} + if targetGSI == nil { + return nil, "", nil + } -func waitForTableToBeActive(tableName string, meta interface{}) error { - dynamodbconn := meta.(*AWSClient).dynamodbconn - req := &dynamodb.DescribeTableInput{ - TableName: aws.String(tableName), + return targetGSI, *targetGSI.IndexStatus, nil + }, } + _, err := stateConf.WaitForState() + return err +} - activeState := false - - for activeState == false { - result, err := dynamodbconn.DescribeTable(req) - - if err != nil { - return err - } - - activeState = *result.Table.TableStatus == "ACTIVE" +func waitForDynamoDbTableToBeActive(tableName string, timeout time.Duration, conn *dynamodb.DynamoDB) error { + stateConf := &resource.StateChangeConf{ + Pending: []string{dynamodb.TableStatusCreating, dynamodb.TableStatusUpdating}, + Target: []string{dynamodb.TableStatusActive}, + Timeout: timeout, + Refresh: func() (interface{}, string, error) { + result, err := conn.DescribeTable(&dynamodb.DescribeTableInput{ + TableName: aws.String(tableName), + }) + if err != nil { + return 42, "", err + } - // Wait for a few seconds - if !activeState { - log.Printf("[DEBUG] Sleeping for 5 seconds for table to become active") - time.Sleep(5 * time.Second) - } + return result, *result.Table.TableStatus, nil + }, } + _, err := stateConf.WaitForState() - return nil - + return err } -func waitForTimeToLiveUpdateToBeCompleted(tableName string, enabled bool, meta interface{}) error { - dynamodbconn := meta.(*AWSClient).dynamodbconn - req := &dynamodb.DescribeTimeToLiveInput{ - TableName: aws.String(tableName), +func waitForDynamoDbTtlUpdateToBeCompleted(tableName string, toEnable bool, conn *dynamodb.DynamoDB) error { + pending := []string{ + dynamodb.TimeToLiveStatusEnabled, + dynamodb.TimeToLiveStatusDisabling, } + target := []string{dynamodb.TimeToLiveStatusDisabled} - stateMatched := false - for stateMatched == false { - result, err := dynamodbconn.DescribeTimeToLive(req) - - if err != nil { - return err - } - - if enabled { - stateMatched = *result.TimeToLiveDescription.TimeToLiveStatus == dynamodb.TimeToLiveStatusEnabled - } else { - stateMatched = *result.TimeToLiveDescription.TimeToLiveStatus == dynamodb.TimeToLiveStatusDisabled - } - - // Wait for a few seconds, this may take a long time... - if !stateMatched { - log.Printf("[DEBUG] Sleeping for 5 seconds before checking TimeToLive state again") - time.Sleep(5 * time.Second) + if toEnable { + pending = []string{ + dynamodb.TimeToLiveStatusDisabled, + dynamodb.TimeToLiveStatusEnabling, } + target = []string{dynamodb.TimeToLiveStatusEnabled} } - log.Printf("[DEBUG] TimeToLive update complete") - - return nil - -} - -func createTableTags(d *schema.ResourceData, meta interface{}) error { - // DynamoDB Table has to be in the ACTIVE state in order to tag the resource - if err := waitForTableToBeActive(d.Id(), meta); err != nil { - return err - } - tags := d.Get("tags").(map[string]interface{}) - arn := d.Get("arn").(string) - dynamodbconn := meta.(*AWSClient).dynamodbconn - req := &dynamodb.TagResourceInput{ - ResourceArn: aws.String(arn), - Tags: tagsFromMapDynamoDb(tags), - } - _, err := dynamodbconn.TagResource(req) - if err != nil { - return fmt.Errorf("Error tagging dynamodb resource: %s", err) - } - return nil -} + stateConf := &resource.StateChangeConf{ + Pending: pending, + Target: target, + Timeout: 10 * time.Second, + Refresh: func() (interface{}, string, error) { + result, err := conn.DescribeTimeToLive(&dynamodb.DescribeTimeToLiveInput{ + TableName: aws.String(tableName), + }) + if err != nil { + return 42, "", err + } -func readTableTags(d *schema.ResourceData, meta interface{}) (map[string]string, error) { - if err := waitForTableToBeActive(d.Id(), meta); err != nil { - return nil, err - } - arn := d.Get("arn").(string) - //result := make(map[string]string) + ttlDesc := result.TimeToLiveDescription - dynamodbconn := meta.(*AWSClient).dynamodbconn - req := &dynamodb.ListTagsOfResourceInput{ - ResourceArn: aws.String(arn), + return result, *ttlDesc.TimeToLiveStatus, nil + }, } - output, err := dynamodbconn.ListTagsOfResource(req) - if err != nil { - return nil, fmt.Errorf("Error reading tags from dynamodb resource: %s", err) - } - result := tagsToMapDynamoDb(output.Tags) - // TODO Read NextToken if avail - return result, nil + _, err := stateConf.WaitForState() + return err } diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_elastic_beanstalk_application.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_elastic_beanstalk_application.go index cbc589db831c..fdb6c199b32b 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_elastic_beanstalk_application.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_elastic_beanstalk_application.go @@ -99,14 +99,20 @@ func resourceAwsElasticBeanstalkApplicationRead(d *schema.ResourceData, meta int } if app == nil { + err = fmt.Errorf("Elastic Beanstalk Application %q not found", d.Id()) if d.IsNewResource() { - return resource.RetryableError(fmt.Errorf("Elastic Beanstalk Application %q not found.", d.Id())) + return resource.RetryableError(err) } return resource.NonRetryableError(err) } return nil }) if err != nil { + if app == nil { + log.Printf("[WARN] %s, removing from state", err) + d.SetId("") + return nil + } return err } diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_emr_cluster.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_emr_cluster.go index 27f7c2737c79..66086e592457 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_emr_cluster.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_emr_cluster.go @@ -245,6 +245,12 @@ func resourceAwsEMRCluster() *schema.Resource { ForceNew: true, Optional: true, }, + "custom_ami_id": { + Type: schema.TypeString, + ForceNew: true, + Optional: true, + ValidateFunc: validateAwsEmrCustomAmiId, + }, }, } } @@ -358,6 +364,10 @@ func resourceAwsEMRClusterCreate(d *schema.ResourceData, meta interface{}) error params.EbsRootVolumeSize = aws.Int64(int64(v.(int))) } + if v, ok := d.GetOk("custom_ami_id"); ok { + params.CustomAmiId = aws.String(v.(string)) + } + if instanceProfile != "" { params.JobFlowRole = aws.String(instanceProfile) } @@ -475,6 +485,10 @@ func resourceAwsEMRClusterRead(d *schema.ResourceData, meta interface{}) error { d.Set("tags", tagsToMapEMR(cluster.Tags)) d.Set("ebs_root_volume_size", cluster.EbsRootVolumeSize) + if cluster.CustomAmiId != nil { + d.Set("custom_ami_id", cluster.CustomAmiId) + } + if err := d.Set("applications", flattenApplications(cluster.Applications)); err != nil { log.Printf("[ERR] Error setting EMR Applications for cluster (%s): %s", d.Id(), err) } diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_gamelift_build.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_gamelift_build.go new file mode 100644 index 000000000000..9a327acccc43 --- /dev/null +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_gamelift_build.go @@ -0,0 +1,187 @@ +package aws + +import ( + "log" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/gamelift" + "github.com/hashicorp/terraform/helper/resource" + "github.com/hashicorp/terraform/helper/schema" + "github.com/hashicorp/terraform/helper/validation" +) + +func resourceAwsGameliftBuild() *schema.Resource { + return &schema.Resource{ + Create: resourceAwsGameliftBuildCreate, + Read: resourceAwsGameliftBuildRead, + Update: resourceAwsGameliftBuildUpdate, + Delete: resourceAwsGameliftBuildDelete, + + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + ValidateFunc: validation.StringLenBetween(1, 1024), + }, + "operating_system": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + ValidateFunc: validateGameliftOperatingSystem, + }, + "storage_location": { + Type: schema.TypeList, + Required: true, + ForceNew: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "bucket": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "key": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "role_arn": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + ValidateFunc: validateArn, + }, + }, + }, + }, + "version": { + Type: schema.TypeString, + Optional: true, + ValidateFunc: validation.StringLenBetween(1, 1024), + }, + }, + } +} + +func resourceAwsGameliftBuildCreate(d *schema.ResourceData, meta interface{}) error { + conn := meta.(*AWSClient).gameliftconn + + sl := expandGameliftStorageLocation(d.Get("storage_location").([]interface{})) + input := gamelift.CreateBuildInput{ + Name: aws.String(d.Get("name").(string)), + OperatingSystem: aws.String(d.Get("operating_system").(string)), + StorageLocation: sl, + } + if v, ok := d.GetOk("version"); ok { + input.Version = aws.String(v.(string)) + } + log.Printf("[INFO] Creating Gamelift Build: %s", input) + var out *gamelift.CreateBuildOutput + err := resource.Retry(30*time.Second, func() *resource.RetryError { + var err error + out, err = conn.CreateBuild(&input) + if err != nil { + if isAWSErr(err, gamelift.ErrCodeInvalidRequestException, "Provided build is not accessible.") { + return resource.RetryableError(err) + } + return resource.NonRetryableError(err) + } + return nil + }) + if err != nil { + return err + } + + d.SetId(*out.Build.BuildId) + + stateConf := resource.StateChangeConf{ + Pending: []string{gamelift.BuildStatusInitialized}, + Target: []string{gamelift.BuildStatusReady}, + Timeout: 1 * time.Minute, + Refresh: func() (interface{}, string, error) { + out, err := conn.DescribeBuild(&gamelift.DescribeBuildInput{ + BuildId: aws.String(d.Id()), + }) + if err != nil { + return 42, "", err + } + + return out, *out.Build.Status, nil + }, + } + _, err = stateConf.WaitForState() + if err != nil { + return err + } + + return resourceAwsGameliftBuildRead(d, meta) +} + +func resourceAwsGameliftBuildRead(d *schema.ResourceData, meta interface{}) error { + conn := meta.(*AWSClient).gameliftconn + + log.Printf("[INFO] Reading Gamelift Build: %s", d.Id()) + out, err := conn.DescribeBuild(&gamelift.DescribeBuildInput{ + BuildId: aws.String(d.Id()), + }) + if err != nil { + if isAWSErr(err, gamelift.ErrCodeNotFoundException, "") { + log.Printf("[WARN] Gamelift Build (%s) not found, removing from state", d.Id()) + d.SetId("") + return nil + } + return err + } + b := out.Build + + d.Set("name", b.Name) + d.Set("operating_system", b.OperatingSystem) + d.Set("version", b.Version) + + return nil +} + +func resourceAwsGameliftBuildUpdate(d *schema.ResourceData, meta interface{}) error { + conn := meta.(*AWSClient).gameliftconn + + log.Printf("[INFO] Updating Gamelift Build: %s", d.Id()) + input := gamelift.UpdateBuildInput{ + BuildId: aws.String(d.Id()), + Name: aws.String(d.Get("name").(string)), + } + if v, ok := d.GetOk("version"); ok { + input.Version = aws.String(v.(string)) + } + + _, err := conn.UpdateBuild(&input) + if err != nil { + return err + } + + return resourceAwsGameliftBuildRead(d, meta) +} + +func resourceAwsGameliftBuildDelete(d *schema.ResourceData, meta interface{}) error { + conn := meta.(*AWSClient).gameliftconn + + log.Printf("[INFO] Deleting Gamelift Build: %s", d.Id()) + _, err := conn.DeleteBuild(&gamelift.DeleteBuildInput{ + BuildId: aws.String(d.Id()), + }) + if err != nil { + return err + } + + return nil +} + +func expandGameliftStorageLocation(cfg []interface{}) *gamelift.S3Location { + loc := cfg[0].(map[string]interface{}) + return &gamelift.S3Location{ + Bucket: aws.String(loc["bucket"].(string)), + Key: aws.String(loc["key"].(string)), + RoleArn: aws.String(loc["role_arn"].(string)), + } +} diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_lambda_function.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_lambda_function.go index 1f489768f1fe..9d73e192b5a3 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_lambda_function.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_lambda_function.go @@ -649,6 +649,10 @@ func resourceAwsLambdaFunctionUpdate(d *schema.ResourceData, meta interface{}) e if err != nil { log.Printf("[DEBUG] Received error modifying Lambda Function Configuration %s: %s", d.Id(), err) + if isAWSErr(err, "InvalidParameterValueException", "The provided execution role does not have permissions") { + log.Printf("[DEBUG] Received %s, retrying UpdateFunctionConfiguration", err) + return resource.RetryableError(err) + } if isAWSErr(err, "InvalidParameterValueException", "Your request has been throttled by EC2, please make sure you have enough API rate limit.") { log.Printf("[DEBUG] Received %s, retrying UpdateFunctionConfiguration", err) return resource.RetryableError(err) diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_rds_cluster.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_rds_cluster.go index 299153809bb4..95284dbc9b8f 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_rds_cluster.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_rds_cluster.go @@ -755,13 +755,22 @@ func resourceAwsRDSClusterDelete(d *schema.ResourceData, meta interface{}) error } log.Printf("[DEBUG] RDS Cluster delete options: %s", deleteOpts) - _, err := conn.DeleteDBCluster(&deleteOpts) - if err != nil { - if awsErr, ok := err.(awserr.Error); ok { - if "InvalidDBClusterStateFault" == awsErr.Code() { - return fmt.Errorf("RDS Cluster cannot be deleted: %s", awsErr.Message()) + + err := resource.Retry(1*time.Minute, func() *resource.RetryError { + _, err := conn.DeleteDBCluster(&deleteOpts) + if err != nil { + if isAWSErr(err, rds.ErrCodeInvalidDBClusterStateFault, "is not currently in the available state") { + return resource.RetryableError(err) } + if isAWSErr(err, rds.ErrCodeDBClusterNotFoundFault, "") { + return nil + } + return resource.NonRetryableError(err) } + return nil + }) + if err != nil { + return fmt.Errorf("RDS Cluster cannot be deleted: %s", err) } stateConf := &resource.StateChangeConf{ diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_route53_record.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_route53_record.go index 719825ffec52..d3c414b7714f 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_route53_record.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_route53_record.go @@ -101,6 +101,9 @@ func resourceAwsRoute53Record() *schema.Resource { Type: schema.TypeString, Required: true, StateFunc: normalizeAwsAliasName, + DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool { + return strings.ToLower(old) == strings.ToLower(new) + }, }, "evaluate_target_health": { @@ -898,11 +901,11 @@ func nilString(s string) *string { func normalizeAwsAliasName(alias interface{}) string { input := alias.(string) - if strings.HasPrefix(input, "dualstack.") { - return strings.Replace(input, "dualstack.", "", -1) + output := strings.ToLower(input) + if strings.HasPrefix(output, "dualstack.") { + output = strings.TrimLeft(output, "dualstack.") } - - return strings.TrimRight(input, ".") + return strings.TrimRight(output, ".") } func parseRecordId(id string) [4]string { diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_sqs_queue.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_sqs_queue.go index 98b475c8ffb8..0ef10e9f154e 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_sqs_queue.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/resource_aws_sqs_queue.go @@ -5,6 +5,7 @@ import ( "log" "net/url" "strconv" + "time" "github.com/hashicorp/terraform/helper/schema" @@ -165,9 +166,9 @@ func resourceAwsSqsQueueCreate(d *schema.ResourceData, meta interface{}) error { attributes := make(map[string]*string) - resource := *resourceAwsSqsQueue() + queueResource := *resourceAwsSqsQueue() - for k, s := range resource.Schema { + for k, s := range queueResource.Schema { if attrKey, ok := sqsQueueAttributeMap[k]; ok { if value, ok := d.GetOk(k); ok { switch s.Type { @@ -187,7 +188,18 @@ func resourceAwsSqsQueueCreate(d *schema.ResourceData, meta interface{}) error { req.Attributes = attributes } - output, err := sqsconn.CreateQueue(req) + var output *sqs.CreateQueueOutput + err := resource.Retry(70*time.Second, func() *resource.RetryError { + var err error + output, err = sqsconn.CreateQueue(req) + if err != nil { + if isAWSErr(err, sqs.ErrCodeQueueDeletedRecently, "You must wait 60 seconds after deleting a queue before you can create another with the same name.") { + return resource.RetryableError(err) + } + return resource.NonRetryableError(err) + } + return nil + }) if err != nil { return fmt.Errorf("Error creating SQS queue: %s", err) } diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/structure.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/structure.go index bc99f8bed65c..239d0bdc7689 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/structure.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/structure.go @@ -19,6 +19,7 @@ import ( "github.com/aws/aws-sdk-go/service/cognitoidentityprovider" "github.com/aws/aws-sdk-go/service/configservice" "github.com/aws/aws-sdk-go/service/directoryservice" + "github.com/aws/aws-sdk-go/service/dynamodb" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/ecs" "github.com/aws/aws-sdk-go/service/elasticache" @@ -36,6 +37,7 @@ import ( "github.com/beevik/etree" "github.com/hashicorp/terraform/helper/schema" "github.com/hashicorp/terraform/helper/structure" + "github.com/mitchellh/copystructure" "gopkg.in/yaml.v2" ) @@ -3074,3 +3076,310 @@ func flattenMqBrokerInstances(instances []*mq.BrokerInstance) []interface{} { return l } + +func diffDynamoDbGSI(oldGsi, newGsi []interface{}) (ops []*dynamodb.GlobalSecondaryIndexUpdate, e error) { + // Transform slices into maps + oldGsis := make(map[string]interface{}) + for _, gsidata := range oldGsi { + m := gsidata.(map[string]interface{}) + oldGsis[m["name"].(string)] = m + } + newGsis := make(map[string]interface{}) + for _, gsidata := range newGsi { + m := gsidata.(map[string]interface{}) + newGsis[m["name"].(string)] = m + } + + for _, data := range newGsi { + newMap := data.(map[string]interface{}) + newName := newMap["name"].(string) + + if _, exists := oldGsis[newName]; !exists { + m := data.(map[string]interface{}) + idxName := m["name"].(string) + + ops = append(ops, &dynamodb.GlobalSecondaryIndexUpdate{ + Create: &dynamodb.CreateGlobalSecondaryIndexAction{ + IndexName: aws.String(idxName), + KeySchema: expandDynamoDbKeySchema(m), + ProvisionedThroughput: expandDynamoDbProvisionedThroughput(m), + Projection: expandDynamoDbProjection(m), + }, + }) + } + } + + for _, data := range oldGsi { + oldMap := data.(map[string]interface{}) + oldName := oldMap["name"].(string) + + newData, exists := newGsis[oldName] + if exists { + newMap := newData.(map[string]interface{}) + idxName := newMap["name"].(string) + + oldWriteCapacity, oldReadCapacity := oldMap["write_capacity"].(int), oldMap["read_capacity"].(int) + newWriteCapacity, newReadCapacity := newMap["write_capacity"].(int), newMap["read_capacity"].(int) + capacityChanged := (oldWriteCapacity != newWriteCapacity || oldReadCapacity != newReadCapacity) + + oldAttributes, err := stripCapacityAttributes(oldMap) + if err != nil { + e = err + return + } + newAttributes, err := stripCapacityAttributes(newMap) + if err != nil { + e = err + return + } + otherAttributesChanged := !reflect.DeepEqual(oldAttributes, newAttributes) + + if capacityChanged && !otherAttributesChanged { + update := &dynamodb.GlobalSecondaryIndexUpdate{ + Update: &dynamodb.UpdateGlobalSecondaryIndexAction{ + IndexName: aws.String(idxName), + ProvisionedThroughput: expandDynamoDbProvisionedThroughput(newMap), + }, + } + ops = append(ops, update) + } else if otherAttributesChanged { + // Other attributes cannot be updated + ops = append(ops, &dynamodb.GlobalSecondaryIndexUpdate{ + Delete: &dynamodb.DeleteGlobalSecondaryIndexAction{ + IndexName: aws.String(idxName), + }, + }) + + ops = append(ops, &dynamodb.GlobalSecondaryIndexUpdate{ + Create: &dynamodb.CreateGlobalSecondaryIndexAction{ + IndexName: aws.String(idxName), + KeySchema: expandDynamoDbKeySchema(newMap), + ProvisionedThroughput: expandDynamoDbProvisionedThroughput(newMap), + Projection: expandDynamoDbProjection(newMap), + }, + }) + } + } else { + idxName := oldName + ops = append(ops, &dynamodb.GlobalSecondaryIndexUpdate{ + Delete: &dynamodb.DeleteGlobalSecondaryIndexAction{ + IndexName: aws.String(idxName), + }, + }) + } + } + return +} + +func stripCapacityAttributes(in map[string]interface{}) (map[string]interface{}, error) { + mapCopy, err := copystructure.Copy(in) + if err != nil { + return nil, err + } + + m := mapCopy.(map[string]interface{}) + + delete(m, "write_capacity") + delete(m, "read_capacity") + + return m, nil +} + +// Expanders + flatteners + +func flattenDynamoDbTtl(ttlDesc *dynamodb.TimeToLiveDescription) []interface{} { + m := map[string]interface{}{} + if ttlDesc.AttributeName != nil { + m["attribute_name"] = *ttlDesc.AttributeName + if ttlDesc.TimeToLiveStatus != nil { + m["enabled"] = (*ttlDesc.TimeToLiveStatus == dynamodb.TimeToLiveStatusEnabled) + } + } + if len(m) > 0 { + return []interface{}{m} + } + + return []interface{}{} +} + +func flattenAwsDynamoDbTableResource(d *schema.ResourceData, table *dynamodb.TableDescription) error { + d.Set("write_capacity", table.ProvisionedThroughput.WriteCapacityUnits) + d.Set("read_capacity", table.ProvisionedThroughput.ReadCapacityUnits) + + attributes := []interface{}{} + for _, attrdef := range table.AttributeDefinitions { + attribute := map[string]string{ + "name": *attrdef.AttributeName, + "type": *attrdef.AttributeType, + } + attributes = append(attributes, attribute) + } + + d.Set("attribute", attributes) + d.Set("name", table.TableName) + + for _, attribute := range table.KeySchema { + if *attribute.KeyType == dynamodb.KeyTypeHash { + d.Set("hash_key", attribute.AttributeName) + } + + if *attribute.KeyType == dynamodb.KeyTypeRange { + d.Set("range_key", attribute.AttributeName) + } + } + + lsiList := make([]map[string]interface{}, 0, len(table.LocalSecondaryIndexes)) + for _, lsiObject := range table.LocalSecondaryIndexes { + lsi := map[string]interface{}{ + "name": *lsiObject.IndexName, + "projection_type": *lsiObject.Projection.ProjectionType, + } + + for _, attribute := range lsiObject.KeySchema { + + if *attribute.KeyType == dynamodb.KeyTypeRange { + lsi["range_key"] = *attribute.AttributeName + } + } + nkaList := make([]string, len(lsiObject.Projection.NonKeyAttributes)) + for _, nka := range lsiObject.Projection.NonKeyAttributes { + nkaList = append(nkaList, *nka) + } + lsi["non_key_attributes"] = nkaList + + lsiList = append(lsiList, lsi) + } + + err := d.Set("local_secondary_index", lsiList) + if err != nil { + return err + } + + gsiList := make([]map[string]interface{}, 0, len(table.GlobalSecondaryIndexes)) + for _, gsiObject := range table.GlobalSecondaryIndexes { + gsi := map[string]interface{}{ + "write_capacity": *gsiObject.ProvisionedThroughput.WriteCapacityUnits, + "read_capacity": *gsiObject.ProvisionedThroughput.ReadCapacityUnits, + "name": *gsiObject.IndexName, + } + + for _, attribute := range gsiObject.KeySchema { + if *attribute.KeyType == dynamodb.KeyTypeHash { + gsi["hash_key"] = *attribute.AttributeName + } + + if *attribute.KeyType == dynamodb.KeyTypeRange { + gsi["range_key"] = *attribute.AttributeName + } + } + + gsi["projection_type"] = *(gsiObject.Projection.ProjectionType) + + nonKeyAttrs := make([]string, 0, len(gsiObject.Projection.NonKeyAttributes)) + for _, nonKeyAttr := range gsiObject.Projection.NonKeyAttributes { + nonKeyAttrs = append(nonKeyAttrs, *nonKeyAttr) + } + gsi["non_key_attributes"] = nonKeyAttrs + + gsiList = append(gsiList, gsi) + } + + if table.StreamSpecification != nil { + d.Set("stream_view_type", table.StreamSpecification.StreamViewType) + d.Set("stream_enabled", table.StreamSpecification.StreamEnabled) + d.Set("stream_arn", table.LatestStreamArn) + d.Set("stream_label", table.LatestStreamLabel) + } + + err = d.Set("global_secondary_index", gsiList) + if err != nil { + return err + } + + d.Set("arn", table.TableArn) + + return nil +} + +func expandDynamoDbAttributes(cfg []interface{}) []*dynamodb.AttributeDefinition { + attributes := make([]*dynamodb.AttributeDefinition, len(cfg), len(cfg)) + for i, attribute := range cfg { + attr := attribute.(map[string]interface{}) + attributes[i] = &dynamodb.AttributeDefinition{ + AttributeName: aws.String(attr["name"].(string)), + AttributeType: aws.String(attr["type"].(string)), + } + } + return attributes +} + +// TODO: Get rid of keySchemaM - the user should just explicitely define +// this in the config, we shouldn't magically be setting it like this. +// Removal will however require config change, hence BC. :/ +func expandDynamoDbLocalSecondaryIndexes(cfg []interface{}, keySchemaM map[string]interface{}) []*dynamodb.LocalSecondaryIndex { + indexes := make([]*dynamodb.LocalSecondaryIndex, len(cfg), len(cfg)) + for i, lsi := range cfg { + m := lsi.(map[string]interface{}) + idxName := m["name"].(string) + + // TODO: See https://github.com/terraform-providers/terraform-provider-aws/issues/3176 + if _, ok := m["hash_key"]; !ok { + m["hash_key"] = keySchemaM["hash_key"] + } + + indexes[i] = &dynamodb.LocalSecondaryIndex{ + IndexName: aws.String(idxName), + KeySchema: expandDynamoDbKeySchema(m), + Projection: expandDynamoDbProjection(m), + } + } + return indexes +} + +func expandDynamoDbGlobalSecondaryIndex(data map[string]interface{}) *dynamodb.GlobalSecondaryIndex { + return &dynamodb.GlobalSecondaryIndex{ + IndexName: aws.String(data["name"].(string)), + KeySchema: expandDynamoDbKeySchema(data), + Projection: expandDynamoDbProjection(data), + ProvisionedThroughput: expandDynamoDbProvisionedThroughput(data), + } +} + +func expandDynamoDbProvisionedThroughput(data map[string]interface{}) *dynamodb.ProvisionedThroughput { + return &dynamodb.ProvisionedThroughput{ + WriteCapacityUnits: aws.Int64(int64(data["write_capacity"].(int))), + ReadCapacityUnits: aws.Int64(int64(data["read_capacity"].(int))), + } +} + +func expandDynamoDbProjection(data map[string]interface{}) *dynamodb.Projection { + projection := &dynamodb.Projection{ + ProjectionType: aws.String(data["projection_type"].(string)), + } + + if v, ok := data["non_key_attributes"].([]interface{}); ok && len(v) > 0 { + projection.NonKeyAttributes = expandStringList(v) + } + + return projection +} + +func expandDynamoDbKeySchema(data map[string]interface{}) []*dynamodb.KeySchemaElement { + keySchema := []*dynamodb.KeySchemaElement{} + + if v, ok := data["hash_key"]; ok && v != nil && v != "" { + keySchema = append(keySchema, &dynamodb.KeySchemaElement{ + AttributeName: aws.String(v.(string)), + KeyType: aws.String(dynamodb.KeyTypeHash), + }) + } + + if v, ok := data["range_key"]; ok && v != nil && v != "" { + keySchema = append(keySchema, &dynamodb.KeySchemaElement{ + AttributeName: aws.String(v.(string)), + KeyType: aws.String(dynamodb.KeyTypeRange), + }) + } + + return keySchema +} diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/tags.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/tags.go index 46438c0fd4ab..7a4bfdef1747 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/tags.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/tags.go @@ -333,53 +333,49 @@ func tagsFromMapDynamoDb(m map[string]interface{}) []*dynamodb.Tag { // method from the ec2 tag resource handling. Also the `UntagResource` method // for dynamoDB only requires a list of tag keys, instead of the full map of keys. func setTagsDynamoDb(conn *dynamodb.DynamoDB, d *schema.ResourceData) error { - if d.HasChange("tags") { - arn := d.Get("arn").(string) - oraw, nraw := d.GetChange("tags") - o := oraw.(map[string]interface{}) - n := nraw.(map[string]interface{}) - create, remove := diffTagsDynamoDb(tagsFromMapDynamoDb(o), tagsFromMapDynamoDb(n)) - - // Set tags - if len(remove) > 0 { - err := resource.Retry(2*time.Minute, func() *resource.RetryError { - log.Printf("[DEBUG] Removing tags: %#v from %s", remove, d.Id()) - _, err := conn.UntagResource(&dynamodb.UntagResourceInput{ - ResourceArn: aws.String(arn), - TagKeys: remove, - }) - if err != nil { - ec2err, ok := err.(awserr.Error) - if ok && strings.Contains(ec2err.Code(), "ResourceNotFoundException") { - return resource.RetryableError(err) // retry - } - return resource.NonRetryableError(err) - } - return nil + arn := d.Get("arn").(string) + oraw, nraw := d.GetChange("tags") + o := oraw.(map[string]interface{}) + n := nraw.(map[string]interface{}) + create, remove := diffTagsDynamoDb(tagsFromMapDynamoDb(o), tagsFromMapDynamoDb(n)) + + // Set tags + if len(remove) > 0 { + err := resource.Retry(2*time.Minute, func() *resource.RetryError { + log.Printf("[DEBUG] Removing tags: %#v from %s", remove, d.Id()) + _, err := conn.UntagResource(&dynamodb.UntagResourceInput{ + ResourceArn: aws.String(arn), + TagKeys: remove, }) if err != nil { - return err + if isAWSErr(err, dynamodb.ErrCodeResourceNotFoundException, "") { + return resource.RetryableError(err) + } + return resource.NonRetryableError(err) } + return nil + }) + if err != nil { + return err } - if len(create) > 0 { - err := resource.Retry(2*time.Minute, func() *resource.RetryError { - log.Printf("[DEBUG] Creating tags: %s for %s", create, d.Id()) - _, err := conn.TagResource(&dynamodb.TagResourceInput{ - ResourceArn: aws.String(arn), - Tags: create, - }) - if err != nil { - ec2err, ok := err.(awserr.Error) - if ok && strings.Contains(ec2err.Code(), "ResourceNotFoundException") { - return resource.RetryableError(err) // retry - } - return resource.NonRetryableError(err) - } - return nil + } + if len(create) > 0 { + err := resource.Retry(2*time.Minute, func() *resource.RetryError { + log.Printf("[DEBUG] Creating tags: %s for %s", create, d.Id()) + _, err := conn.TagResource(&dynamodb.TagResourceInput{ + ResourceArn: aws.String(arn), + Tags: create, }) if err != nil { - return err + if isAWSErr(err, dynamodb.ErrCodeResourceNotFoundException, "") { + return resource.RetryableError(err) + } + return resource.NonRetryableError(err) } + return nil + }) + if err != nil { + return err } } diff --git a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/validators.go b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/validators.go index 27d78008712c..fdcfa1701ae6 100644 --- a/vendor/github.com/terraform-providers/terraform-provider-aws/aws/validators.go +++ b/vendor/github.com/terraform-providers/terraform-provider-aws/aws/validators.go @@ -9,8 +9,10 @@ import ( "time" "github.com/aws/aws-sdk-go/service/apigateway" + "github.com/aws/aws-sdk-go/service/applicationautoscaling" "github.com/aws/aws-sdk-go/service/cognitoidentity" "github.com/aws/aws-sdk-go/service/cognitoidentityprovider" + "github.com/aws/aws-sdk-go/service/gamelift" "github.com/aws/aws-sdk-go/service/s3" "github.com/hashicorp/terraform/helper/schema" "github.com/hashicorp/terraform/helper/structure" @@ -892,6 +894,19 @@ func validateAwsEcsPlacementConstraint(constType, constExpr string) error { return nil } +// http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateGlobalTable.html +func validateAwsDynamoDbGlobalTableName(v interface{}, k string) (ws []string, errors []error) { + value := v.(string) + if (len(value) > 255) || (len(value) < 3) { + errors = append(errors, fmt.Errorf("%s length must be between 3 and 255 characters: %q", k, value)) + } + pattern := `^[a-zA-Z0-9_.-]+$` + if !regexp.MustCompile(pattern).MatchString(value) { + errors = append(errors, fmt.Errorf("%s must only include alphanumeric, underscore, period, or hyphen characters: %q", k, value)) + } + return +} + // Validates that an Ecs placement strategy is set correctly // Takes type, and field as strings func validateAwsEcsPlacementStrategy(stratType, stratField string) error { @@ -948,6 +963,20 @@ func validateAwsEmrInstanceGroupRole(v interface{}, k string) (ws []string, erro return } +func validateAwsEmrCustomAmiId(v interface{}, k string) (ws []string, errors []error) { + value := v.(string) + if len(value) > 256 { + errors = append(errors, fmt.Errorf("%q cannot be longer than 256 characters", k)) + } + + if !regexp.MustCompile(`^ami\-[a-z0-9]+$`).MatchString(value) { + errors = append(errors, fmt.Errorf( + "%q must begin with 'ami-' and be comprised of only [a-z0-9]: %v", k, value)) + } + + return +} + func validateSfnActivityName(v interface{}, k string) (ws []string, errors []error) { value := v.(string) if len(value) > 80 { @@ -1125,8 +1154,16 @@ func validateAppautoscalingCustomizedMetricSpecificationStatistic(v interface{}, func validateAppautoscalingPredefinedMetricSpecification(v interface{}, k string) (ws []string, errors []error) { validMetrics := []string{ - "DynamoDBReadCapacityUtilization", - "DynamoDBWriteCapacityUtilization", + applicationautoscaling.MetricTypeAlbrequestCountPerTarget, + applicationautoscaling.MetricTypeDynamoDbreadCapacityUtilization, + applicationautoscaling.MetricTypeDynamoDbwriteCapacityUtilization, + applicationautoscaling.MetricTypeEc2spotFleetRequestAverageCpuutilization, + applicationautoscaling.MetricTypeEc2spotFleetRequestAverageNetworkIn, + applicationautoscaling.MetricTypeEc2spotFleetRequestAverageNetworkOut, + applicationautoscaling.MetricTypeEcsserviceAverageCpuutilization, + applicationautoscaling.MetricTypeEcsserviceAverageMemoryUtilization, + applicationautoscaling.MetricTypeRdsreaderAverageCpuutilization, + applicationautoscaling.MetricTypeRdsreaderAverageDatabaseConnections, } metric := v.(string) for _, o := range validMetrics { @@ -2083,3 +2120,16 @@ func validateServiceDiscoveryServiceHealthCheckConfigType(v interface{}, k strin errors = append(errors, fmt.Errorf("expected %s to be one of %v, got %s", k, validType, value)) return } + +func validateGameliftOperatingSystem(v interface{}, k string) (ws []string, errors []error) { + value := v.(string) + operatingSystems := map[string]bool{ + gamelift.OperatingSystemAmazonLinux: true, + gamelift.OperatingSystemWindows2012: true, + } + + if !operatingSystems[value] { + errors = append(errors, fmt.Errorf("%q must be a valid operating system value: %q", k, value)) + } + return +} diff --git a/vendor/vendor.json b/vendor/vendor.json index a0706f836c35..2eba9d914ac9 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -261,736 +261,756 @@ "revisionTime": "2016-01-15T23:47:25Z" }, { - "checksumSHA1": "s4OiIOYhXiesEXjwmg1scSc0//o=", + "checksumSHA1": "3qbWQO79tzfxr3IXc5P/l0XbVaI=", "path": "github.com/aws/aws-sdk-go/aws", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "DtuTqKH29YnLjrIJkRYX0HQtXY0=", "path": "github.com/aws/aws-sdk-go/aws/arn", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "Y9W+4GimK4Fuxq+vyIskVYFRnX4=", "path": "github.com/aws/aws-sdk-go/aws/awserr", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "yyYr41HZ1Aq0hWc3J5ijXwYEcac=", "path": "github.com/aws/aws-sdk-go/aws/awsutil", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "9nE/FjZ4pYrT883KtV2/aI+Gayo=", "path": "github.com/aws/aws-sdk-go/aws/client", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "ieAJ+Cvp/PKv1LpUEnUXpc3OI6E=", "path": "github.com/aws/aws-sdk-go/aws/client/metadata", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "7/8j/q0TWtOgXyvEcv4B2Dhl00o=", "path": "github.com/aws/aws-sdk-go/aws/corehandlers", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "Y+cPwQL0dZMyqp3wI+KJWmA9KQ8=", "path": "github.com/aws/aws-sdk-go/aws/credentials", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "u3GOAJLmdvbuNUeUEcZSEAOeL/0=", "path": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "NUJUTWlc1sV8b7WjfiYc4JZbXl0=", "path": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "JEYqmF83O5n5bHkupAzA6STm0no=", "path": "github.com/aws/aws-sdk-go/aws/credentials/stscreds", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "OnU/n7R33oYXiB4SAGd5pK7I0Bs=", "path": "github.com/aws/aws-sdk-go/aws/defaults", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "/EXbk/z2TWjWc1Hvb4QYs3Wmhb8=", "path": "github.com/aws/aws-sdk-go/aws/ec2metadata", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "BT2+PhuOjbAuMcLpdop0FKQY5EY=", + "checksumSHA1": "QzwFDjKBl8XUPtQ3Sgd7+rRestk=", "path": "github.com/aws/aws-sdk-go/aws/endpoints", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "9GvAyILJ7g+VUg8Ef5DsT5GuYsg=", + "checksumSHA1": "657ICMok3uC5dm5e9bKcVF2HaxE=", "path": "github.com/aws/aws-sdk-go/aws/request", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "HcGL4e6Uep4/80eCUI5xkcWjpQ0=", "path": "github.com/aws/aws-sdk-go/aws/session", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "iU00ZjhAml/13g+1YXT21IqoXqg=", "path": "github.com/aws/aws-sdk-go/aws/signer/v4", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "04ypv4x12l4q0TksA1zEVsmgpvw=", "path": "github.com/aws/aws-sdk-go/internal/shareddefaults", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "NStHCXEvYqG72GknZyv1jaKaeH0=", "path": "github.com/aws/aws-sdk-go/private/protocol", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "1QmQ3FqV37w0Zi44qv8pA1GeR0A=", "path": "github.com/aws/aws-sdk-go/private/protocol/ec2query", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "yHfT5DTbeCLs4NE2Rgnqrhe15ls=", "path": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "R00RL5jJXRYq1iiK1+PGvMfvXyM=", "path": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "ZqY5RWavBLWTo6j9xqdyBEaNFRk=", "path": "github.com/aws/aws-sdk-go/private/protocol/query", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "9V1PvtFQ9MObZTc3sa86WcuOtOU=", "path": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "pkeoOfZpHRvFG/AOZeTf0lwtsFg=", "path": "github.com/aws/aws-sdk-go/private/protocol/rest", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "Rpu8KBtHZgvhkwHxUfaky+qW+G4=", "path": "github.com/aws/aws-sdk-go/private/protocol/restjson", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "ODo+ko8D6unAxZuN1jGzMcN4QCc=", "path": "github.com/aws/aws-sdk-go/private/protocol/restxml", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "0qYPUga28aQVkxZgBR3Z86AbGUQ=", "path": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "F6mth+G7dXN1GI+nktaGo8Lx8aE=", "path": "github.com/aws/aws-sdk-go/private/signer/v2", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "vnYDXA1NxJ7Hu+DMfXNk1UnmkWg=", "path": "github.com/aws/aws-sdk-go/service/acm", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "DPl/OkvEUjrd+XKqX73l6nUNw3U=", "path": "github.com/aws/aws-sdk-go/service/apigateway", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "X8tOI6i+RJwXIgg1qBjDNclyG/0=", + "checksumSHA1": "CW7pEkPsi8CNAAP4OQIblGUHgis=", "path": "github.com/aws/aws-sdk-go/service/applicationautoscaling", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "oBXDw1zQTfxcKsK3ZjtKcS7gBLI=", "path": "github.com/aws/aws-sdk-go/service/athena", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "ITAwWyJp4t9AGfUXm9M3pFWTHVA=", "path": "github.com/aws/aws-sdk-go/service/autoscaling", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "Zz8qI6RloveM1zrXAglLxJZT1ZA=", "path": "github.com/aws/aws-sdk-go/service/batch", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "6gM3CZZgiB0JvS7EK1c31Q8L09U=", "path": "github.com/aws/aws-sdk-go/service/cloudformation", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "T80IDetBz1hqJpq5Wqmx3MwCh8w=", "path": "github.com/aws/aws-sdk-go/service/cloudfront", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "bYrI9mxspB0xDFZEy3OIfWuez5g=", "path": "github.com/aws/aws-sdk-go/service/cloudtrail", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "oB+M+kOmYG28V0PuI75IF6E+/w8=", "path": "github.com/aws/aws-sdk-go/service/cloudwatch", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "Nc3vXlV7s309PprScYpRDPQWeDQ=", "path": "github.com/aws/aws-sdk-go/service/cloudwatchevents", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "bPh7NF3mLpGMV0rIakolMPHqMyw=", "path": "github.com/aws/aws-sdk-go/service/cloudwatchlogs", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "P6qyaFX9X6Nnvm3avLigjmjfYds=", + "checksumSHA1": "GyuNxzdK9oSY6jMfmoqNx6tuCrk=", "path": "github.com/aws/aws-sdk-go/service/codebuild", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "7nW1Ho2X3RcUU8FaFBhJIUeuDNw=", "path": "github.com/aws/aws-sdk-go/service/codecommit", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "+petAU2sPfykSoVBAitmGxvGOlw=", "path": "github.com/aws/aws-sdk-go/service/codedeploy", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "LKw7fnNwq17Eqy0clzS/LK89vS4=", "path": "github.com/aws/aws-sdk-go/service/codepipeline", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "aXh1KIbNX+g+tH+lh3pk++9lm3k=", "path": "github.com/aws/aws-sdk-go/service/cognitoidentity", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "IWi9xZz+OncotjM/vJ87Iffg2Qk=", "path": "github.com/aws/aws-sdk-go/service/cognitoidentityprovider", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "56F6Stg8hQ1kxiAEzqB0TDctW9k=", "path": "github.com/aws/aws-sdk-go/service/configservice", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "hYCwLQdIjHj8rMHLGVyUVhecI4s=", "path": "github.com/aws/aws-sdk-go/service/databasemigrationservice", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "26CWoHQP/dyL2VzE5ZNd8zNzhko=", + "checksumSHA1": "uGQnGyJS3cyOFwZA51eilwLVgtk=", "path": "github.com/aws/aws-sdk-go/service/devicefarm", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "6g94rUHAgjcqMMTtMqKUbLU37wY=", "path": "github.com/aws/aws-sdk-go/service/directconnect", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "edM36y+5lmI7Hne0/38qapLzGO4=", "path": "github.com/aws/aws-sdk-go/service/directoryservice", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "0TXXUPjrbOCHpX555B6suH36Nnk=", "path": "github.com/aws/aws-sdk-go/service/dynamodb", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "INaeHZ2L5x6RlrcQBm4q1hFqNRM=", + "checksumSHA1": "4igS6faf4hrhDj6Jj9ErVcN1qKo=", "path": "github.com/aws/aws-sdk-go/service/ec2", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "uEv9kkBsVIjg7K4+Y8TVlU0Cc8o=", "path": "github.com/aws/aws-sdk-go/service/ecr", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "3B3RtWG7IY9qhFhWGEwroeMxnPI=", "path": "github.com/aws/aws-sdk-go/service/ecs", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "eoM9nF5iVMbuGOmkY33d19aHt8Y=", "path": "github.com/aws/aws-sdk-go/service/efs", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "dU5MPXUUOYD/E9sNncpFZ/U86Cw=", "path": "github.com/aws/aws-sdk-go/service/elasticache", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "pj8mBWT3HE0Iid6HSmhw7lmyZDU=", "path": "github.com/aws/aws-sdk-go/service/elasticbeanstalk", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "VYGtTaSiajfKOVTbi9/SNmbiIac=", "path": "github.com/aws/aws-sdk-go/service/elasticsearchservice", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "SZ7yLDZ6RvMhpWe0Goyem64kgyA=", "path": "github.com/aws/aws-sdk-go/service/elastictranscoder", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "WYqHhdRNsiGGBLWlBLbOItZf+zA=", + "checksumSHA1": "qq+fTzQmiq0tCYK/90A0s5pVurM=", "path": "github.com/aws/aws-sdk-go/service/elb", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "ae7VWg/xuXpnSD6wGumN44qEd+Q=", + "checksumSHA1": "E9GRArYlztF98yBDHBTvdD+NIkc=", "path": "github.com/aws/aws-sdk-go/service/elbv2", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "NbkH6F+792jQ7BW4lGCb+vJVw58=", "path": "github.com/aws/aws-sdk-go/service/emr", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "5btWHj2fZrPc/zfYdJLPaOcivxI=", "path": "github.com/aws/aws-sdk-go/service/firehose", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" + }, + { + "checksumSHA1": "Rodm1XwZ9Ncah1NLHep0behQpXg=", + "path": "github.com/aws/aws-sdk-go/service/gamelift", + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "oDoGvSfmO2Z099ixV2HXn+SDeHE=", "path": "github.com/aws/aws-sdk-go/service/glacier", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "HRmbBf3dUEBAfdC2xKaoWAGeM7Y=", + "checksumSHA1": "mJb6yp7wP+gyUQY+CFbbRkWEv1U=", "path": "github.com/aws/aws-sdk-go/service/glue", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "6JlxJoy1JCArNK2qBkaJ5IV6qBc=", + "checksumSHA1": "AFJ17uATPFQ6oUrtN5qZ+DEDncw=", "path": "github.com/aws/aws-sdk-go/service/guardduty", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "oZaxMqnwl2rA+V/W0tJ3uownORI=", "path": "github.com/aws/aws-sdk-go/service/iam", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "nMdRXIfhgvEKBHnLX61Ze3EUJWU=", "path": "github.com/aws/aws-sdk-go/service/inspector", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "pZwCI4DpP5hcMa/ItKhiwo/ukd0=", "path": "github.com/aws/aws-sdk-go/service/iot", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "IoSyRZhlL0petrB28nXk5jKM9YA=", "path": "github.com/aws/aws-sdk-go/service/kinesis", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "JOfgA6YehzwZ/4Mgh+3lY/+Gz3E=", "path": "github.com/aws/aws-sdk-go/service/kms", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "XDVse9fKF0RkAywzzgsO31AV4oc=", + "checksumSHA1": "ybcV5s7X4jsDPiBy1fj1Hlm0hrc=", "path": "github.com/aws/aws-sdk-go/service/lambda", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "wjs9YBsHx0YQH0zKBA7Ibd1UV5Y=", "path": "github.com/aws/aws-sdk-go/service/lightsail", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "QjiIL8LrlhwrQw8FboF+wMNvUF0=", "path": "github.com/aws/aws-sdk-go/service/mediastore", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "ynB7Flcudp0VOqBVKZJ+23DtLHU=", "path": "github.com/aws/aws-sdk-go/service/mq", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "fpsBu+F79ktlLRwal1GugVMUDo0=", "path": "github.com/aws/aws-sdk-go/service/opsworks", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "IddJCt5BrI6zRuUpFJqqnS9qrIM=", + "checksumSHA1": "+crsKabDoPzW0xaccqXP9T5h41s=", "path": "github.com/aws/aws-sdk-go/service/rds", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "vP1FcccUZbuUlin7ME89w1GVJtA=", "path": "github.com/aws/aws-sdk-go/service/redshift", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "fgSXmayOZRgur/41Gp1tFvH0GGg=", "path": "github.com/aws/aws-sdk-go/service/route53", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "sCaHoPWsJXRHFbilUKwN71qFTOI=", "path": "github.com/aws/aws-sdk-go/service/s3", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "QZU8vR9cOIenYiH+Ywl4Gzfnlp0=", "path": "github.com/aws/aws-sdk-go/service/servicecatalog", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "dk6ebvA0EYgdPyc5HPKLBPEtsm4=", "path": "github.com/aws/aws-sdk-go/service/servicediscovery", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "Ex1Ma0SFGpqeNuPbeXZtsliZ3zo=", "path": "github.com/aws/aws-sdk-go/service/ses", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "maVXeR3WDAkONlzf04e4mDgCYxo=", "path": "github.com/aws/aws-sdk-go/service/sfn", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "B3CgAFSREebpsFoFOo4vrQ6u04w=", "path": "github.com/aws/aws-sdk-go/service/simpledb", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "FfY8w4DM8XIULdRnFhd3Um8Mj8c=", "path": "github.com/aws/aws-sdk-go/service/sns", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "Wx189wAbIhWChx4kVbvsyqKMF4U=", "path": "github.com/aws/aws-sdk-go/service/sqs", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { - "checksumSHA1": "Al7CCaQRNd22FwUZXigUEWN820M=", + "checksumSHA1": "Ka9/jYIzdeR4/b8IHXigYe5LvZk=", "path": "github.com/aws/aws-sdk-go/service/ssm", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "W1oFtpaT4TWIIJrAvFcn/XdcT7g=", "path": "github.com/aws/aws-sdk-go/service/sts", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "on6d7Hydx2bM9jkFOf1JZcZZgeY=", "path": "github.com/aws/aws-sdk-go/service/waf", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "rHqjsOndIR82gX5mSKybaRWf3UY=", "path": "github.com/aws/aws-sdk-go/service/wafregional", - "revision": "17f7ac9bc37dfdc9dbe19a7247f194e714426f90", - "revisionTime": "2018-01-09T22:51:22Z", - "version": "=v1.12.27", - "versionExact": "v1.12.27" + "revision": "1b176c5c6b57adb03bb982c21930e708ebca5a77", + "revisionTime": "2018-01-26T22:46:47Z", + "version": "v1.12.70", + "versionExact": "v1.12.70" }, { "checksumSHA1": "usT4LCSQItkFvFOQT7cBlkCuGaE=", @@ -2140,16 +2160,20 @@ "revisionTime": "2016-09-27T10:08:44Z" }, { - "checksumSHA1": "ajxC5i82d4El7r8PhXLvrm4SvlQ=", + "checksumSHA1": "5ZT/lsGfrt4BKyi2mLOKg4OUwnI=", "path": "github.com/terraform-providers/terraform-provider-aws", - "revision": "0d86b0e55c0cfb54f27d7a7607891423476eea09", - "revisionTime": "2018-01-25T09:37:54Z" + "revision": "8937a3a4e9d77c8089cf147861b604e3a2d8cf7e", + "revisionTime": "2018-01-29T14:56:01Z", + "version": "v1.8.0", + "versionExact": "v1.8.0" }, { - "checksumSHA1": "/MKSP3tusnK43qA/IqCwQE1njYE=", + "checksumSHA1": "14tQONjMFJtu11KjPPHCoVwjUts=", "path": "github.com/terraform-providers/terraform-provider-aws/aws", - "revision": "0d86b0e55c0cfb54f27d7a7607891423476eea09", - "revisionTime": "2018-01-25T09:37:54Z" + "revision": "8937a3a4e9d77c8089cf147861b604e3a2d8cf7e", + "revisionTime": "2018-01-29T14:56:01Z", + "version": "v1.8.0", + "versionExact": "v1.8.0" }, { "checksumSHA1": "7WDq0VsOJmABPUCEvfuerEp7mBg=",