diff --git a/go.mod b/go.mod index e6cdd9432f1..db2d198fb60 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/terraform-providers/terraform-provider-aws go 1.14 require ( - github.com/aws/aws-sdk-go v1.34.10 + github.com/aws/aws-sdk-go v1.34.13 github.com/beevik/etree v1.1.0 github.com/bflad/tfproviderdocs v0.7.0 github.com/bflad/tfproviderlint v0.18.0 diff --git a/go.sum b/go.sum index 67fe3fdf690..da6ccf44dd5 100644 --- a/go.sum +++ b/go.sum @@ -76,8 +76,8 @@ github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgI github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.34.10 h1:VU78gcf/3wA4HNEDCHidK738l7K0Bals4SJnfnvXOtY= -github.com/aws/aws-sdk-go v1.34.10/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.34.13 h1:wwNWSUh4FGJxXVOVVNj2lWI8wTe5hK8sGWlK7ziEcgg= +github.com/aws/aws-sdk-go v1.34.13/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= 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 b161d671d23..46583cd25f7 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 @@ -656,6 +656,26 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "appflow": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "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{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "application-autoscaling": service{ Defaults: endpoint{ Protocols: []string{"http", "https"}, @@ -3305,6 +3325,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -3697,6 +3718,7 @@ var awsPartition = partition{ "ap-northeast-2": endpoint{}, "ap-southeast-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, "us-east-1": endpoint{}, }, }, @@ -8092,12 +8114,14 @@ var awsusgovPartition = partition{ }, }, Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, }, "iotsecuredtunneling": service{ Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, }, 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 22304241875..950238ec221 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.34.10" +const SDKVersion = "1.34.13" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go index 7865c61b097..98f4caed91c 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go @@ -27,7 +27,7 @@ const ( // RFC3339 a subset of the ISO8601 timestamp format. e.g 2014-04-29T18:30:38Z ISO8601TimeFormat = "2006-01-02T15:04:05.999999999Z" - // This format is used for output time without seconds precision + // This format is used for output time with fractional second precision up to milliseconds ISO8601OutputTimeFormat = "2006-01-02T15:04:05.999999999Z" ) @@ -48,7 +48,7 @@ func IsKnownTimestampFormat(name string) bool { // FormatTime returns a string value of the time. func FormatTime(name string, t time.Time) string { - t = t.UTC() + t = t.UTC().Truncate(time.Millisecond) switch name { case RFC822TimeFormatName: diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go index c20e519f03a..8d66af6c338 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go @@ -1060,6 +1060,93 @@ func (c *CloudFront) CreateInvalidationWithContext(ctx aws.Context, input *Creat return out, req.Send() } +const opCreateMonitoringSubscription = "CreateMonitoringSubscription2020_05_31" + +// CreateMonitoringSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the CreateMonitoringSubscription operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 CreateMonitoringSubscription for more information on using the CreateMonitoringSubscription +// 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 CreateMonitoringSubscriptionRequest method. +// req, resp := client.CreateMonitoringSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateMonitoringSubscription +func (c *CloudFront) CreateMonitoringSubscriptionRequest(input *CreateMonitoringSubscriptionInput) (req *request.Request, output *CreateMonitoringSubscriptionOutput) { + op := &request.Operation{ + Name: opCreateMonitoringSubscription, + HTTPMethod: "POST", + HTTPPath: "/2020-05-31/distributions/{DistributionId}/monitoring-subscription", + } + + if input == nil { + input = &CreateMonitoringSubscriptionInput{} + } + + output = &CreateMonitoringSubscriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateMonitoringSubscription API operation for Amazon CloudFront. +// +// Enables additional CloudWatch metrics for the specified CloudFront distribution. +// The additional metrics incur an additional cost. +// +// For more information, see Viewing additional CloudFront distribution metrics +// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional) +// in the Amazon CloudFront Developer Guide. +// +// 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 CloudFront's +// API operation CreateMonitoringSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchDistribution "NoSuchDistribution" +// The specified distribution does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateMonitoringSubscription +func (c *CloudFront) CreateMonitoringSubscription(input *CreateMonitoringSubscriptionInput) (*CreateMonitoringSubscriptionOutput, error) { + req, out := c.CreateMonitoringSubscriptionRequest(input) + return out, req.Send() +} + +// CreateMonitoringSubscriptionWithContext is the same as CreateMonitoringSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMonitoringSubscription 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 *CloudFront) CreateMonitoringSubscriptionWithContext(ctx aws.Context, input *CreateMonitoringSubscriptionInput, opts ...request.Option) (*CreateMonitoringSubscriptionOutput, error) { + req, out := c.CreateMonitoringSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateOriginRequestPolicy = "CreateOriginRequestPolicy2020_05_31" // CreateOriginRequestPolicyRequest generates a "aws/request.Request" representing the @@ -2020,6 +2107,89 @@ func (c *CloudFront) DeleteFieldLevelEncryptionProfileWithContext(ctx aws.Contex return out, req.Send() } +const opDeleteMonitoringSubscription = "DeleteMonitoringSubscription2020_05_31" + +// DeleteMonitoringSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMonitoringSubscription operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 DeleteMonitoringSubscription for more information on using the DeleteMonitoringSubscription +// 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 DeleteMonitoringSubscriptionRequest method. +// req, resp := client.DeleteMonitoringSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteMonitoringSubscription +func (c *CloudFront) DeleteMonitoringSubscriptionRequest(input *DeleteMonitoringSubscriptionInput) (req *request.Request, output *DeleteMonitoringSubscriptionOutput) { + op := &request.Operation{ + Name: opDeleteMonitoringSubscription, + HTTPMethod: "DELETE", + HTTPPath: "/2020-05-31/distributions/{DistributionId}/monitoring-subscription", + } + + if input == nil { + input = &DeleteMonitoringSubscriptionInput{} + } + + output = &DeleteMonitoringSubscriptionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteMonitoringSubscription API operation for Amazon CloudFront. +// +// Disables additional CloudWatch metrics for the specified CloudFront distribution. +// +// 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 CloudFront's +// API operation DeleteMonitoringSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchDistribution "NoSuchDistribution" +// The specified distribution does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteMonitoringSubscription +func (c *CloudFront) DeleteMonitoringSubscription(input *DeleteMonitoringSubscriptionInput) (*DeleteMonitoringSubscriptionOutput, error) { + req, out := c.DeleteMonitoringSubscriptionRequest(input) + return out, req.Send() +} + +// DeleteMonitoringSubscriptionWithContext is the same as DeleteMonitoringSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteMonitoringSubscription 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 *CloudFront) DeleteMonitoringSubscriptionWithContext(ctx aws.Context, input *DeleteMonitoringSubscriptionInput, opts ...request.Option) (*DeleteMonitoringSubscriptionOutput, error) { + req, out := c.DeleteMonitoringSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteOriginRequestPolicy = "DeleteOriginRequestPolicy2020_05_31" // DeleteOriginRequestPolicyRequest generates a "aws/request.Request" representing the @@ -3268,6 +3438,89 @@ func (c *CloudFront) GetInvalidationWithContext(ctx aws.Context, input *GetInval return out, req.Send() } +const opGetMonitoringSubscription = "GetMonitoringSubscription2020_05_31" + +// GetMonitoringSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the GetMonitoringSubscription operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 GetMonitoringSubscription for more information on using the GetMonitoringSubscription +// 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 GetMonitoringSubscriptionRequest method. +// req, resp := client.GetMonitoringSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetMonitoringSubscription +func (c *CloudFront) GetMonitoringSubscriptionRequest(input *GetMonitoringSubscriptionInput) (req *request.Request, output *GetMonitoringSubscriptionOutput) { + op := &request.Operation{ + Name: opGetMonitoringSubscription, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/distributions/{DistributionId}/monitoring-subscription", + } + + if input == nil { + input = &GetMonitoringSubscriptionInput{} + } + + output = &GetMonitoringSubscriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMonitoringSubscription API operation for Amazon CloudFront. +// +// Gets information about whether additional CloudWatch metrics are enabled +// for the specified CloudFront distribution. +// +// 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 CloudFront's +// API operation GetMonitoringSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchDistribution "NoSuchDistribution" +// The specified distribution does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetMonitoringSubscription +func (c *CloudFront) GetMonitoringSubscription(input *GetMonitoringSubscriptionInput) (*GetMonitoringSubscriptionOutput, error) { + req, out := c.GetMonitoringSubscriptionRequest(input) + return out, req.Send() +} + +// GetMonitoringSubscriptionWithContext is the same as GetMonitoringSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See GetMonitoringSubscription 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 *CloudFront) GetMonitoringSubscriptionWithContext(ctx aws.Context, input *GetMonitoringSubscriptionInput, opts ...request.Option) (*GetMonitoringSubscriptionOutput, error) { + req, out := c.GetMonitoringSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetOriginRequestPolicy = "GetOriginRequestPolicy2020_05_31" // GetOriginRequestPolicyRequest generates a "aws/request.Request" representing the @@ -8621,6 +8874,91 @@ func (s *CreateInvalidationOutput) SetLocation(v string) *CreateInvalidationOutp return s } +type CreateMonitoringSubscriptionInput struct { + _ struct{} `locationName:"CreateMonitoringSubscriptionRequest" type:"structure" payload:"MonitoringSubscription"` + + // The ID of the distribution that you are enabling metrics for. + // + // DistributionId is a required field + DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` + + // A monitoring subscription. This structure contains information about whether + // additional CloudWatch metrics are enabled for a given CloudFront distribution. + // + // MonitoringSubscription is a required field + MonitoringSubscription *MonitoringSubscription `locationName:"MonitoringSubscription" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` +} + +// String returns the string representation +func (s CreateMonitoringSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMonitoringSubscriptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMonitoringSubscriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMonitoringSubscriptionInput"} + if s.DistributionId == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionId")) + } + if s.DistributionId != nil && len(*s.DistributionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) + } + if s.MonitoringSubscription == nil { + invalidParams.Add(request.NewErrParamRequired("MonitoringSubscription")) + } + if s.MonitoringSubscription != nil { + if err := s.MonitoringSubscription.Validate(); err != nil { + invalidParams.AddNested("MonitoringSubscription", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDistributionId sets the DistributionId field's value. +func (s *CreateMonitoringSubscriptionInput) SetDistributionId(v string) *CreateMonitoringSubscriptionInput { + s.DistributionId = &v + return s +} + +// SetMonitoringSubscription sets the MonitoringSubscription field's value. +func (s *CreateMonitoringSubscriptionInput) SetMonitoringSubscription(v *MonitoringSubscription) *CreateMonitoringSubscriptionInput { + s.MonitoringSubscription = v + return s +} + +type CreateMonitoringSubscriptionOutput struct { + _ struct{} `type:"structure" payload:"MonitoringSubscription"` + + // A monitoring subscription. This structure contains information about whether + // additional CloudWatch metrics are enabled for a given CloudFront distribution. + MonitoringSubscription *MonitoringSubscription `type:"structure"` +} + +// String returns the string representation +func (s CreateMonitoringSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMonitoringSubscriptionOutput) GoString() string { + return s.String() +} + +// SetMonitoringSubscription sets the MonitoringSubscription field's value. +func (s *CreateMonitoringSubscriptionOutput) SetMonitoringSubscription(v *MonitoringSubscription) *CreateMonitoringSubscriptionOutput { + s.MonitoringSubscription = v + return s +} + type CreateOriginRequestPolicyInput struct { _ struct{} `locationName:"CreateOriginRequestPolicyRequest" type:"structure" payload:"OriginRequestPolicyConfig"` @@ -10026,6 +10364,61 @@ func (s DeleteFieldLevelEncryptionProfileOutput) GoString() string { return s.String() } +type DeleteMonitoringSubscriptionInput struct { + _ struct{} `locationName:"DeleteMonitoringSubscriptionRequest" type:"structure"` + + // The ID of the distribution that you are disabling metrics for. + // + // DistributionId is a required field + DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteMonitoringSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteMonitoringSubscriptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMonitoringSubscriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMonitoringSubscriptionInput"} + if s.DistributionId == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionId")) + } + if s.DistributionId != nil && len(*s.DistributionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDistributionId sets the DistributionId field's value. +func (s *DeleteMonitoringSubscriptionInput) SetDistributionId(v string) *DeleteMonitoringSubscriptionInput { + s.DistributionId = &v + return s +} + +type DeleteMonitoringSubscriptionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteMonitoringSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteMonitoringSubscriptionOutput) GoString() string { + return s.String() +} + type DeleteOriginRequestPolicyInput struct { _ struct{} `locationName:"DeleteOriginRequestPolicyRequest" type:"structure"` @@ -13003,6 +13396,71 @@ func (s *GetInvalidationOutput) SetInvalidation(v *Invalidation) *GetInvalidatio return s } +type GetMonitoringSubscriptionInput struct { + _ struct{} `locationName:"GetMonitoringSubscriptionRequest" type:"structure"` + + // The ID of the distribution that you are getting metrics information for. + // + // DistributionId is a required field + DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetMonitoringSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMonitoringSubscriptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMonitoringSubscriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMonitoringSubscriptionInput"} + if s.DistributionId == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionId")) + } + if s.DistributionId != nil && len(*s.DistributionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDistributionId sets the DistributionId field's value. +func (s *GetMonitoringSubscriptionInput) SetDistributionId(v string) *GetMonitoringSubscriptionInput { + s.DistributionId = &v + return s +} + +type GetMonitoringSubscriptionOutput struct { + _ struct{} `type:"structure" payload:"MonitoringSubscription"` + + // A monitoring subscription. This structure contains information about whether + // additional CloudWatch metrics are enabled for a given CloudFront distribution. + MonitoringSubscription *MonitoringSubscription `type:"structure"` +} + +// String returns the string representation +func (s GetMonitoringSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMonitoringSubscriptionOutput) GoString() string { + return s.String() +} + +// SetMonitoringSubscription sets the MonitoringSubscription field's value. +func (s *GetMonitoringSubscriptionOutput) SetMonitoringSubscription(v *MonitoringSubscription) *GetMonitoringSubscriptionOutput { + s.MonitoringSubscription = v + return s +} + type GetOriginRequestPolicyConfigInput struct { _ struct{} `locationName:"GetOriginRequestPolicyConfigRequest" type:"structure"` @@ -14988,6 +15446,46 @@ func (s *LoggingConfig) SetPrefix(v string) *LoggingConfig { return s } +// A monitoring subscription. This structure contains information about whether +// additional CloudWatch metrics are enabled for a given CloudFront distribution. +type MonitoringSubscription struct { + _ struct{} `type:"structure"` + + // A subscription configuration for additional CloudWatch metrics. + RealtimeMetricsSubscriptionConfig *RealtimeMetricsSubscriptionConfig `type:"structure"` +} + +// String returns the string representation +func (s MonitoringSubscription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MonitoringSubscription) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MonitoringSubscription) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MonitoringSubscription"} + if s.RealtimeMetricsSubscriptionConfig != nil { + if err := s.RealtimeMetricsSubscriptionConfig.Validate(); err != nil { + invalidParams.AddNested("RealtimeMetricsSubscriptionConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRealtimeMetricsSubscriptionConfig sets the RealtimeMetricsSubscriptionConfig field's value. +func (s *MonitoringSubscription) SetRealtimeMetricsSubscriptionConfig(v *RealtimeMetricsSubscriptionConfig) *MonitoringSubscription { + s.RealtimeMetricsSubscriptionConfig = v + return s +} + // An origin. // // An origin is the location where content is stored, and from which CloudFront @@ -17110,6 +17608,46 @@ func (s *QueryStringNames) SetQuantity(v int64) *QueryStringNames { return s } +// A subscription configuration for additional CloudWatch metrics. +type RealtimeMetricsSubscriptionConfig struct { + _ struct{} `type:"structure"` + + // A flag that indicates whether additional CloudWatch metrics are enabled for + // a given CloudFront distribution. + // + // RealtimeMetricsSubscriptionStatus is a required field + RealtimeMetricsSubscriptionStatus *string `type:"string" required:"true" enum:"RealtimeMetricsSubscriptionStatus"` +} + +// String returns the string representation +func (s RealtimeMetricsSubscriptionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RealtimeMetricsSubscriptionConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RealtimeMetricsSubscriptionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RealtimeMetricsSubscriptionConfig"} + if s.RealtimeMetricsSubscriptionStatus == nil { + invalidParams.Add(request.NewErrParamRequired("RealtimeMetricsSubscriptionStatus")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRealtimeMetricsSubscriptionStatus sets the RealtimeMetricsSubscriptionStatus field's value. +func (s *RealtimeMetricsSubscriptionConfig) SetRealtimeMetricsSubscriptionStatus(v string) *RealtimeMetricsSubscriptionConfig { + s.RealtimeMetricsSubscriptionStatus = &v + return s +} + // A complex type that identifies ways in which you want to restrict distribution // of your content. type Restrictions struct { @@ -19794,6 +20332,22 @@ func PriceClass_Values() []string { } } +const ( + // RealtimeMetricsSubscriptionStatusEnabled is a RealtimeMetricsSubscriptionStatus enum value + RealtimeMetricsSubscriptionStatusEnabled = "Enabled" + + // RealtimeMetricsSubscriptionStatusDisabled is a RealtimeMetricsSubscriptionStatus enum value + RealtimeMetricsSubscriptionStatusDisabled = "Disabled" +) + +// RealtimeMetricsSubscriptionStatus_Values returns all elements of the RealtimeMetricsSubscriptionStatus enum +func RealtimeMetricsSubscriptionStatus_Values() []string { + return []string{ + RealtimeMetricsSubscriptionStatusEnabled, + RealtimeMetricsSubscriptionStatusDisabled, + } +} + const ( // SSLSupportMethodSniOnly is a SSLSupportMethod enum value SSLSupportMethodSniOnly = "sni-only" diff --git a/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go index 92f4fc59584..c9499e7729c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/costandusagereportservice/api.go @@ -413,7 +413,7 @@ func (c *CostandUsageReportService) PutReportDefinitionWithContext(ctx aws.Conte type DeleteReportDefinitionInput struct { _ struct{} `type:"structure"` - // The name of the report that you want to create. The name must be unique, + // The name of the report that you want to delete. The name must be unique, // is case sensitive, and can't include spaces. ReportName *string `type:"string"` } @@ -1078,20 +1078,14 @@ func (s *ValidationException) RequestID() string { // The region of the S3 bucket that AWS delivers the report into. const ( - // AWSRegionUsEast1 is a AWSRegion enum value - AWSRegionUsEast1 = "us-east-1" - - // AWSRegionUsWest1 is a AWSRegion enum value - AWSRegionUsWest1 = "us-west-1" + // AWSRegionAfSouth1 is a AWSRegion enum value + AWSRegionAfSouth1 = "af-south-1" - // AWSRegionUsWest2 is a AWSRegion enum value - AWSRegionUsWest2 = "us-west-2" - - // AWSRegionEuCentral1 is a AWSRegion enum value - AWSRegionEuCentral1 = "eu-central-1" + // AWSRegionApEast1 is a AWSRegion enum value + AWSRegionApEast1 = "ap-east-1" - // AWSRegionEuWest1 is a AWSRegion enum value - AWSRegionEuWest1 = "eu-west-1" + // AWSRegionApSouth1 is a AWSRegion enum value + AWSRegionApSouth1 = "ap-south-1" // AWSRegionApSoutheast1 is a AWSRegion enum value AWSRegionApSoutheast1 = "ap-southeast-1" @@ -1102,30 +1096,84 @@ const ( // AWSRegionApNortheast1 is a AWSRegion enum value AWSRegionApNortheast1 = "ap-northeast-1" - // AWSRegionEuNorth1 is a AWSRegion enum value - AWSRegionEuNorth1 = "eu-north-1" + // AWSRegionApNortheast2 is a AWSRegion enum value + AWSRegionApNortheast2 = "ap-northeast-2" // AWSRegionApNortheast3 is a AWSRegion enum value AWSRegionApNortheast3 = "ap-northeast-3" - // AWSRegionApEast1 is a AWSRegion enum value - AWSRegionApEast1 = "ap-east-1" + // AWSRegionCaCentral1 is a AWSRegion enum value + AWSRegionCaCentral1 = "ca-central-1" + + // AWSRegionEuCentral1 is a AWSRegion enum value + AWSRegionEuCentral1 = "eu-central-1" + + // AWSRegionEuWest1 is a AWSRegion enum value + AWSRegionEuWest1 = "eu-west-1" + + // AWSRegionEuWest2 is a AWSRegion enum value + AWSRegionEuWest2 = "eu-west-2" + + // AWSRegionEuWest3 is a AWSRegion enum value + AWSRegionEuWest3 = "eu-west-3" + + // AWSRegionEuNorth1 is a AWSRegion enum value + AWSRegionEuNorth1 = "eu-north-1" + + // AWSRegionEuSouth1 is a AWSRegion enum value + AWSRegionEuSouth1 = "eu-south-1" + + // AWSRegionMeSouth1 is a AWSRegion enum value + AWSRegionMeSouth1 = "me-south-1" + + // AWSRegionSaEast1 is a AWSRegion enum value + AWSRegionSaEast1 = "sa-east-1" + + // AWSRegionUsEast1 is a AWSRegion enum value + AWSRegionUsEast1 = "us-east-1" + + // AWSRegionUsEast2 is a AWSRegion enum value + AWSRegionUsEast2 = "us-east-2" + + // AWSRegionUsWest1 is a AWSRegion enum value + AWSRegionUsWest1 = "us-west-1" + + // AWSRegionUsWest2 is a AWSRegion enum value + AWSRegionUsWest2 = "us-west-2" + + // AWSRegionCnNorth1 is a AWSRegion enum value + AWSRegionCnNorth1 = "cn-north-1" + + // AWSRegionCnNorthwest1 is a AWSRegion enum value + AWSRegionCnNorthwest1 = "cn-northwest-1" ) // AWSRegion_Values returns all elements of the AWSRegion enum func AWSRegion_Values() []string { return []string{ - AWSRegionUsEast1, - AWSRegionUsWest1, - AWSRegionUsWest2, - AWSRegionEuCentral1, - AWSRegionEuWest1, + AWSRegionAfSouth1, + AWSRegionApEast1, + AWSRegionApSouth1, AWSRegionApSoutheast1, AWSRegionApSoutheast2, AWSRegionApNortheast1, - AWSRegionEuNorth1, + AWSRegionApNortheast2, AWSRegionApNortheast3, - AWSRegionApEast1, + AWSRegionCaCentral1, + AWSRegionEuCentral1, + AWSRegionEuWest1, + AWSRegionEuWest2, + AWSRegionEuWest3, + AWSRegionEuNorth1, + AWSRegionEuSouth1, + AWSRegionMeSouth1, + AWSRegionSaEast1, + AWSRegionUsEast1, + AWSRegionUsEast2, + AWSRegionUsWest1, + AWSRegionUsWest2, + AWSRegionCnNorth1, + AWSRegionCnNorthwest1, } } @@ -1224,6 +1272,9 @@ const ( // TimeUnitDaily is a TimeUnit enum value TimeUnitDaily = "DAILY" + + // TimeUnitMonthly is a TimeUnit enum value + TimeUnitMonthly = "MONTHLY" ) // TimeUnit_Values returns all elements of the TimeUnit enum @@ -1231,5 +1282,6 @@ func TimeUnit_Values() []string { return []string{ TimeUnitHourly, TimeUnitDaily, + TimeUnitMonthly, } } 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 78a6f143b5f..80bed4cb280 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 @@ -3737,7 +3737,7 @@ func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (r // Provides information to AWS about your VPN customer gateway device. The customer // gateway is the appliance at your end of the VPN connection. (The device on // the AWS side of the VPN connection is the virtual private gateway.) You must -// provide the Internet-routable IP address of the customer gateway's external +// provide the internet-routable IP address of the customer gateway's external // interface. The IP address must be static and can be behind a device performing // network address translation (NAT). // @@ -3746,9 +3746,16 @@ func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (r // ASN assigned to your network. If you don't have an ASN already, you can use // a private ASN (in the 64512 - 65534 range). // -// Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with -// the exception of 7224, which is reserved in the us-east-1 Region, and 9059, -// which is reserved in the eu-west-1 Region. +// Amazon EC2 supports all 4-byte ASN numbers in the range of 1 - 2147483647, +// with the exception of the following: +// +// * 7224 - reserved in the us-east-1 Region +// +// * 9059 - reserved in the eu-west-1 Region +// +// * 17943 - reserved in the ap-southeast-1 Region +// +// * 10124 - reserved in the ap-northeast-1 Region // // For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) // in the AWS Site-to-Site VPN User Guide. @@ -34174,6 +34181,85 @@ func (c *EC2) ModifyVpnConnectionWithContext(ctx aws.Context, input *ModifyVpnCo return out, req.Send() } +const opModifyVpnConnectionOptions = "ModifyVpnConnectionOptions" + +// ModifyVpnConnectionOptionsRequest generates a "aws/request.Request" representing the +// client's request for the ModifyVpnConnectionOptions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 ModifyVpnConnectionOptions for more information on using the ModifyVpnConnectionOptions +// 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 ModifyVpnConnectionOptionsRequest method. +// req, resp := client.ModifyVpnConnectionOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnectionOptions +func (c *EC2) ModifyVpnConnectionOptionsRequest(input *ModifyVpnConnectionOptionsInput) (req *request.Request, output *ModifyVpnConnectionOptionsOutput) { + op := &request.Operation{ + Name: opModifyVpnConnectionOptions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyVpnConnectionOptionsInput{} + } + + output = &ModifyVpnConnectionOptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyVpnConnectionOptions API operation for Amazon Elastic Compute Cloud. +// +// Modifies the connection options for your Site-to-Site VPN VPN connection. +// +// When you modify the VPN connection options, the VPN endpoint IP addresses +// on the AWS side do not change, and the tunnel options do not change. Your +// VPN connection will be temporarily unavailable for a brief period while the +// VPN connection is updated. +// +// 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 Elastic Compute Cloud's +// API operation ModifyVpnConnectionOptions for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnectionOptions +func (c *EC2) ModifyVpnConnectionOptions(input *ModifyVpnConnectionOptionsInput) (*ModifyVpnConnectionOptionsOutput, error) { + req, out := c.ModifyVpnConnectionOptionsRequest(input) + return out, req.Send() +} + +// ModifyVpnConnectionOptionsWithContext is the same as ModifyVpnConnectionOptions with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyVpnConnectionOptions 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 *EC2) ModifyVpnConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpnConnectionOptionsInput, opts ...request.Option) (*ModifyVpnConnectionOptionsOutput, error) { + req, out := c.ModifyVpnConnectionOptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyVpnTunnelCertificate = "ModifyVpnTunnelCertificate" // ModifyVpnTunnelCertificateRequest generates a "aws/request.Request" representing the @@ -93411,6 +93497,123 @@ func (s *ModifyVpnConnectionInput) SetVpnGatewayId(v string) *ModifyVpnConnectio return s } +type ModifyVpnConnectionOptionsInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection. + // + // Default: 0.0.0.0/0 + LocalIpv4NetworkCidr *string `type:"string"` + + // The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection. + // + // Default: ::/0 + LocalIpv6NetworkCidr *string `type:"string"` + + // The IPv4 CIDR on the AWS side of the VPN connection. + // + // Default: 0.0.0.0/0 + RemoteIpv4NetworkCidr *string `type:"string"` + + // The IPv6 CIDR on the AWS side of the VPN connection. + // + // Default: ::/0 + RemoteIpv6NetworkCidr *string `type:"string"` + + // The ID of the Site-to-Site VPN VPN connection. + // + // VpnConnectionId is a required field + VpnConnectionId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ModifyVpnConnectionOptionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyVpnConnectionOptionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyVpnConnectionOptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyVpnConnectionOptionsInput"} + if s.VpnConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("VpnConnectionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyVpnConnectionOptionsInput) SetDryRun(v bool) *ModifyVpnConnectionOptionsInput { + s.DryRun = &v + return s +} + +// SetLocalIpv4NetworkCidr sets the LocalIpv4NetworkCidr field's value. +func (s *ModifyVpnConnectionOptionsInput) SetLocalIpv4NetworkCidr(v string) *ModifyVpnConnectionOptionsInput { + s.LocalIpv4NetworkCidr = &v + return s +} + +// SetLocalIpv6NetworkCidr sets the LocalIpv6NetworkCidr field's value. +func (s *ModifyVpnConnectionOptionsInput) SetLocalIpv6NetworkCidr(v string) *ModifyVpnConnectionOptionsInput { + s.LocalIpv6NetworkCidr = &v + return s +} + +// SetRemoteIpv4NetworkCidr sets the RemoteIpv4NetworkCidr field's value. +func (s *ModifyVpnConnectionOptionsInput) SetRemoteIpv4NetworkCidr(v string) *ModifyVpnConnectionOptionsInput { + s.RemoteIpv4NetworkCidr = &v + return s +} + +// SetRemoteIpv6NetworkCidr sets the RemoteIpv6NetworkCidr field's value. +func (s *ModifyVpnConnectionOptionsInput) SetRemoteIpv6NetworkCidr(v string) *ModifyVpnConnectionOptionsInput { + s.RemoteIpv6NetworkCidr = &v + return s +} + +// SetVpnConnectionId sets the VpnConnectionId field's value. +func (s *ModifyVpnConnectionOptionsInput) SetVpnConnectionId(v string) *ModifyVpnConnectionOptionsInput { + s.VpnConnectionId = &v + return s +} + +type ModifyVpnConnectionOptionsOutput struct { + _ struct{} `type:"structure"` + + // Describes a VPN connection. + VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"` +} + +// String returns the string representation +func (s ModifyVpnConnectionOptionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyVpnConnectionOptionsOutput) GoString() string { + return s.String() +} + +// SetVpnConnection sets the VpnConnection field's value. +func (s *ModifyVpnConnectionOptionsOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnConnectionOptionsOutput { + s.VpnConnection = v + return s +} + type ModifyVpnConnectionOutput struct { _ struct{} `type:"structure"` @@ -93626,6 +93829,14 @@ func (s *ModifyVpnTunnelOptionsOutput) SetVpnConnection(v *VpnConnection) *Modif type ModifyVpnTunnelOptionsSpecification struct { _ struct{} `type:"structure"` + // The action to take after DPD timeout occurs. Specify restart to restart the + // IKE initiation. Specify clear to end the IKE session. + // + // Valid Values: clear | none | restart + // + // Default: clear + DPDTimeoutAction *string `type:"string"` + // The number of seconds after which a DPD timeout occurs. // // Constraints: A value between 0 and 30. @@ -93721,6 +93932,15 @@ type ModifyVpnTunnelOptionsSpecification struct { // Default: 1024 ReplayWindowSize *int64 `type:"integer"` + // The action to take when the establishing the tunnel for the VPN connection. + // By default, your customer gateway device must initiate the IKE negotiation + // and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation. + // + // Valid Values: add | start + // + // Default: add + StartupAction *string `type:"string"` + // The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks // must be unique across all VPN connections that use the same virtual private // gateway. @@ -93760,6 +93980,12 @@ func (s ModifyVpnTunnelOptionsSpecification) GoString() string { return s.String() } +// SetDPDTimeoutAction sets the DPDTimeoutAction field's value. +func (s *ModifyVpnTunnelOptionsSpecification) SetDPDTimeoutAction(v string) *ModifyVpnTunnelOptionsSpecification { + s.DPDTimeoutAction = &v + return s +} + // SetDPDTimeoutSeconds sets the DPDTimeoutSeconds field's value. func (s *ModifyVpnTunnelOptionsSpecification) SetDPDTimeoutSeconds(v int64) *ModifyVpnTunnelOptionsSpecification { s.DPDTimeoutSeconds = &v @@ -93844,6 +94070,12 @@ func (s *ModifyVpnTunnelOptionsSpecification) SetReplayWindowSize(v int64) *Modi return s } +// SetStartupAction sets the StartupAction field's value. +func (s *ModifyVpnTunnelOptionsSpecification) SetStartupAction(v string) *ModifyVpnTunnelOptionsSpecification { + s.StartupAction = &v + return s +} + // SetTunnelInsideCidr sets the TunnelInsideCidr field's value. func (s *ModifyVpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *ModifyVpnTunnelOptionsSpecification { s.TunnelInsideCidr = &v @@ -111011,6 +111243,9 @@ func (s *TransitGatewayVpcAttachmentOptions) SetIpv6Support(v string) *TransitGa type TunnelOption struct { _ struct{} `type:"structure"` + // The action to take after a DPD timeout occurs. + DpdTimeoutAction *string `locationName:"dpdTimeoutAction" type:"string"` + // The number of seconds after which a DPD timeout occurs. DpdTimeoutSeconds *int64 `locationName:"dpdTimeoutSeconds" type:"integer"` @@ -111061,6 +111296,9 @@ type TunnelOption struct { // The number of packets in an IKE replay window. ReplayWindowSize *int64 `locationName:"replayWindowSize" type:"integer"` + // The action to take when the establishing the VPN tunnels for a VPN connection. + StartupAction *string `locationName:"startupAction" type:"string"` + // The range of inside IPv4 addresses for the tunnel. TunnelInsideCidr *string `locationName:"tunnelInsideCidr" type:"string"` @@ -111078,6 +111316,12 @@ func (s TunnelOption) GoString() string { return s.String() } +// SetDpdTimeoutAction sets the DpdTimeoutAction field's value. +func (s *TunnelOption) SetDpdTimeoutAction(v string) *TunnelOption { + s.DpdTimeoutAction = &v + return s +} + // SetDpdTimeoutSeconds sets the DpdTimeoutSeconds field's value. func (s *TunnelOption) SetDpdTimeoutSeconds(v int64) *TunnelOption { s.DpdTimeoutSeconds = &v @@ -111168,6 +111412,12 @@ func (s *TunnelOption) SetReplayWindowSize(v int64) *TunnelOption { return s } +// SetStartupAction sets the StartupAction field's value. +func (s *TunnelOption) SetStartupAction(v string) *TunnelOption { + s.StartupAction = &v + return s +} + // SetTunnelInsideCidr sets the TunnelInsideCidr field's value. func (s *TunnelOption) SetTunnelInsideCidr(v string) *TunnelOption { s.TunnelInsideCidr = &v @@ -113737,6 +113987,18 @@ type VpnConnectionOptions struct { // Indicates whether acceleration is enabled for the VPN connection. EnableAcceleration *bool `locationName:"enableAcceleration" type:"boolean"` + // The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection. + LocalIpv4NetworkCidr *string `locationName:"localIpv4NetworkCidr" type:"string"` + + // The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection. + LocalIpv6NetworkCidr *string `locationName:"localIpv6NetworkCidr" type:"string"` + + // The IPv4 CIDR on the AWS side of the VPN connection. + RemoteIpv4NetworkCidr *string `locationName:"remoteIpv4NetworkCidr" type:"string"` + + // The IPv6 CIDR on the AWS side of the VPN connection. + RemoteIpv6NetworkCidr *string `locationName:"remoteIpv6NetworkCidr" type:"string"` + // Indicates whether the VPN connection uses static routes only. Static routes // must be used for devices that don't support BGP. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"` @@ -113764,6 +114026,30 @@ func (s *VpnConnectionOptions) SetEnableAcceleration(v bool) *VpnConnectionOptio return s } +// SetLocalIpv4NetworkCidr sets the LocalIpv4NetworkCidr field's value. +func (s *VpnConnectionOptions) SetLocalIpv4NetworkCidr(v string) *VpnConnectionOptions { + s.LocalIpv4NetworkCidr = &v + return s +} + +// SetLocalIpv6NetworkCidr sets the LocalIpv6NetworkCidr field's value. +func (s *VpnConnectionOptions) SetLocalIpv6NetworkCidr(v string) *VpnConnectionOptions { + s.LocalIpv6NetworkCidr = &v + return s +} + +// SetRemoteIpv4NetworkCidr sets the RemoteIpv4NetworkCidr field's value. +func (s *VpnConnectionOptions) SetRemoteIpv4NetworkCidr(v string) *VpnConnectionOptions { + s.RemoteIpv4NetworkCidr = &v + return s +} + +// SetRemoteIpv6NetworkCidr sets the RemoteIpv6NetworkCidr field's value. +func (s *VpnConnectionOptions) SetRemoteIpv6NetworkCidr(v string) *VpnConnectionOptions { + s.RemoteIpv6NetworkCidr = &v + return s +} + // SetStaticRoutesOnly sets the StaticRoutesOnly field's value. func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions { s.StaticRoutesOnly = &v @@ -113791,6 +114077,26 @@ type VpnConnectionOptionsSpecification struct { // Default: false EnableAcceleration *bool `type:"boolean"` + // The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection. + // + // Default: 0.0.0.0/0 + LocalIpv4NetworkCidr *string `type:"string"` + + // The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection. + // + // Default: ::/0 + LocalIpv6NetworkCidr *string `type:"string"` + + // The IPv4 CIDR on the AWS side of the VPN connection. + // + // Default: 0.0.0.0/0 + RemoteIpv4NetworkCidr *string `type:"string"` + + // The IPv6 CIDR on the AWS side of the VPN connection. + // + // Default: ::/0 + RemoteIpv6NetworkCidr *string `type:"string"` + // Indicate whether the VPN connection uses static routes only. If you are creating // a VPN connection for a device that does not support BGP, you must specify // true. Use CreateVpnConnectionRoute to create a static route. @@ -113823,6 +114129,30 @@ func (s *VpnConnectionOptionsSpecification) SetEnableAcceleration(v bool) *VpnCo return s } +// SetLocalIpv4NetworkCidr sets the LocalIpv4NetworkCidr field's value. +func (s *VpnConnectionOptionsSpecification) SetLocalIpv4NetworkCidr(v string) *VpnConnectionOptionsSpecification { + s.LocalIpv4NetworkCidr = &v + return s +} + +// SetLocalIpv6NetworkCidr sets the LocalIpv6NetworkCidr field's value. +func (s *VpnConnectionOptionsSpecification) SetLocalIpv6NetworkCidr(v string) *VpnConnectionOptionsSpecification { + s.LocalIpv6NetworkCidr = &v + return s +} + +// SetRemoteIpv4NetworkCidr sets the RemoteIpv4NetworkCidr field's value. +func (s *VpnConnectionOptionsSpecification) SetRemoteIpv4NetworkCidr(v string) *VpnConnectionOptionsSpecification { + s.RemoteIpv4NetworkCidr = &v + return s +} + +// SetRemoteIpv6NetworkCidr sets the RemoteIpv6NetworkCidr field's value. +func (s *VpnConnectionOptionsSpecification) SetRemoteIpv6NetworkCidr(v string) *VpnConnectionOptionsSpecification { + s.RemoteIpv6NetworkCidr = &v + return s +} + // SetStaticRoutesOnly sets the StaticRoutesOnly field's value. func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification { s.StaticRoutesOnly = &v @@ -113966,6 +114296,14 @@ func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute { type VpnTunnelOptionsSpecification struct { _ struct{} `type:"structure"` + // The action to take after DPD timeout occurs. Specify restart to restart the + // IKE initiation. Specify clear to end the IKE session. + // + // Valid Values: clear | none | restart + // + // Default: clear + DPDTimeoutAction *string `type:"string"` + // The number of seconds after which a DPD timeout occurs. // // Constraints: A value between 0 and 30. @@ -114061,6 +114399,15 @@ type VpnTunnelOptionsSpecification struct { // Default: 1024 ReplayWindowSize *int64 `type:"integer"` + // The action to take when the establishing the tunnel for the VPN connection. + // By default, your customer gateway device must initiate the IKE negotiation + // and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation. + // + // Valid Values: add | start + // + // Default: add + StartupAction *string `type:"string"` + // The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks // must be unique across all VPN connections that use the same virtual private // gateway. @@ -114100,6 +114447,12 @@ func (s VpnTunnelOptionsSpecification) GoString() string { return s.String() } +// SetDPDTimeoutAction sets the DPDTimeoutAction field's value. +func (s *VpnTunnelOptionsSpecification) SetDPDTimeoutAction(v string) *VpnTunnelOptionsSpecification { + s.DPDTimeoutAction = &v + return s +} + // SetDPDTimeoutSeconds sets the DPDTimeoutSeconds field's value. func (s *VpnTunnelOptionsSpecification) SetDPDTimeoutSeconds(v int64) *VpnTunnelOptionsSpecification { s.DPDTimeoutSeconds = &v @@ -114184,6 +114537,12 @@ func (s *VpnTunnelOptionsSpecification) SetReplayWindowSize(v int64) *VpnTunnelO return s } +// SetStartupAction sets the StartupAction field's value. +func (s *VpnTunnelOptionsSpecification) SetStartupAction(v string) *VpnTunnelOptionsSpecification { + s.StartupAction = &v + return s +} + // SetTunnelInsideCidr sets the TunnelInsideCidr field's value. func (s *VpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *VpnTunnelOptionsSpecification { s.TunnelInsideCidr = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/emr/api.go b/vendor/github.com/aws/aws-sdk-go/service/emr/api.go index 88123dfabb0..4412668d58c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/emr/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/emr/api.go @@ -809,6 +809,89 @@ func (c *EMR) DescribeJobFlowsWithContext(ctx aws.Context, input *DescribeJobFlo return out, req.Send() } +const opDescribeNotebookExecution = "DescribeNotebookExecution" + +// DescribeNotebookExecutionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNotebookExecution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 DescribeNotebookExecution for more information on using the DescribeNotebookExecution +// 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 DescribeNotebookExecutionRequest method. +// req, resp := client.DescribeNotebookExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeNotebookExecution +func (c *EMR) DescribeNotebookExecutionRequest(input *DescribeNotebookExecutionInput) (req *request.Request, output *DescribeNotebookExecutionOutput) { + op := &request.Operation{ + Name: opDescribeNotebookExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeNotebookExecutionInput{} + } + + output = &DescribeNotebookExecutionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeNotebookExecution API operation for Amazon Elastic MapReduce. +// +// Provides details of a notebook execution. +// +// 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 Elastic MapReduce's +// API operation DescribeNotebookExecution for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeNotebookExecution +func (c *EMR) DescribeNotebookExecution(input *DescribeNotebookExecutionInput) (*DescribeNotebookExecutionOutput, error) { + req, out := c.DescribeNotebookExecutionRequest(input) + return out, req.Send() +} + +// DescribeNotebookExecutionWithContext is the same as DescribeNotebookExecution with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeNotebookExecution 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 *EMR) DescribeNotebookExecutionWithContext(ctx aws.Context, input *DescribeNotebookExecutionInput, opts ...request.Option) (*DescribeNotebookExecutionOutput, error) { + req, out := c.DescribeNotebookExecutionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeSecurityConfiguration = "DescribeSecurityConfiguration" // DescribeSecurityConfigurationRequest generates a "aws/request.Request" representing the @@ -1843,6 +1926,150 @@ func (c *EMR) ListInstancesPagesWithContext(ctx aws.Context, input *ListInstance return p.Err() } +const opListNotebookExecutions = "ListNotebookExecutions" + +// ListNotebookExecutionsRequest generates a "aws/request.Request" representing the +// client's request for the ListNotebookExecutions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 ListNotebookExecutions for more information on using the ListNotebookExecutions +// 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 ListNotebookExecutionsRequest method. +// req, resp := client.ListNotebookExecutionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListNotebookExecutions +func (c *EMR) ListNotebookExecutionsRequest(input *ListNotebookExecutionsInput) (req *request.Request, output *ListNotebookExecutionsOutput) { + op := &request.Operation{ + Name: opListNotebookExecutions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListNotebookExecutionsInput{} + } + + output = &ListNotebookExecutionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListNotebookExecutions API operation for Amazon Elastic MapReduce. +// +// Provides summaries of all notebook executions. You can filter the list based +// on multiple criteria such as status, time range, and editor id. Returns a +// maximum of 50 notebook executions and a marker to track the paging of a longer +// notebook execution list across multiple ListNotebookExecution calls. +// +// 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 Elastic MapReduce's +// API operation ListNotebookExecutions for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListNotebookExecutions +func (c *EMR) ListNotebookExecutions(input *ListNotebookExecutionsInput) (*ListNotebookExecutionsOutput, error) { + req, out := c.ListNotebookExecutionsRequest(input) + return out, req.Send() +} + +// ListNotebookExecutionsWithContext is the same as ListNotebookExecutions with the addition of +// the ability to pass a context and additional request options. +// +// See ListNotebookExecutions 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 *EMR) ListNotebookExecutionsWithContext(ctx aws.Context, input *ListNotebookExecutionsInput, opts ...request.Option) (*ListNotebookExecutionsOutput, error) { + req, out := c.ListNotebookExecutionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListNotebookExecutionsPages iterates over the pages of a ListNotebookExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListNotebookExecutions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListNotebookExecutions operation. +// pageNum := 0 +// err := client.ListNotebookExecutionsPages(params, +// func(page *emr.ListNotebookExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EMR) ListNotebookExecutionsPages(input *ListNotebookExecutionsInput, fn func(*ListNotebookExecutionsOutput, bool) bool) error { + return c.ListNotebookExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListNotebookExecutionsPagesWithContext same as ListNotebookExecutionsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *EMR) ListNotebookExecutionsPagesWithContext(ctx aws.Context, input *ListNotebookExecutionsInput, fn func(*ListNotebookExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListNotebookExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListNotebookExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListNotebookExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListSecurityConfigurations = "ListSecurityConfigurations" // ListSecurityConfigurationsRequest generates a "aws/request.Request" representing the @@ -3155,6 +3382,172 @@ func (c *EMR) SetVisibleToAllUsersWithContext(ctx aws.Context, input *SetVisible return out, req.Send() } +const opStartNotebookExecution = "StartNotebookExecution" + +// StartNotebookExecutionRequest generates a "aws/request.Request" representing the +// client's request for the StartNotebookExecution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 StartNotebookExecution for more information on using the StartNotebookExecution +// 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 StartNotebookExecutionRequest method. +// req, resp := client.StartNotebookExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StartNotebookExecution +func (c *EMR) StartNotebookExecutionRequest(input *StartNotebookExecutionInput) (req *request.Request, output *StartNotebookExecutionOutput) { + op := &request.Operation{ + Name: opStartNotebookExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartNotebookExecutionInput{} + } + + output = &StartNotebookExecutionOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartNotebookExecution API operation for Amazon Elastic MapReduce. +// +// Starts a notebook execution. +// +// 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 Elastic MapReduce's +// API operation StartNotebookExecution for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// This exception occurs when there is an internal failure in the EMR service. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StartNotebookExecution +func (c *EMR) StartNotebookExecution(input *StartNotebookExecutionInput) (*StartNotebookExecutionOutput, error) { + req, out := c.StartNotebookExecutionRequest(input) + return out, req.Send() +} + +// StartNotebookExecutionWithContext is the same as StartNotebookExecution with the addition of +// the ability to pass a context and additional request options. +// +// See StartNotebookExecution 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 *EMR) StartNotebookExecutionWithContext(ctx aws.Context, input *StartNotebookExecutionInput, opts ...request.Option) (*StartNotebookExecutionOutput, error) { + req, out := c.StartNotebookExecutionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopNotebookExecution = "StopNotebookExecution" + +// StopNotebookExecutionRequest generates a "aws/request.Request" representing the +// client's request for the StopNotebookExecution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 StopNotebookExecution for more information on using the StopNotebookExecution +// 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 StopNotebookExecutionRequest method. +// req, resp := client.StopNotebookExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StopNotebookExecution +func (c *EMR) StopNotebookExecutionRequest(input *StopNotebookExecutionInput) (req *request.Request, output *StopNotebookExecutionOutput) { + op := &request.Operation{ + Name: opStopNotebookExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopNotebookExecutionInput{} + } + + output = &StopNotebookExecutionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopNotebookExecution API operation for Amazon Elastic MapReduce. +// +// Stops a notebook execution. +// +// 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 Elastic MapReduce's +// API operation StopNotebookExecution for usage and error information. +// +// Returned Error Types: +// * InternalServerError +// Indicates that an error occurred while processing the request and that the +// request was not completed. +// +// * InvalidRequestException +// This exception occurs when there is something wrong with user input. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StopNotebookExecution +func (c *EMR) StopNotebookExecution(input *StopNotebookExecutionInput) (*StopNotebookExecutionOutput, error) { + req, out := c.StopNotebookExecutionRequest(input) + return out, req.Send() +} + +// StopNotebookExecutionWithContext is the same as StopNotebookExecution with the addition of +// the ability to pass a context and additional request options. +// +// See StopNotebookExecution 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 *EMR) StopNotebookExecutionWithContext(ctx aws.Context, input *StopNotebookExecutionInput, opts ...request.Option) (*StopNotebookExecutionOutput, error) { + req, out := c.StopNotebookExecutionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTerminateJobFlows = "TerminateJobFlows" // TerminateJobFlowsRequest generates a "aws/request.Request" representing the @@ -5318,6 +5711,67 @@ func (s *DescribeJobFlowsOutput) SetJobFlows(v []*JobFlowDetail) *DescribeJobFlo return s } +type DescribeNotebookExecutionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the notebook execution. + // + // NotebookExecutionId is a required field + NotebookExecutionId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeNotebookExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeNotebookExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeNotebookExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeNotebookExecutionInput"} + if s.NotebookExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookExecutionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNotebookExecutionId sets the NotebookExecutionId field's value. +func (s *DescribeNotebookExecutionInput) SetNotebookExecutionId(v string) *DescribeNotebookExecutionInput { + s.NotebookExecutionId = &v + return s +} + +type DescribeNotebookExecutionOutput struct { + _ struct{} `type:"structure"` + + // Properties of the notebook execution. + NotebookExecution *NotebookExecution `type:"structure"` +} + +// String returns the string representation +func (s DescribeNotebookExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeNotebookExecutionOutput) GoString() string { + return s.String() +} + +// SetNotebookExecution sets the NotebookExecution field's value. +func (s *DescribeNotebookExecutionOutput) SetNotebookExecution(v *NotebookExecution) *DescribeNotebookExecutionOutput { + s.NotebookExecution = v + return s +} + type DescribeSecurityConfigurationInput struct { _ struct{} `type:"structure"` @@ -5770,21 +6224,83 @@ func (s *Ec2InstanceAttributes) SetIamInstanceProfile(v string) *Ec2InstanceAttr return s } -// SetRequestedEc2AvailabilityZones sets the RequestedEc2AvailabilityZones field's value. -func (s *Ec2InstanceAttributes) SetRequestedEc2AvailabilityZones(v []*string) *Ec2InstanceAttributes { - s.RequestedEc2AvailabilityZones = v +// SetRequestedEc2AvailabilityZones sets the RequestedEc2AvailabilityZones field's value. +func (s *Ec2InstanceAttributes) SetRequestedEc2AvailabilityZones(v []*string) *Ec2InstanceAttributes { + s.RequestedEc2AvailabilityZones = v + return s +} + +// SetRequestedEc2SubnetIds sets the RequestedEc2SubnetIds field's value. +func (s *Ec2InstanceAttributes) SetRequestedEc2SubnetIds(v []*string) *Ec2InstanceAttributes { + s.RequestedEc2SubnetIds = v + return s +} + +// SetServiceAccessSecurityGroup sets the ServiceAccessSecurityGroup field's value. +func (s *Ec2InstanceAttributes) SetServiceAccessSecurityGroup(v string) *Ec2InstanceAttributes { + s.ServiceAccessSecurityGroup = &v + return s +} + +// Specifies the execution engine (cluster) to run the notebook and perform +// the notebook execution, for example, an EMR cluster. +type ExecutionEngineConfig struct { + _ struct{} `type:"structure"` + + // The unique identifier of the execution engine. For an EMR cluster, this is + // the cluster ID. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // An optional unique ID of an EC2 security group to associate with the master + // instance of the EMR cluster for this notebook execution. For more information + // see Specifying EC2 Security Groups for EMR Notebooks (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-security-groups.html) + // in the EMR Management Guide. + MasterInstanceSecurityGroupId *string `type:"string"` + + // The type of execution engine. A value of EMR specifies an EMR cluster. + Type *string `type:"string" enum:"ExecutionEngineType"` +} + +// String returns the string representation +func (s ExecutionEngineConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ExecutionEngineConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExecutionEngineConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExecutionEngineConfig"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *ExecutionEngineConfig) SetId(v string) *ExecutionEngineConfig { + s.Id = &v return s } -// SetRequestedEc2SubnetIds sets the RequestedEc2SubnetIds field's value. -func (s *Ec2InstanceAttributes) SetRequestedEc2SubnetIds(v []*string) *Ec2InstanceAttributes { - s.RequestedEc2SubnetIds = v +// SetMasterInstanceSecurityGroupId sets the MasterInstanceSecurityGroupId field's value. +func (s *ExecutionEngineConfig) SetMasterInstanceSecurityGroupId(v string) *ExecutionEngineConfig { + s.MasterInstanceSecurityGroupId = &v return s } -// SetServiceAccessSecurityGroup sets the ServiceAccessSecurityGroup field's value. -func (s *Ec2InstanceAttributes) SetServiceAccessSecurityGroup(v string) *Ec2InstanceAttributes { - s.ServiceAccessSecurityGroup = &v +// SetType sets the Type field's value. +func (s *ExecutionEngineConfig) SetType(v string) *ExecutionEngineConfig { + s.Type = &v return s } @@ -9210,6 +9726,126 @@ func (s *ListInstancesOutput) SetMarker(v string) *ListInstancesOutput { return s } +type ListNotebookExecutionsInput struct { + _ struct{} `type:"structure"` + + // The unique ID of the editor associated with the notebook execution. + EditorId *string `type:"string"` + + // The beginning of time range filter for listing notebook executions. The default + // is the timestamp of 30 days ago. + From *time.Time `type:"timestamp"` + + // The pagination token, returned by a previous ListNotebookExecutions call, + // that indicates the start of the list for this ListNotebookExecutions call. + Marker *string `type:"string"` + + // The status filter for listing notebook executions. + // + // * START_PENDING indicates that the cluster has received the execution + // request but execution has not begun. + // + // * STARTING indicates that the execution is starting on the cluster. + // + // * RUNNING indicates that the execution is being processed by the cluster. + // + // * FINISHING indicates that execution processing is in the final stages. + // + // * FINISHED indicates that the execution has completed without error. + // + // * FAILING indicates that the execution is failing and will not finish + // successfully. + // + // * FAILED indicates that the execution failed. + // + // * STOP_PENDING indicates that the cluster has received a StopNotebookExecution + // request and the stop is pending. + // + // * STOPPING indicates that the cluster is in the process of stopping the + // execution as a result of a StopNotebookExecution request. + // + // * STOPPED indicates that the execution stopped because of a StopNotebookExecution + // request. + Status *string `type:"string" enum:"NotebookExecutionStatus"` + + // The end of time range filter for listing notebook executions. The default + // is the current timestamp. + To *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s ListNotebookExecutionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListNotebookExecutionsInput) GoString() string { + return s.String() +} + +// SetEditorId sets the EditorId field's value. +func (s *ListNotebookExecutionsInput) SetEditorId(v string) *ListNotebookExecutionsInput { + s.EditorId = &v + return s +} + +// SetFrom sets the From field's value. +func (s *ListNotebookExecutionsInput) SetFrom(v time.Time) *ListNotebookExecutionsInput { + s.From = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *ListNotebookExecutionsInput) SetMarker(v string) *ListNotebookExecutionsInput { + s.Marker = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListNotebookExecutionsInput) SetStatus(v string) *ListNotebookExecutionsInput { + s.Status = &v + return s +} + +// SetTo sets the To field's value. +func (s *ListNotebookExecutionsInput) SetTo(v time.Time) *ListNotebookExecutionsInput { + s.To = &v + return s +} + +type ListNotebookExecutionsOutput struct { + _ struct{} `type:"structure"` + + // A pagination token that a subsequent ListNotebookExecutions can use to determine + // the next set of results to retrieve. + Marker *string `type:"string"` + + // A list of notebook executions. + NotebookExecutions []*NotebookExecutionSummary `type:"list"` +} + +// String returns the string representation +func (s ListNotebookExecutionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListNotebookExecutionsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *ListNotebookExecutionsOutput) SetMarker(v string) *ListNotebookExecutionsOutput { + s.Marker = &v + return s +} + +// SetNotebookExecutions sets the NotebookExecutions field's value. +func (s *ListNotebookExecutionsOutput) SetNotebookExecutions(v []*NotebookExecutionSummary) *ListNotebookExecutionsOutput { + s.NotebookExecutions = v + return s +} + type ListSecurityConfigurationsInput struct { _ struct{} `type:"structure"` @@ -9536,128 +10172,386 @@ type ModifyInstanceFleetInput struct { InstanceFleet *InstanceFleetModifyConfig `type:"structure" required:"true"` } -// String returns the string representation -func (s ModifyInstanceFleetInput) String() string { - return awsutil.Prettify(s) +// String returns the string representation +func (s ModifyInstanceFleetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyInstanceFleetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyInstanceFleetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceFleetInput"} + if s.ClusterId == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterId")) + } + if s.InstanceFleet == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceFleet")) + } + if s.InstanceFleet != nil { + if err := s.InstanceFleet.Validate(); err != nil { + invalidParams.AddNested("InstanceFleet", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterId sets the ClusterId field's value. +func (s *ModifyInstanceFleetInput) SetClusterId(v string) *ModifyInstanceFleetInput { + s.ClusterId = &v + return s +} + +// SetInstanceFleet sets the InstanceFleet field's value. +func (s *ModifyInstanceFleetInput) SetInstanceFleet(v *InstanceFleetModifyConfig) *ModifyInstanceFleetInput { + s.InstanceFleet = v + return s +} + +type ModifyInstanceFleetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ModifyInstanceFleetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyInstanceFleetOutput) GoString() string { + return s.String() +} + +// Change the size of some instance groups. +type ModifyInstanceGroupsInput struct { + _ struct{} `type:"structure"` + + // The ID of the cluster to which the instance group belongs. + ClusterId *string `type:"string"` + + // Instance groups to change. + InstanceGroups []*InstanceGroupModifyConfig `type:"list"` +} + +// String returns the string representation +func (s ModifyInstanceGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyInstanceGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyInstanceGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceGroupsInput"} + if s.InstanceGroups != nil { + for i, v := range s.InstanceGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterId sets the ClusterId field's value. +func (s *ModifyInstanceGroupsInput) SetClusterId(v string) *ModifyInstanceGroupsInput { + s.ClusterId = &v + return s +} + +// SetInstanceGroups sets the InstanceGroups field's value. +func (s *ModifyInstanceGroupsInput) SetInstanceGroups(v []*InstanceGroupModifyConfig) *ModifyInstanceGroupsInput { + s.InstanceGroups = v + return s +} + +type ModifyInstanceGroupsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ModifyInstanceGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyInstanceGroupsOutput) GoString() string { + return s.String() +} + +// A notebook execution. An execution is a specific instance that an EMR Notebook +// is run using the StartNotebookExecution action. +type NotebookExecution struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the notebook execution. + Arn *string `type:"string"` + + // The unique identifier of the EMR Notebook that is used for the notebook execution. + EditorId *string `type:"string"` + + // The timestamp when notebook execution ended. + EndTime *time.Time `type:"timestamp"` + + // The execution engine, such as an EMR cluster, used to run the EMR notebook + // and perform the notebook execution. + ExecutionEngine *ExecutionEngineConfig `type:"structure"` + + // The reason for the latest status change of the notebook execution. + LastStateChangeReason *string `type:"string"` + + // The unique identifier of a notebook execution. + NotebookExecutionId *string `type:"string"` + + // A name for the notebook execution. + NotebookExecutionName *string `type:"string"` + + // The unique identifier of the EC2 security group associated with the EMR Notebook + // instance. For more information see Specifying EC2 Security Groups for EMR + // Notebooks (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-security-groups.html) + // in the EMR Management Guide. + NotebookInstanceSecurityGroupId *string `type:"string"` + + // Input parameters in JSON format passed to the EMR Notebook at runtime for + // execution. + NotebookParams *string `type:"string"` + + // The location of the notebook execution's output file in Amazon S3. + OutputNotebookURI *string `type:"string"` + + // The timestamp when notebook execution started. + StartTime *time.Time `type:"timestamp"` + + // The status of the notebook execution. + // + // * START_PENDING indicates that the cluster has received the execution + // request but execution has not begun. + // + // * STARTING indicates that the execution is starting on the cluster. + // + // * RUNNING indicates that the execution is being processed by the cluster. + // + // * FINISHING indicates that execution processing is in the final stages. + // + // * FINISHED indicates that the execution has completed without error. + // + // * FAILING indicates that the execution is failing and will not finish + // successfully. + // + // * FAILED indicates that the execution failed. + // + // * STOP_PENDING indicates that the cluster has received a StopNotebookExecution + // request and the stop is pending. + // + // * STOPPING indicates that the cluster is in the process of stopping the + // execution as a result of a StopNotebookExecution request. + // + // * STOPPED indicates that the execution stopped because of a StopNotebookExecution + // request. + Status *string `type:"string" enum:"NotebookExecutionStatus"` + + // A list of tags associated with a notebook execution. Tags are user-defined + // key value pairs that consist of a required key string with a maximum of 128 + // characters and an optional value string with a maximum of 256 characters. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s NotebookExecution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotebookExecution) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *NotebookExecution) SetArn(v string) *NotebookExecution { + s.Arn = &v + return s +} + +// SetEditorId sets the EditorId field's value. +func (s *NotebookExecution) SetEditorId(v string) *NotebookExecution { + s.EditorId = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *NotebookExecution) SetEndTime(v time.Time) *NotebookExecution { + s.EndTime = &v + return s +} + +// SetExecutionEngine sets the ExecutionEngine field's value. +func (s *NotebookExecution) SetExecutionEngine(v *ExecutionEngineConfig) *NotebookExecution { + s.ExecutionEngine = v + return s +} + +// SetLastStateChangeReason sets the LastStateChangeReason field's value. +func (s *NotebookExecution) SetLastStateChangeReason(v string) *NotebookExecution { + s.LastStateChangeReason = &v + return s } -// GoString returns the string representation -func (s ModifyInstanceFleetInput) GoString() string { - return s.String() +// SetNotebookExecutionId sets the NotebookExecutionId field's value. +func (s *NotebookExecution) SetNotebookExecutionId(v string) *NotebookExecution { + s.NotebookExecutionId = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ModifyInstanceFleetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceFleetInput"} - if s.ClusterId == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterId")) - } - if s.InstanceFleet == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceFleet")) - } - if s.InstanceFleet != nil { - if err := s.InstanceFleet.Validate(); err != nil { - invalidParams.AddNested("InstanceFleet", err.(request.ErrInvalidParams)) - } - } +// SetNotebookExecutionName sets the NotebookExecutionName field's value. +func (s *NotebookExecution) SetNotebookExecutionName(v string) *NotebookExecution { + s.NotebookExecutionName = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNotebookInstanceSecurityGroupId sets the NotebookInstanceSecurityGroupId field's value. +func (s *NotebookExecution) SetNotebookInstanceSecurityGroupId(v string) *NotebookExecution { + s.NotebookInstanceSecurityGroupId = &v + return s } -// SetClusterId sets the ClusterId field's value. -func (s *ModifyInstanceFleetInput) SetClusterId(v string) *ModifyInstanceFleetInput { - s.ClusterId = &v +// SetNotebookParams sets the NotebookParams field's value. +func (s *NotebookExecution) SetNotebookParams(v string) *NotebookExecution { + s.NotebookParams = &v return s } -// SetInstanceFleet sets the InstanceFleet field's value. -func (s *ModifyInstanceFleetInput) SetInstanceFleet(v *InstanceFleetModifyConfig) *ModifyInstanceFleetInput { - s.InstanceFleet = v +// SetOutputNotebookURI sets the OutputNotebookURI field's value. +func (s *NotebookExecution) SetOutputNotebookURI(v string) *NotebookExecution { + s.OutputNotebookURI = &v return s } -type ModifyInstanceFleetOutput struct { - _ struct{} `type:"structure"` +// SetStartTime sets the StartTime field's value. +func (s *NotebookExecution) SetStartTime(v time.Time) *NotebookExecution { + s.StartTime = &v + return s } -// String returns the string representation -func (s ModifyInstanceFleetOutput) String() string { - return awsutil.Prettify(s) +// SetStatus sets the Status field's value. +func (s *NotebookExecution) SetStatus(v string) *NotebookExecution { + s.Status = &v + return s } -// GoString returns the string representation -func (s ModifyInstanceFleetOutput) GoString() string { - return s.String() +// SetTags sets the Tags field's value. +func (s *NotebookExecution) SetTags(v []*Tag) *NotebookExecution { + s.Tags = v + return s } -// Change the size of some instance groups. -type ModifyInstanceGroupsInput struct { +type NotebookExecutionSummary struct { _ struct{} `type:"structure"` - // The ID of the cluster to which the instance group belongs. - ClusterId *string `type:"string"` + // The unique identifier of the editor associated with the notebook execution. + EditorId *string `type:"string"` - // Instance groups to change. - InstanceGroups []*InstanceGroupModifyConfig `type:"list"` + // The timestamp when notebook execution started. + EndTime *time.Time `type:"timestamp"` + + // The unique identifier of the notebook execution. + NotebookExecutionId *string `type:"string"` + + // The name of the notebook execution. + NotebookExecutionName *string `type:"string"` + + // The timestamp when notebook execution started. + StartTime *time.Time `type:"timestamp"` + + // The status of the notebook execution. + // + // * START_PENDING indicates that the cluster has received the execution + // request but execution has not begun. + // + // * STARTING indicates that the execution is starting on the cluster. + // + // * RUNNING indicates that the execution is being processed by the cluster. + // + // * FINISHING indicates that execution processing is in the final stages. + // + // * FINISHED indicates that the execution has completed without error. + // + // * FAILING indicates that the execution is failing and will not finish + // successfully. + // + // * FAILED indicates that the execution failed. + // + // * STOP_PENDING indicates that the cluster has received a StopNotebookExecution + // request and the stop is pending. + // + // * STOPPING indicates that the cluster is in the process of stopping the + // execution as a result of a StopNotebookExecution request. + // + // * STOPPED indicates that the execution stopped because of a StopNotebookExecution + // request. + Status *string `type:"string" enum:"NotebookExecutionStatus"` } // String returns the string representation -func (s ModifyInstanceGroupsInput) String() string { +func (s NotebookExecutionSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ModifyInstanceGroupsInput) GoString() string { +func (s NotebookExecutionSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ModifyInstanceGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceGroupsInput"} - if s.InstanceGroups != nil { - for i, v := range s.InstanceGroups { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEditorId sets the EditorId field's value. +func (s *NotebookExecutionSummary) SetEditorId(v string) *NotebookExecutionSummary { + s.EditorId = &v + return s } -// SetClusterId sets the ClusterId field's value. -func (s *ModifyInstanceGroupsInput) SetClusterId(v string) *ModifyInstanceGroupsInput { - s.ClusterId = &v +// SetEndTime sets the EndTime field's value. +func (s *NotebookExecutionSummary) SetEndTime(v time.Time) *NotebookExecutionSummary { + s.EndTime = &v return s } -// SetInstanceGroups sets the InstanceGroups field's value. -func (s *ModifyInstanceGroupsInput) SetInstanceGroups(v []*InstanceGroupModifyConfig) *ModifyInstanceGroupsInput { - s.InstanceGroups = v +// SetNotebookExecutionId sets the NotebookExecutionId field's value. +func (s *NotebookExecutionSummary) SetNotebookExecutionId(v string) *NotebookExecutionSummary { + s.NotebookExecutionId = &v return s } -type ModifyInstanceGroupsOutput struct { - _ struct{} `type:"structure"` +// SetNotebookExecutionName sets the NotebookExecutionName field's value. +func (s *NotebookExecutionSummary) SetNotebookExecutionName(v string) *NotebookExecutionSummary { + s.NotebookExecutionName = &v + return s } -// String returns the string representation -func (s ModifyInstanceGroupsOutput) String() string { - return awsutil.Prettify(s) +// SetStartTime sets the StartTime field's value. +func (s *NotebookExecutionSummary) SetStartTime(v time.Time) *NotebookExecutionSummary { + s.StartTime = &v + return s } -// GoString returns the string representation -func (s ModifyInstanceGroupsOutput) GoString() string { - return s.String() +// SetStatus sets the Status field's value. +func (s *NotebookExecutionSummary) SetStatus(v string) *NotebookExecutionSummary { + s.Status = &v + return s } // The launch specification for On-Demand instances in the instance fleet, which @@ -9775,9 +10669,15 @@ func (s PortRange) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *PortRange) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PortRange"} + if s.MaxRange != nil && *s.MaxRange < -1 { + invalidParams.Add(request.NewErrParamMinValue("MaxRange", -1)) + } if s.MinRange == nil { invalidParams.Add(request.NewErrParamRequired("MinRange")) } + if s.MinRange != nil && *s.MinRange < -1 { + invalidParams.Add(request.NewErrParamMinValue("MinRange", -1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -11361,6 +12261,160 @@ func (s *SpotProvisioningSpecification) SetTimeoutDurationMinutes(v int64) *Spot return s } +type StartNotebookExecutionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the EMR Notebook to use for notebook execution. + // + // EditorId is a required field + EditorId *string `type:"string" required:"true"` + + // Specifies the execution engine (cluster) that runs the notebook execution. + // + // ExecutionEngine is a required field + ExecutionEngine *ExecutionEngineConfig `type:"structure" required:"true"` + + // An optional name for the notebook execution. + NotebookExecutionName *string `type:"string"` + + // The unique identifier of the Amazon EC2 security group to associate with + // the EMR Notebook for this notebook execution. + NotebookInstanceSecurityGroupId *string `type:"string"` + + // Input parameters in JSON format passed to the EMR Notebook at runtime for + // execution. + NotebookParams *string `type:"string"` + + // The path and file name of the notebook file for this execution, relative + // to the path specified for the EMR Notebook. For example, if you specify a + // path of s3://MyBucket/MyNotebooks when you create an EMR Notebook for a notebook + // with an ID of e-ABCDEFGHIJK1234567890ABCD (the EditorID of this request), + // and you specify a RelativePath of my_notebook_executions/notebook_execution.ipynb, + // the location of the file for the notebook execution is s3://MyBucket/MyNotebooks/e-ABCDEFGHIJK1234567890ABCD/my_notebook_executions/notebook_execution.ipynb. + // + // RelativePath is a required field + RelativePath *string `type:"string" required:"true"` + + // The name or ARN of the IAM role that is used as the service role for Amazon + // EMR (the EMR role) for the notebook execution. + // + // ServiceRole is a required field + ServiceRole *string `type:"string" required:"true"` + + // A list of tags associated with a notebook execution. Tags are user-defined + // key value pairs that consist of a required key string with a maximum of 128 + // characters and an optional value string with a maximum of 256 characters. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s StartNotebookExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartNotebookExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartNotebookExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartNotebookExecutionInput"} + if s.EditorId == nil { + invalidParams.Add(request.NewErrParamRequired("EditorId")) + } + if s.ExecutionEngine == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionEngine")) + } + if s.RelativePath == nil { + invalidParams.Add(request.NewErrParamRequired("RelativePath")) + } + if s.ServiceRole == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceRole")) + } + if s.ExecutionEngine != nil { + if err := s.ExecutionEngine.Validate(); err != nil { + invalidParams.AddNested("ExecutionEngine", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEditorId sets the EditorId field's value. +func (s *StartNotebookExecutionInput) SetEditorId(v string) *StartNotebookExecutionInput { + s.EditorId = &v + return s +} + +// SetExecutionEngine sets the ExecutionEngine field's value. +func (s *StartNotebookExecutionInput) SetExecutionEngine(v *ExecutionEngineConfig) *StartNotebookExecutionInput { + s.ExecutionEngine = v + return s +} + +// SetNotebookExecutionName sets the NotebookExecutionName field's value. +func (s *StartNotebookExecutionInput) SetNotebookExecutionName(v string) *StartNotebookExecutionInput { + s.NotebookExecutionName = &v + return s +} + +// SetNotebookInstanceSecurityGroupId sets the NotebookInstanceSecurityGroupId field's value. +func (s *StartNotebookExecutionInput) SetNotebookInstanceSecurityGroupId(v string) *StartNotebookExecutionInput { + s.NotebookInstanceSecurityGroupId = &v + return s +} + +// SetNotebookParams sets the NotebookParams field's value. +func (s *StartNotebookExecutionInput) SetNotebookParams(v string) *StartNotebookExecutionInput { + s.NotebookParams = &v + return s +} + +// SetRelativePath sets the RelativePath field's value. +func (s *StartNotebookExecutionInput) SetRelativePath(v string) *StartNotebookExecutionInput { + s.RelativePath = &v + return s +} + +// SetServiceRole sets the ServiceRole field's value. +func (s *StartNotebookExecutionInput) SetServiceRole(v string) *StartNotebookExecutionInput { + s.ServiceRole = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartNotebookExecutionInput) SetTags(v []*Tag) *StartNotebookExecutionInput { + s.Tags = v + return s +} + +type StartNotebookExecutionOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the notebook execution. + NotebookExecutionId *string `type:"string"` +} + +// String returns the string representation +func (s StartNotebookExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartNotebookExecutionOutput) GoString() string { + return s.String() +} + +// SetNotebookExecutionId sets the NotebookExecutionId field's value. +func (s *StartNotebookExecutionOutput) SetNotebookExecutionId(v string) *StartNotebookExecutionOutput { + s.NotebookExecutionId = &v + return s +} + // This represents a step in a cluster. type Step struct { _ struct{} `type:"structure"` @@ -11783,6 +12837,58 @@ func (s *StepTimeline) SetStartDateTime(v time.Time) *StepTimeline { return s } +type StopNotebookExecutionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the notebook execution. + // + // NotebookExecutionId is a required field + NotebookExecutionId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s StopNotebookExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopNotebookExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopNotebookExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopNotebookExecutionInput"} + if s.NotebookExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("NotebookExecutionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNotebookExecutionId sets the NotebookExecutionId field's value. +func (s *StopNotebookExecutionInput) SetNotebookExecutionId(v string) *StopNotebookExecutionInput { + s.NotebookExecutionId = &v + return s +} + +type StopNotebookExecutionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopNotebookExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopNotebookExecutionOutput) GoString() string { + return s.String() +} + // The list of supported product configurations which allow user-supplied arguments. // EMR accepts these arguments and forwards them to the corresponding installation // script as bootstrap action arguments. @@ -12205,6 +13311,18 @@ func ComputeLimitsUnitType_Values() []string { } } +const ( + // ExecutionEngineTypeEmr is a ExecutionEngineType enum value + ExecutionEngineTypeEmr = "EMR" +) + +// ExecutionEngineType_Values returns all elements of the ExecutionEngineType enum +func ExecutionEngineType_Values() []string { + return []string{ + ExecutionEngineTypeEmr, + } +} + const ( // InstanceCollectionTypeInstanceFleet is a InstanceCollectionType enum value InstanceCollectionTypeInstanceFleet = "INSTANCE_FLEET" @@ -12530,6 +13648,54 @@ func MarketType_Values() []string { } } +const ( + // NotebookExecutionStatusStartPending is a NotebookExecutionStatus enum value + NotebookExecutionStatusStartPending = "START_PENDING" + + // NotebookExecutionStatusStarting is a NotebookExecutionStatus enum value + NotebookExecutionStatusStarting = "STARTING" + + // NotebookExecutionStatusRunning is a NotebookExecutionStatus enum value + NotebookExecutionStatusRunning = "RUNNING" + + // NotebookExecutionStatusFinishing is a NotebookExecutionStatus enum value + NotebookExecutionStatusFinishing = "FINISHING" + + // NotebookExecutionStatusFinished is a NotebookExecutionStatus enum value + NotebookExecutionStatusFinished = "FINISHED" + + // NotebookExecutionStatusFailing is a NotebookExecutionStatus enum value + NotebookExecutionStatusFailing = "FAILING" + + // NotebookExecutionStatusFailed is a NotebookExecutionStatus enum value + NotebookExecutionStatusFailed = "FAILED" + + // NotebookExecutionStatusStopPending is a NotebookExecutionStatus enum value + NotebookExecutionStatusStopPending = "STOP_PENDING" + + // NotebookExecutionStatusStopping is a NotebookExecutionStatus enum value + NotebookExecutionStatusStopping = "STOPPING" + + // NotebookExecutionStatusStopped is a NotebookExecutionStatus enum value + NotebookExecutionStatusStopped = "STOPPED" +) + +// NotebookExecutionStatus_Values returns all elements of the NotebookExecutionStatus enum +func NotebookExecutionStatus_Values() []string { + return []string{ + NotebookExecutionStatusStartPending, + NotebookExecutionStatusStarting, + NotebookExecutionStatusRunning, + NotebookExecutionStatusFinishing, + NotebookExecutionStatusFinished, + NotebookExecutionStatusFailing, + NotebookExecutionStatusFailed, + NotebookExecutionStatusStopPending, + NotebookExecutionStatusStopping, + NotebookExecutionStatusStopped, + } +} + const ( // OnDemandProvisioningAllocationStrategyLowestPrice is a OnDemandProvisioningAllocationStrategy enum value OnDemandProvisioningAllocationStrategyLowestPrice = "lowest-price" 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 index 2dfc0b4c36e..d756494a899 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/gamelift/api.go @@ -189,46 +189,43 @@ func (c *GameLift) ClaimGameServerRequest(input *ClaimGameServerInput) (req *req // ClaimGameServer API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // // Locates an available game server and temporarily reserves it to host gameplay -// and players. This action is called by a game client or client service (such -// as a matchmaker) to request hosting resources for a new game session. In -// response, GameLift FleetIQ searches for an available game server in the specified -// game server group, places the game server in "claimed" status for 60 seconds, -// and returns connection information back to the requester so that players -// can connect to the game server. -// -// There are two ways you can claim a game server. For the first option, you -// provide a game server group ID only, which prompts GameLift FleetIQ to search -// for an available game server in the specified group and claim it. With this -// option, GameLift FleetIQ attempts to consolidate gameplay on as few instances -// as possible to minimize hosting costs. For the second option, you request -// a specific game server by its ID. This option results in a less efficient -// claiming process because it does not take advantage of consolidation and -// may fail if the requested game server is unavailable. -// -// To claim a game server, identify a game server group and (optionally) a game -// server ID. If your game requires that game data be provided to the game server -// at the start of a game, such as a game map or player information, you can -// provide it in your claim request. +// and players. This operation is called from a game client or client service +// (such as a matchmaker) to request hosting resources for a new game session. +// In response, GameLift FleetIQ locates an available game server, places it +// in CLAIMED status for 60 seconds, and returns connection information that +// players can use to connect to the game server. +// +// To claim a game server, identify a game server group. You can also specify +// a game server ID, although this approach bypasses GameLift FleetIQ placement +// optimization. Optionally, include game data to pass to the game server at +// the start of a game session, such as a game map or player information. // // When a game server is successfully claimed, connection information is returned. -// A claimed game server's utilization status remains AVAILABLE, while the claim -// status is set to CLAIMED for up to 60 seconds. This time period allows the -// game server to be prompted to update its status to UTILIZED (using UpdateGameServer). -// If the game server's status is not updated within 60 seconds, the game server -// reverts to unclaimed status and is available to be claimed by another request. +// A claimed game server's utilization status remains AVAILABLE while the claim +// status is set to CLAIMED for up to 60 seconds. This time period gives the +// game server time to update its status to UTILIZED (using UpdateGameServer) +// once players join. If the game server's status is not updated within 60 seconds, +// the game server reverts to unclaimed status and is available to be claimed +// by another request. The claim time period is a fixed value and is not configurable. // // If you try to claim a specific game server, this request will fail in the -// following cases: (1) if the game server utilization status is UTILIZED, (2) -// if the game server claim status is CLAIMED, or (3) if the instance that the -// game server is running on is flagged as draining. +// following cases: +// +// * If the game server utilization status is UTILIZED. +// +// * If the game server claim status is CLAIMED. +// +// When claiming a specific game server, this request will succeed even if the +// game server is running on an instance in DRAINING status. To avoid this, +// first check the instance status by calling DescribeGameServerInstances. // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -494,10 +491,10 @@ func (c *GameLift) CreateBuildRequest(input *CreateBuildInput) (req *request.Req // // * To directly upload your build files to a GameLift S3 location. To use // this option, first call CreateBuild and specify a build name and operating -// system. This action creates a new build resource and also returns an S3 -// location with temporary access credentials. Use the credentials to manually -// upload your build files to the specified S3 location. For more information, -// see Uploading Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html) +// system. This operation creates a new build resource and also returns an +// S3 location with temporary access credentials. Use the credentials to +// manually upload your build files to the specified S3 location. For more +// information, see Uploading Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html) // in the Amazon S3 Developer Guide. Build files can be uploaded to the GameLift // S3 location once only; that can't be updated. // @@ -777,50 +774,45 @@ func (c *GameLift) CreateGameServerGroupRequest(input *CreateGameServerGroupInpu // CreateGameServerGroup API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // -// Creates a GameLift FleetIQ game server group to manage a collection of EC2 -// instances for game hosting. In addition to creating the game server group, -// this action also creates an Auto Scaling group in your AWS account and establishes -// a link between the two groups. You have full control over configuration of -// the Auto Scaling group, but GameLift FleetIQ routinely certain Auto Scaling -// group properties in order to optimize the group's instances for low-cost -// game hosting. You can view the status of your game server groups in the GameLift -// Console. Game server group metrics and events are emitted to Amazon CloudWatch. +// Creates a GameLift FleetIQ game server group for managing game hosting on +// a collection of Amazon EC2 instances for game hosting. This operation creates +// the game server group, creates an Auto Scaling group in your AWS account, +// and establishes a link between the two groups. You can view the status of +// your game server groups in the GameLift console. Game server group metrics +// and events are emitted to Amazon CloudWatch. // -// Prior creating a new game server group, you must set up the following: +// Before creating a new game server group, you must have the following: // -// * An EC2 launch template. The template provides configuration settings -// for a set of EC2 instances and includes the game server build that you -// want to deploy and run on each instance. For more information on creating -// a launch template, see Launching an Instance from a Launch Template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) +// * An Amazon EC2 launch template that specifies how to launch Amazon EC2 +// instances with your game server build. For more information, see Launching +// an Instance from a Launch Template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) // in the Amazon EC2 User Guide. // -// * An IAM role. The role sets up limited access to your AWS account, allowing -// GameLift FleetIQ to create and manage the EC2 Auto Scaling group, get -// instance data, and emit metrics and events to CloudWatch. For more information -// on setting up an IAM permissions policy with principal access for GameLift, -// see Specifying a Principal in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-bucket-user-policy-specifying-principal-intro.html) -// in the Amazon S3 Developer Guide. +// * An IAM role that extends limited access to your AWS account to allow +// GameLift FleetIQ to create and interact with the Auto Scaling group. For +// more information, see Create IAM roles for cross-service interaction (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-iam-permissions-roles.html) +// in the GameLift FleetIQ Developer Guide. // -// To create a new game server group, provide a name and specify the IAM role -// and EC2 launch template. You also need to provide a list of instance types -// to be used in the group and set initial maximum and minimum limits on the -// group's instance count. You can optionally set an autoscaling policy with -// target tracking based on a GameLift FleetIQ metric. +// To create a new game server group, specify a unique group name, IAM role +// and Amazon EC2 launch template, and provide a list of instance types that +// can be used in the group. You must also set initial maximum and minimum limits +// on the group's instance count. You can optionally set an Auto Scaling policy +// with target tracking based on a GameLift FleetIQ metric. // // Once the game server group and corresponding Auto Scaling group are created, // you have full access to change the Auto Scaling group's configuration as -// needed. Keep in mind, however, that some properties are periodically updated -// by GameLift FleetIQ as it balances the group's instances based on availability -// and cost. +// needed. Several properties that are set when creating a game server group, +// including maximum/minimum size and auto-scaling policy settings, must be +// updated directly in the Auto Scaling group. Keep in mind that some Auto Scaling +// group properties are periodically updated by GameLift FleetIQ as part of +// its balancing activities to optimize for availability and cost. // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) -// -// Updating a GameLift FleetIQ-Linked Auto Scaling Group (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-asgroups.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -838,6 +830,8 @@ func (c *GameLift) CreateGameServerGroupRequest(input *CreateGameServerGroupInpu // // * SuspendGameServerGroup // +// * DescribeGameServerInstances +// // 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. @@ -933,10 +927,10 @@ func (c *GameLift) CreateGameSessionRequest(input *CreateGameSessionInput) (req // 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. +// Creates a multiplayer game session for players. This operation 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 @@ -1253,19 +1247,17 @@ func (c *GameLift) CreateMatchmakingConfigurationRequest(input *CreateMatchmakin // game session for the match; and the maximum time allowed for a matchmaking // attempt. // -// 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. Since notifications promise only -// "best effort" delivery, we recommend calling DescribeMatchmaking if no notifications -// are received within 30 seconds. +// To track the progress of matchmaking tickets, set up an Amazon Simple Notification +// Service (SNS) to receive notifications, and provide the topic ARN in the +// matchmaking configuration. An alternative method, continuously poling ticket +// status with DescribeMatchmaking, should only be used for games in development +// with low matchmaking usage. // // Learn more // // Design a FlexMatch Matchmaker (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-configuration.html) // -// Setting up Notifications for Matchmaking (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html) +// Set Up FlexMatch Event Notification (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html) // // Related operations // @@ -2170,7 +2162,7 @@ func (c *GameLift) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Req // DeleteAlias API operation for Amazon GameLift. // -// Deletes an alias. This action removes all record of the alias. Game clients +// Deletes an alias. This operation 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. // @@ -2282,10 +2274,10 @@ func (c *GameLift) DeleteBuildRequest(input *DeleteBuildInput) (req *request.Req // DeleteBuild API operation for Amazon GameLift. // -// Deletes a build. This action permanently deletes the build resource and any -// uploaded build files. 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. +// Deletes a build. This operation permanently deletes the build resource and +// any uploaded build files. 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. // // To delete a build, specify the build ID. // @@ -2409,7 +2401,7 @@ func (c *GameLift) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Req // You do not need to explicitly delete the VPC peering connection--this is // done as part of the delete fleet process. // -// This action removes the fleet and its resources. Once a fleet is deleted, +// This operation removes the fleet and its resources. Once a fleet is deleted, // you can no longer use any of the resource in that fleet. // // Learn more @@ -2530,32 +2522,36 @@ func (c *GameLift) DeleteGameServerGroupRequest(input *DeleteGameServerGroupInpu // DeleteGameServerGroup API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // // Terminates a game server group and permanently deletes the game server group // record. You have several options for how these resources are impacted when -// deleting the game server group. Depending on the type of delete action selected, -// this action may affect three types of resources: the game server group, the -// corresponding Auto Scaling group, and all game servers currently running -// in the group. +// deleting the game server group. Depending on the type of delete operation +// selected, this operation might affect these resources: +// +// * The game server group +// +// * The corresponding Auto Scaling group +// +// * All game servers that are currently running in the group // // To delete a game server group, identify the game server group to delete and -// specify the type of delete action to initiate. Game server groups can only -// be deleted if they are in ACTIVE or ERROR status. +// specify the type of delete operation to initiate. Game server groups can +// only be deleted if they are in ACTIVE or ERROR status. // -// If the delete request is successful, a series of actions are kicked off. +// If the delete request is successful, a series of operations are kicked off. // The game server group status is changed to DELETE_SCHEDULED, which prevents -// new game servers from being registered and stops autoscaling activity. Once -// all game servers in the game server group are de-registered, GameLift FleetIQ -// can begin deleting resources. If any of the delete actions fail, the game -// server group is placed in ERROR status. +// new game servers from being registered and stops automatic scaling activity. +// Once all game servers in the game server group are deregistered, GameLift +// FleetIQ can begin deleting resources. If any of the delete operations fail, +// the game server group is placed in ERROR status. // // GameLift FleetIQ emits delete events to Amazon CloudWatch. // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -2573,6 +2569,8 @@ func (c *GameLift) DeleteGameServerGroupRequest(input *DeleteGameServerGroupInpu // // * SuspendGameServerGroup // +// * DescribeGameServerInstances +// // 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. @@ -2664,9 +2662,9 @@ func (c *GameLift) DeleteGameSessionQueueRequest(input *DeleteGameSessionQueueIn // 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. +// Deletes a game session queue. Once a queue is successfully deleted, unfulfilled +// StartGameSessionPlacement requests that reference the queue will fail. To +// delete a queue, specify the queue name. // // Learn more // @@ -3018,9 +3016,9 @@ func (c *GameLift) DeleteScalingPolicyRequest(input *DeleteScalingPolicyInput) ( // 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. +// Deletes a fleet scaling policy. Once deleted, the policy is no longer in +// force and GameLift removes all record of it. To delete a scaling policy, +// specify both the scaling policy name and the fleet ID it is associated with. // // To temporarily suspend scaling policies, call StopFleetActions. This operation // suspends all policies for the fleet. @@ -3127,9 +3125,9 @@ func (c *GameLift) DeleteScriptRequest(input *DeleteScriptInput) (req *request.R // DeleteScript API operation for Amazon GameLift. // -// Deletes a Realtime script. This action permanently deletes the script record. -// If script files were uploaded, they are also deleted (files stored in an -// S3 bucket are not deleted). +// Deletes a Realtime script. This operation permanently deletes the script +// record. If script files were uploaded, they are also deleted (files stored +// in an S3 bucket are not deleted). // // To delete a script, specify the script ID. Before deleting a script, be sure // to terminate all fleets that are deployed with the script being deleted. @@ -3468,20 +3466,20 @@ func (c *GameLift) DeregisterGameServerRequest(input *DeregisterGameServerInput) // DeregisterGameServer API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // -// Removes the game server resource from the game server group. As a result -// of this action, the de-registered game server can no longer be claimed and -// will not returned in a list of active game servers. +// Removes the game server from a game server group. As a result of this operation, +// the deregistered game server can no longer be claimed and will not be returned +// in a list of active game servers. // -// To de-register a game server, specify the game server group and game server -// ID. If successful, this action emits a CloudWatch event with termination -// time stamp and reason. +// To deregister a game server, specify the game server group and game server +// ID. If successful, this operation emits a CloudWatch event with termination +// timestamp and reason. // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -3906,6 +3904,12 @@ func (c *GameLift) DescribeFleetAttributesRequest(input *DescribeFleetAttributes Name: opDescribeFleetAttributes, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -3929,7 +3933,7 @@ func (c *GameLift) DescribeFleetAttributesRequest(input *DescribeFleetAttributes // object is returned for each fleet requested, unless the fleet identifier // is not found. // -// Some API actions may limit the number of fleet IDs allowed in one request. +// Some API operations 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 number. // @@ -3999,6 +4003,58 @@ func (c *GameLift) DescribeFleetAttributesWithContext(ctx aws.Context, input *De return out, req.Send() } +// DescribeFleetAttributesPages iterates over the pages of a DescribeFleetAttributes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeFleetAttributes method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeFleetAttributes operation. +// pageNum := 0 +// err := client.DescribeFleetAttributesPages(params, +// func(page *gamelift.DescribeFleetAttributesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribeFleetAttributesPages(input *DescribeFleetAttributesInput, fn func(*DescribeFleetAttributesOutput, bool) bool) error { + return c.DescribeFleetAttributesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeFleetAttributesPagesWithContext same as DescribeFleetAttributesPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeFleetAttributesPagesWithContext(ctx aws.Context, input *DescribeFleetAttributesInput, fn func(*DescribeFleetAttributesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeFleetAttributesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeFleetAttributesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeFleetAttributesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeFleetCapacity = "DescribeFleetCapacity" // DescribeFleetCapacityRequest generates a "aws/request.Request" representing the @@ -4030,6 +4086,12 @@ func (c *GameLift) DescribeFleetCapacityRequest(input *DescribeFleetCapacityInpu Name: opDescribeFleetCapacity, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -4055,7 +4117,7 @@ func (c *GameLift) DescribeFleetCapacityRequest(input *DescribeFleetCapacityInpu // is provided, attribute objects are returned only for fleets that currently // exist. // -// Some API actions may limit the number of fleet IDs allowed in one request. +// Some API operations 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. // @@ -4127,6 +4189,58 @@ func (c *GameLift) DescribeFleetCapacityWithContext(ctx aws.Context, input *Desc return out, req.Send() } +// DescribeFleetCapacityPages iterates over the pages of a DescribeFleetCapacity operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeFleetCapacity method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeFleetCapacity operation. +// pageNum := 0 +// err := client.DescribeFleetCapacityPages(params, +// func(page *gamelift.DescribeFleetCapacityOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribeFleetCapacityPages(input *DescribeFleetCapacityInput, fn func(*DescribeFleetCapacityOutput, bool) bool) error { + return c.DescribeFleetCapacityPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeFleetCapacityPagesWithContext same as DescribeFleetCapacityPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeFleetCapacityPagesWithContext(ctx aws.Context, input *DescribeFleetCapacityInput, fn func(*DescribeFleetCapacityOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeFleetCapacityInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeFleetCapacityRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeFleetCapacityOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeFleetEvents = "DescribeFleetEvents" // DescribeFleetEventsRequest generates a "aws/request.Request" representing the @@ -4158,6 +4272,12 @@ func (c *GameLift) DescribeFleetEventsRequest(input *DescribeFleetEventsInput) ( Name: opDescribeFleetEvents, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -4242,6 +4362,58 @@ func (c *GameLift) DescribeFleetEventsWithContext(ctx aws.Context, input *Descri return out, req.Send() } +// DescribeFleetEventsPages iterates over the pages of a DescribeFleetEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeFleetEvents method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeFleetEvents operation. +// pageNum := 0 +// err := client.DescribeFleetEventsPages(params, +// func(page *gamelift.DescribeFleetEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribeFleetEventsPages(input *DescribeFleetEventsInput, fn func(*DescribeFleetEventsOutput, bool) bool) error { + return c.DescribeFleetEventsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeFleetEventsPagesWithContext same as DescribeFleetEventsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeFleetEventsPagesWithContext(ctx aws.Context, input *DescribeFleetEventsInput, fn func(*DescribeFleetEventsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeFleetEventsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeFleetEventsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeFleetEventsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeFleetPortSettings = "DescribeFleetPortSettings" // DescribeFleetPortSettingsRequest generates a "aws/request.Request" representing the @@ -4393,6 +4565,12 @@ func (c *GameLift) DescribeFleetUtilizationRequest(input *DescribeFleetUtilizati Name: opDescribeFleetUtilization, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -4416,7 +4594,7 @@ func (c *GameLift) DescribeFleetUtilizationRequest(input *DescribeFleetUtilizati // object is returned for each requested fleet ID, unless the fleet identifier // is not found. // -// Some API actions may limit the number of fleet IDs allowed in one request. +// Some API operations 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. // @@ -4488,6 +4666,58 @@ func (c *GameLift) DescribeFleetUtilizationWithContext(ctx aws.Context, input *D return out, req.Send() } +// DescribeFleetUtilizationPages iterates over the pages of a DescribeFleetUtilization operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeFleetUtilization method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeFleetUtilization operation. +// pageNum := 0 +// err := client.DescribeFleetUtilizationPages(params, +// func(page *gamelift.DescribeFleetUtilizationOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribeFleetUtilizationPages(input *DescribeFleetUtilizationInput, fn func(*DescribeFleetUtilizationOutput, bool) bool) error { + return c.DescribeFleetUtilizationPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeFleetUtilizationPagesWithContext same as DescribeFleetUtilizationPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeFleetUtilizationPagesWithContext(ctx aws.Context, input *DescribeFleetUtilizationInput, fn func(*DescribeFleetUtilizationOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeFleetUtilizationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeFleetUtilizationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeFleetUtilizationOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeGameServer = "DescribeGameServer" // DescribeGameServerRequest generates a "aws/request.Request" representing the @@ -4532,11 +4762,11 @@ func (c *GameLift) DescribeGameServerRequest(input *DescribeGameServerInput) (re // DescribeGameServer API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // -// Retrieves information for a game server resource. Information includes the -// game server statuses, health check info, and the instance the game server +// Retrieves information for a registered game server. Information includes +// game server status, health check info, and the instance that the game server // is running on. // // To retrieve game server information, specify the game server ID. If successful, @@ -4544,7 +4774,7 @@ func (c *GameLift) DescribeGameServerRequest(input *DescribeGameServerInput) (re // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -4650,17 +4880,20 @@ func (c *GameLift) DescribeGameServerGroupRequest(input *DescribeGameServerGroup // DescribeGameServerGroup API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // -// Retrieves information on a game server group. +// Retrieves information on a game server group. This operation returns only +// properties related to GameLift FleetIQ. To view or update properties for +// the corresponding Auto Scaling group, such as launch template, auto scaling +// policies, and maximum/minimum group size, access the Auto Scaling group directly. // // To get attributes for a game server group, provide a group name or ARN value. // If successful, a GameServerGroup object is returned. // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -4678,6 +4911,8 @@ func (c *GameLift) DescribeGameServerGroupRequest(input *DescribeGameServerGroup // // * SuspendGameServerGroup // +// * DescribeGameServerInstances +// // 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. @@ -4724,6 +4959,196 @@ func (c *GameLift) DescribeGameServerGroupWithContext(ctx aws.Context, input *De return out, req.Send() } +const opDescribeGameServerInstances = "DescribeGameServerInstances" + +// DescribeGameServerInstancesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeGameServerInstances operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 DescribeGameServerInstances for more information on using the DescribeGameServerInstances +// 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 DescribeGameServerInstancesRequest method. +// req, resp := client.DescribeGameServerInstancesRequest(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/DescribeGameServerInstances +func (c *GameLift) DescribeGameServerInstancesRequest(input *DescribeGameServerInstancesInput) (req *request.Request, output *DescribeGameServerInstancesOutput) { + op := &request.Operation{ + Name: opDescribeGameServerInstances, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeGameServerInstancesInput{} + } + + output = &DescribeGameServerInstancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeGameServerInstances API operation for Amazon GameLift. +// +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. +// +// Retrieves status information about the Amazon EC2 instances associated with +// a GameLift FleetIQ game server group. Use this operation to detect when instances +// are active or not available to host new game servers. If you are looking +// for instance configuration information, call DescribeGameServerGroup or access +// the corresponding Auto Scaling group properties. +// +// To request status for all instances in the game server group, provide a game +// server group ID only. To request status for specific instances, provide the +// game server group ID and one or more instance IDs. Use the pagination parameters +// to retrieve results in sequential segments. If successful, a collection of +// GameServerInstance objects is returned. +// +// This operation is not designed to be called with every game server claim +// request; this practice can cause you to exceed your API limit, which results +// in errors. Instead, as a best practice, cache the results and refresh your +// cache no more than once every 10 seconds. +// +// Learn more +// +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) +// +// Related operations +// +// * CreateGameServerGroup +// +// * ListGameServerGroups +// +// * DescribeGameServerGroup +// +// * UpdateGameServerGroup +// +// * DeleteGameServerGroup +// +// * ResumeGameServerGroup +// +// * SuspendGameServerGroup +// +// * DescribeGameServerInstances +// +// 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 DescribeGameServerInstances for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// One or more parameter values in the request are invalid. Correct the invalid +// parameter values before retrying. +// +// * NotFoundException +// A service resource associated with the request could not be found. Clients +// should not retry such requests. +// +// * UnauthorizedException +// The client failed authentication. Clients should not retry such requests. +// +// * 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/DescribeGameServerInstances +func (c *GameLift) DescribeGameServerInstances(input *DescribeGameServerInstancesInput) (*DescribeGameServerInstancesOutput, error) { + req, out := c.DescribeGameServerInstancesRequest(input) + return out, req.Send() +} + +// DescribeGameServerInstancesWithContext is the same as DescribeGameServerInstances with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeGameServerInstances 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) DescribeGameServerInstancesWithContext(ctx aws.Context, input *DescribeGameServerInstancesInput, opts ...request.Option) (*DescribeGameServerInstancesOutput, error) { + req, out := c.DescribeGameServerInstancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeGameServerInstancesPages iterates over the pages of a DescribeGameServerInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeGameServerInstances method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeGameServerInstances operation. +// pageNum := 0 +// err := client.DescribeGameServerInstancesPages(params, +// func(page *gamelift.DescribeGameServerInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribeGameServerInstancesPages(input *DescribeGameServerInstancesInput, fn func(*DescribeGameServerInstancesOutput, bool) bool) error { + return c.DescribeGameServerInstancesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeGameServerInstancesPagesWithContext same as DescribeGameServerInstancesPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeGameServerInstancesPagesWithContext(ctx aws.Context, input *DescribeGameServerInstancesInput, fn func(*DescribeGameServerInstancesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeGameServerInstancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeGameServerInstancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeGameServerInstancesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeGameSessionDetails = "DescribeGameSessionDetails" // DescribeGameSessionDetailsRequest generates a "aws/request.Request" representing the @@ -4755,6 +5180,12 @@ func (c *GameLift) DescribeGameSessionDetailsRequest(input *DescribeGameSessionD Name: opDescribeGameSessionDetails, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -4769,7 +5200,7 @@ func (c *GameLift) DescribeGameSessionDetailsRequest(input *DescribeGameSessionD // 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 +// more game sessions. This operation 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. @@ -4848,6 +5279,58 @@ func (c *GameLift) DescribeGameSessionDetailsWithContext(ctx aws.Context, input return out, req.Send() } +// DescribeGameSessionDetailsPages iterates over the pages of a DescribeGameSessionDetails operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeGameSessionDetails method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeGameSessionDetails operation. +// pageNum := 0 +// err := client.DescribeGameSessionDetailsPages(params, +// func(page *gamelift.DescribeGameSessionDetailsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribeGameSessionDetailsPages(input *DescribeGameSessionDetailsInput, fn func(*DescribeGameSessionDetailsOutput, bool) bool) error { + return c.DescribeGameSessionDetailsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeGameSessionDetailsPagesWithContext same as DescribeGameSessionDetailsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeGameSessionDetailsPagesWithContext(ctx aws.Context, input *DescribeGameSessionDetailsInput, fn func(*DescribeGameSessionDetailsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeGameSessionDetailsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeGameSessionDetailsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeGameSessionDetailsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeGameSessionPlacement = "DescribeGameSessionPlacement" // DescribeGameSessionPlacementRequest generates a "aws/request.Request" representing the @@ -4988,6 +5471,12 @@ func (c *GameLift) DescribeGameSessionQueuesRequest(input *DescribeGameSessionQu Name: opDescribeGameSessionQueues, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -5067,6 +5556,58 @@ func (c *GameLift) DescribeGameSessionQueuesWithContext(ctx aws.Context, input * return out, req.Send() } +// DescribeGameSessionQueuesPages iterates over the pages of a DescribeGameSessionQueues operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeGameSessionQueues method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeGameSessionQueues operation. +// pageNum := 0 +// err := client.DescribeGameSessionQueuesPages(params, +// func(page *gamelift.DescribeGameSessionQueuesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribeGameSessionQueuesPages(input *DescribeGameSessionQueuesInput, fn func(*DescribeGameSessionQueuesOutput, bool) bool) error { + return c.DescribeGameSessionQueuesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeGameSessionQueuesPagesWithContext same as DescribeGameSessionQueuesPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeGameSessionQueuesPagesWithContext(ctx aws.Context, input *DescribeGameSessionQueuesInput, fn func(*DescribeGameSessionQueuesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeGameSessionQueuesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeGameSessionQueuesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeGameSessionQueuesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeGameSessions = "DescribeGameSessions" // DescribeGameSessionsRequest generates a "aws/request.Request" representing the @@ -5098,6 +5639,12 @@ func (c *GameLift) DescribeGameSessionsRequest(input *DescribeGameSessionsInput) Name: opDescribeGameSessions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -5192,6 +5739,58 @@ func (c *GameLift) DescribeGameSessionsWithContext(ctx aws.Context, input *Descr return out, req.Send() } +// DescribeGameSessionsPages iterates over the pages of a DescribeGameSessions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeGameSessions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeGameSessions operation. +// pageNum := 0 +// err := client.DescribeGameSessionsPages(params, +// func(page *gamelift.DescribeGameSessionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribeGameSessionsPages(input *DescribeGameSessionsInput, fn func(*DescribeGameSessionsOutput, bool) bool) error { + return c.DescribeGameSessionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeGameSessionsPagesWithContext same as DescribeGameSessionsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeGameSessionsPagesWithContext(ctx aws.Context, input *DescribeGameSessionsInput, fn func(*DescribeGameSessionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeGameSessionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeGameSessionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeGameSessionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeInstances = "DescribeInstances" // DescribeInstancesRequest generates a "aws/request.Request" representing the @@ -5223,6 +5822,12 @@ func (c *GameLift) DescribeInstancesRequest(input *DescribeInstancesInput) (req Name: opDescribeInstances, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -5237,7 +5842,7 @@ func (c *GameLift) DescribeInstancesRequest(input *DescribeInstancesInput) (req // 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 +// Use this operation 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 @@ -5303,6 +5908,58 @@ func (c *GameLift) DescribeInstancesWithContext(ctx aws.Context, input *Describe return out, req.Send() } +// DescribeInstancesPages iterates over the pages of a DescribeInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstances method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeInstances operation. +// pageNum := 0 +// err := client.DescribeInstancesPages(params, +// func(page *gamelift.DescribeInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error { + return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInstancesPagesWithContext same as DescribeInstancesPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInstancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInstancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMatchmaking = "DescribeMatchmaking" // DescribeMatchmakingRequest generates a "aws/request.Request" representing the @@ -5348,18 +6005,20 @@ func (c *GameLift) DescribeMatchmakingRequest(input *DescribeMatchmakingInput) ( // DescribeMatchmaking API operation for Amazon GameLift. // // Retrieves 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. +// ticket information, including--after a successful match is made--connection +// information for the resulting new game session. // // To request matchmaking tickets, provide a list of up to 10 ticket IDs. If // the request is successful, a ticket object is returned for each requested // ID that currently exists. // +// This operation is not designed to be continually called to track matchmaking +// ticket status. This practice can cause you to exceed your API limit, which +// results in errors. Instead, as a best practice, set up an Amazon Simple Notification +// Service (SNS) to receive notifications, and provide the topic ARN in the +// matchmaking configuration. Continuously poling ticket status with DescribeMatchmaking +// should only be used for games in development with low matchmaking usage. +// // Learn more // // Add FlexMatch to a Game Client (https://docs.aws.amazon.com/gamelift/latest/developerguide/match-client.html) @@ -5451,6 +6110,12 @@ func (c *GameLift) DescribeMatchmakingConfigurationsRequest(input *DescribeMatch Name: opDescribeMatchmakingConfigurations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -5464,14 +6129,17 @@ func (c *GameLift) DescribeMatchmakingConfigurationsRequest(input *DescribeMatch // 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. +// Retrieves the details of FlexMatch matchmaking configurations. +// +// This operation offers the following options: (1) retrieve all matchmaking +// configurations, (2) retrieve configurations for a specified list, 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. // // Learn more // @@ -5537,6 +6205,58 @@ func (c *GameLift) DescribeMatchmakingConfigurationsWithContext(ctx aws.Context, return out, req.Send() } +// DescribeMatchmakingConfigurationsPages iterates over the pages of a DescribeMatchmakingConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMatchmakingConfigurations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeMatchmakingConfigurations operation. +// pageNum := 0 +// err := client.DescribeMatchmakingConfigurationsPages(params, +// func(page *gamelift.DescribeMatchmakingConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribeMatchmakingConfigurationsPages(input *DescribeMatchmakingConfigurationsInput, fn func(*DescribeMatchmakingConfigurationsOutput, bool) bool) error { + return c.DescribeMatchmakingConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMatchmakingConfigurationsPagesWithContext same as DescribeMatchmakingConfigurationsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeMatchmakingConfigurationsPagesWithContext(ctx aws.Context, input *DescribeMatchmakingConfigurationsInput, fn func(*DescribeMatchmakingConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMatchmakingConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMatchmakingConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMatchmakingConfigurationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMatchmakingRuleSets = "DescribeMatchmakingRuleSets" // DescribeMatchmakingRuleSetsRequest generates a "aws/request.Request" representing the @@ -5568,6 +6288,12 @@ func (c *GameLift) DescribeMatchmakingRuleSetsRequest(input *DescribeMatchmaking Name: opDescribeMatchmakingRuleSets, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -5655,6 +6381,58 @@ func (c *GameLift) DescribeMatchmakingRuleSetsWithContext(ctx aws.Context, input return out, req.Send() } +// DescribeMatchmakingRuleSetsPages iterates over the pages of a DescribeMatchmakingRuleSets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMatchmakingRuleSets method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeMatchmakingRuleSets operation. +// pageNum := 0 +// err := client.DescribeMatchmakingRuleSetsPages(params, +// func(page *gamelift.DescribeMatchmakingRuleSetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribeMatchmakingRuleSetsPages(input *DescribeMatchmakingRuleSetsInput, fn func(*DescribeMatchmakingRuleSetsOutput, bool) bool) error { + return c.DescribeMatchmakingRuleSetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMatchmakingRuleSetsPagesWithContext same as DescribeMatchmakingRuleSetsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeMatchmakingRuleSetsPagesWithContext(ctx aws.Context, input *DescribeMatchmakingRuleSetsInput, fn func(*DescribeMatchmakingRuleSetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMatchmakingRuleSetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMatchmakingRuleSetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMatchmakingRuleSetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribePlayerSessions = "DescribePlayerSessions" // DescribePlayerSessionsRequest generates a "aws/request.Request" representing the @@ -5686,6 +6464,12 @@ func (c *GameLift) DescribePlayerSessionsRequest(input *DescribePlayerSessionsIn Name: opDescribePlayerSessions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -5699,8 +6483,8 @@ func (c *GameLift) DescribePlayerSessionsRequest(input *DescribePlayerSessionsIn // 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 +// Retrieves properties for one or more player sessions. This operation 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. @@ -5768,6 +6552,58 @@ func (c *GameLift) DescribePlayerSessionsWithContext(ctx aws.Context, input *Des return out, req.Send() } +// DescribePlayerSessionsPages iterates over the pages of a DescribePlayerSessions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribePlayerSessions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribePlayerSessions operation. +// pageNum := 0 +// err := client.DescribePlayerSessionsPages(params, +// func(page *gamelift.DescribePlayerSessionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribePlayerSessionsPages(input *DescribePlayerSessionsInput, fn func(*DescribePlayerSessionsOutput, bool) bool) error { + return c.DescribePlayerSessionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribePlayerSessionsPagesWithContext same as DescribePlayerSessionsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribePlayerSessionsPagesWithContext(ctx aws.Context, input *DescribePlayerSessionsInput, fn func(*DescribePlayerSessionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribePlayerSessionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribePlayerSessionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribePlayerSessionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeRuntimeConfiguration = "DescribeRuntimeConfiguration" // DescribeRuntimeConfigurationRequest generates a "aws/request.Request" representing the @@ -5919,6 +6755,12 @@ func (c *GameLift) DescribeScalingPoliciesRequest(input *DescribeScalingPolicies Name: opDescribeScalingPolicies, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -5940,9 +6782,9 @@ func (c *GameLift) DescribeScalingPoliciesRequest(input *DescribeScalingPolicies // pages. If successful, set of ScalingPolicy objects is returned for the fleet. // // A fleet may have all of its scaling policies suspended (StopFleetActions). -// This action does not affect the status of the scaling policies, which remains -// ACTIVE. To see whether a fleet's scaling policies are in force or suspended, -// call DescribeFleetAttributes and check the stopped actions. +// This operation does not affect the status of the scaling policies, which +// remains ACTIVE. To see whether a fleet's scaling policies are in force or +// suspended, call DescribeFleetAttributes and check the stopped actions. // // * DescribeFleetCapacity // @@ -6001,6 +6843,58 @@ func (c *GameLift) DescribeScalingPoliciesWithContext(ctx aws.Context, input *De return out, req.Send() } +// DescribeScalingPoliciesPages iterates over the pages of a DescribeScalingPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeScalingPolicies method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a DescribeScalingPolicies operation. +// pageNum := 0 +// err := client.DescribeScalingPoliciesPages(params, +// func(page *gamelift.DescribeScalingPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) DescribeScalingPoliciesPages(input *DescribeScalingPoliciesInput, fn func(*DescribeScalingPoliciesOutput, bool) bool) error { + return c.DescribeScalingPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeScalingPoliciesPagesWithContext same as DescribeScalingPoliciesPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) DescribeScalingPoliciesPagesWithContext(ctx aws.Context, input *DescribeScalingPoliciesInput, fn func(*DescribeScalingPoliciesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeScalingPoliciesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeScalingPoliciesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeScalingPoliciesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeScript = "DescribeScript" // DescribeScriptRequest generates a "aws/request.Request" representing the @@ -6494,7 +7388,7 @@ func (c *GameLift) GetInstanceAccessRequest(input *GetInstanceAccessInput) (req // 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, as shown in one of the examples for this -// action. +// operation. // // To request access to a specific instance, specify the IDs of both the instance // and the fleet it belongs to. You can retrieve a fleet's instance IDs by calling @@ -6590,6 +7484,12 @@ func (c *GameLift) ListAliasesRequest(input *ListAliasesInput) (req *request.Req Name: opListAliases, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -6663,6 +7563,58 @@ func (c *GameLift) ListAliasesWithContext(ctx aws.Context, input *ListAliasesInp return out, req.Send() } +// ListAliasesPages iterates over the pages of a ListAliases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAliases method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListAliases operation. +// pageNum := 0 +// err := client.ListAliasesPages(params, +// func(page *gamelift.ListAliasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) ListAliasesPages(input *ListAliasesInput, fn func(*ListAliasesOutput, bool) bool) error { + return c.ListAliasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAliasesPagesWithContext same as ListAliasesPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) ListAliasesPagesWithContext(ctx aws.Context, input *ListAliasesInput, fn func(*ListAliasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAliasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAliasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAliasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListBuilds = "ListBuilds" // ListBuildsRequest generates a "aws/request.Request" representing the @@ -6694,6 +7646,12 @@ func (c *GameLift) ListBuildsRequest(input *ListBuildsInput) (req *request.Reque Name: opListBuilds, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -6772,6 +7730,58 @@ func (c *GameLift) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInput return out, req.Send() } +// ListBuildsPages iterates over the pages of a ListBuilds operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBuilds method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListBuilds operation. +// pageNum := 0 +// err := client.ListBuildsPages(params, +// func(page *gamelift.ListBuildsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) ListBuildsPages(input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool) error { + return c.ListBuildsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBuildsPagesWithContext same as ListBuildsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) ListBuildsPagesWithContext(ctx aws.Context, input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBuildsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBuildsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListBuildsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListFleets = "ListFleets" // ListFleetsRequest generates a "aws/request.Request" representing the @@ -6803,6 +7813,12 @@ func (c *GameLift) ListFleetsRequest(input *ListFleetsInput) (req *request.Reque Name: opListFleets, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -6887,6 +7903,58 @@ func (c *GameLift) ListFleetsWithContext(ctx aws.Context, input *ListFleetsInput return out, req.Send() } +// ListFleetsPages iterates over the pages of a ListFleets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFleets method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFleets operation. +// pageNum := 0 +// err := client.ListFleetsPages(params, +// func(page *gamelift.ListFleetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) ListFleetsPages(input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool) error { + return c.ListFleetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFleetsPagesWithContext same as ListFleetsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) ListFleetsPagesWithContext(ctx aws.Context, input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFleetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFleetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFleetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListGameServerGroups = "ListGameServerGroups" // ListGameServerGroupsRequest generates a "aws/request.Request" representing the @@ -6918,6 +7986,12 @@ func (c *GameLift) ListGameServerGroupsRequest(input *ListGameServerGroupsInput) Name: opListGameServerGroups, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -6931,16 +8005,16 @@ func (c *GameLift) ListGameServerGroupsRequest(input *ListGameServerGroupsInput) // ListGameServerGroups API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // // Retrieves information on all game servers groups that exist in the current -// AWS account for the selected region. Use the pagination parameters to retrieve -// results in a set of sequential pages. +// AWS account for the selected Region. Use the pagination parameters to retrieve +// results in a set of sequential segments. // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -6958,6 +8032,8 @@ func (c *GameLift) ListGameServerGroupsRequest(input *ListGameServerGroupsInput) // // * SuspendGameServerGroup // +// * DescribeGameServerInstances +// // 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. @@ -7000,6 +8076,58 @@ func (c *GameLift) ListGameServerGroupsWithContext(ctx aws.Context, input *ListG return out, req.Send() } +// ListGameServerGroupsPages iterates over the pages of a ListGameServerGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGameServerGroups method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListGameServerGroups operation. +// pageNum := 0 +// err := client.ListGameServerGroupsPages(params, +// func(page *gamelift.ListGameServerGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) ListGameServerGroupsPages(input *ListGameServerGroupsInput, fn func(*ListGameServerGroupsOutput, bool) bool) error { + return c.ListGameServerGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListGameServerGroupsPagesWithContext same as ListGameServerGroupsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) ListGameServerGroupsPagesWithContext(ctx aws.Context, input *ListGameServerGroupsInput, fn func(*ListGameServerGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListGameServerGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListGameServerGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListGameServerGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListGameServers = "ListGameServers" // ListGameServersRequest generates a "aws/request.Request" representing the @@ -7031,6 +8159,12 @@ func (c *GameLift) ListGameServersRequest(input *ListGameServersInput) (req *req Name: opListGameServers, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -7044,18 +8178,17 @@ func (c *GameLift) ListGameServersRequest(input *ListGameServersInput) (req *req // ListGameServers API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // -// Retrieves information on all game servers that are currently running in a -// specified game server group. If there are custom key sort values for your -// game servers, you can opt to have the returned list sorted based on these -// values. Use the pagination parameters to retrieve results in a set of sequential -// pages. +// Retrieves information on all game servers that are currently active in a +// specified game server group. You can opt to sort the list by game server +// age. Use the pagination parameters to retrieve results in a set of sequential +// segments. // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -7113,6 +8246,58 @@ func (c *GameLift) ListGameServersWithContext(ctx aws.Context, input *ListGameSe return out, req.Send() } +// ListGameServersPages iterates over the pages of a ListGameServers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGameServers method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListGameServers operation. +// pageNum := 0 +// err := client.ListGameServersPages(params, +// func(page *gamelift.ListGameServersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) ListGameServersPages(input *ListGameServersInput, fn func(*ListGameServersOutput, bool) bool) error { + return c.ListGameServersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListGameServersPagesWithContext same as ListGameServersPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) ListGameServersPagesWithContext(ctx aws.Context, input *ListGameServersInput, fn func(*ListGameServersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListGameServersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListGameServersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListGameServersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListScripts = "ListScripts" // ListScriptsRequest generates a "aws/request.Request" representing the @@ -7144,6 +8329,12 @@ func (c *GameLift) ListScriptsRequest(input *ListScriptsInput) (req *request.Req Name: opListScripts, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -7218,6 +8409,58 @@ func (c *GameLift) ListScriptsWithContext(ctx aws.Context, input *ListScriptsInp return out, req.Send() } +// ListScriptsPages iterates over the pages of a ListScripts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListScripts method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListScripts operation. +// pageNum := 0 +// err := client.ListScriptsPages(params, +// func(page *gamelift.ListScriptsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) ListScriptsPages(input *ListScriptsInput, fn func(*ListScriptsOutput, bool) bool) error { + return c.ListScriptsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListScriptsPagesWithContext same as ListScriptsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) ListScriptsPagesWithContext(ctx aws.Context, input *ListScriptsInput, fn func(*ListScriptsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListScriptsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListScriptsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListScriptsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -7263,9 +8506,9 @@ func (c *GameLift) ListTagsForResourceRequest(input *ListTagsForResourceInput) ( // ListTagsForResource API operation for Amazon GameLift. // // Retrieves all tags that are assigned to a GameLift resource. Resource tags -// are used to organize AWS resources for a range of purposes. This action handles -// the permissions necessary to manage tags for the following GameLift resource -// types: +// are used to organize AWS resources for a range of purposes. This operation +// handles the permissions necessary to manage tags for the following GameLift +// resource types: // // * Build // @@ -7566,11 +8809,11 @@ func (c *GameLift) RegisterGameServerRequest(input *RegisterGameServerInput) (re // RegisterGameServer API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // // Creates a new game server resource and notifies GameLift FleetIQ that the -// game server is ready to host gameplay and players. This action is called +// game server is ready to host gameplay and players. This operation is called // by a game server process that is running on an instance in a game server // group. Registering game servers enables GameLift FleetIQ to track available // game servers and enables game clients and services to claim a game server @@ -7578,17 +8821,18 @@ func (c *GameLift) RegisterGameServerRequest(input *RegisterGameServerInput) (re // // To register a game server, identify the game server group and instance where // the game server is running, and provide a unique identifier for the game -// server. You can also include connection and game server data; when a game +// server. You can also include connection and game server data. When a game // client or service requests a game server by calling ClaimGameServer, this -// information is returned in response. +// information is returned in the response. // // Once a game server is successfully registered, it is put in status AVAILABLE. -// A request to register a game server may fail if the instance it is in the -// process of shutting down as part of instance rebalancing or scale-down activity. +// A request to register a game server may fail if the instance it is running +// on is in the process of shutting down as part of instance balancing or scale-down +// activity. // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -7924,22 +9168,23 @@ func (c *GameLift) ResumeGameServerGroupRequest(input *ResumeGameServerGroupInpu // ResumeGameServerGroup API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // // Reinstates activity on a game server group after it has been suspended. A -// game server group may be suspended by calling SuspendGameServerGroup, or -// it may have been involuntarily suspended due to a configuration problem. -// You can manually resume activity on the group once the configuration problem -// has been resolved. Refer to the game server group status and status reason -// for more information on why group activity is suspended. +// game server group might be suspended by theSuspendGameServerGroup operation, +// or it might be suspended involuntarily due to a configuration problem. In +// the second case, you can manually resume activity on the group once the configuration +// problem has been resolved. Refer to the game server group status and status +// reason for more information on why group activity is suspended. // // To resume activity, specify a game server group ARN and the type of activity -// to be resumed. +// to be resumed. If successful, a GameServerGroup object is returned showing +// that the resumed activity is no longer listed in SuspendedActions. // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -7957,6 +9202,8 @@ func (c *GameLift) ResumeGameServerGroupRequest(input *ResumeGameServerGroupInpu // // * SuspendGameServerGroup // +// * DescribeGameServerInstances +// // 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. @@ -8034,6 +9281,12 @@ func (c *GameLift) SearchGameSessionsRequest(input *SearchGameSessionsInput) (re Name: opSearchGameSessions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "Limit", + TruncationToken: "", + }, } if input == nil { @@ -8165,6 +9418,58 @@ func (c *GameLift) SearchGameSessionsWithContext(ctx aws.Context, input *SearchG return out, req.Send() } +// SearchGameSessionsPages iterates over the pages of a SearchGameSessions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchGameSessions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a SearchGameSessions operation. +// pageNum := 0 +// err := client.SearchGameSessionsPages(params, +// func(page *gamelift.SearchGameSessionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GameLift) SearchGameSessionsPages(input *SearchGameSessionsInput, fn func(*SearchGameSessionsOutput, bool) bool) error { + return c.SearchGameSessionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchGameSessionsPagesWithContext same as SearchGameSessionsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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) SearchGameSessionsPagesWithContext(ctx aws.Context, input *SearchGameSessionsInput, fn func(*SearchGameSessionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchGameSessionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchGameSessionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchGameSessionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opStartFleetActions = "StartFleetActions" // StartFleetActionsRequest generates a "aws/request.Request" representing the @@ -8621,25 +9926,12 @@ func (c *GameLift) StartMatchmakingRequest(input *StartMatchmakingInput) (req *r // 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. +// 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. Ticket status +// updates are tracked using event notification through Amazon Simple Notification +// Service (SNS), which is defined in the matchmaking configuration. // // Processing a matchmaking request -- FlexMatch handles a matchmaking request // as follows: @@ -9018,7 +10310,7 @@ func (c *GameLift) StopMatchmakingRequest(input *StopMatchmakingInput) (req *req // that has automatic backfill enabled. The ticket ID is included in the MatchmakerData // of an updated game session object, which is provided to the game server. // -// If the action is successful, the service sends back an empty JSON struct +// If the operation is successful, the service sends back an empty JSON struct // with the HTTP 200 response (not an empty HTTP body). // // Learn more @@ -9127,28 +10419,29 @@ func (c *GameLift) SuspendGameServerGroupRequest(input *SuspendGameServerGroupIn // SuspendGameServerGroup API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // // Temporarily stops activity on a game server group without terminating instances -// or the game server group. Activity can be restarted by calling ResumeGameServerGroup. -// Activities that can suspended are: -// -// * Instance type replacement. This activity evaluates the current Spot -// viability of all instance types that are defined for the game server group. -// It updates the Auto Scaling group to remove nonviable Spot instance types -// (which have a higher chance of game server interruptions) and rebalances -// capacity across the remaining viable Spot instance types. When this activity -// is suspended, the Auto Scaling group continues with its current balance, -// regardless of viability. Instance protection, utilization metrics, and -// capacity autoscaling activities continue to be active. +// or the game server group. You can restart activity by calling ResumeGameServerGroup. +// You can suspend the following activity: +// +// * Instance type replacement - This activity evaluates the current game +// hosting viability of all Spot instance types that are defined for the +// game server group. It updates the Auto Scaling group to remove nonviable +// Spot Instance types, which have a higher chance of game server interruptions. +// It then balances capacity across the remaining viable Spot Instance types. +// When this activity is suspended, the Auto Scaling group continues with +// its current balance, regardless of viability. Instance protection, utilization +// metrics, and capacity scaling activities continue to be active. // // To suspend activity, specify a game server group ARN and the type of activity -// to be suspended. +// to be suspended. If successful, a GameServerGroup object is returned showing +// that the activity is listed in SuspendedActions. // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -9166,6 +10459,8 @@ func (c *GameLift) SuspendGameServerGroupRequest(input *SuspendGameServerGroupIn // // * SuspendGameServerGroup // +// * DescribeGameServerInstances +// // 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. @@ -9260,8 +10555,8 @@ func (c *GameLift) TagResourceRequest(input *TagResourceInput) (req *request.Req // Assigns a tag to a GameLift resource. AWS resource tags provide an additional // management tool set. You can use tags to organize resources, create IAM permissions // policies to manage access to groups of resources, customize AWS cost breakdowns, -// etc. This action handles the permissions necessary to manage tags for the -// following GameLift resource types: +// etc. This operation handles the permissions necessary to manage tags for +// the following GameLift resource types: // // * Build // @@ -9391,7 +10686,7 @@ func (c *GameLift) UntagResourceRequest(input *UntagResourceInput) (req *request // UntagResource API operation for Amazon GameLift. // // Removes a tag that is assigned to a GameLift resource. Resource tags are -// used to organize AWS resources for a range of purposes. This action handles +// used to organize AWS resources for a range of purposes. This operation handles // the permissions necessary to manage tags for the following GameLift resource // types: // @@ -9411,8 +10706,8 @@ func (c *GameLift) UntagResourceRequest(input *UntagResourceInput) (req *request // // To remove a tag from a resource, specify the unique ARN value for the resource // and provide a string list containing one or more tags to be removed. This -// action succeeds even if the list includes tags that are not currently assigned -// to the specified resource. +// operation succeeds even if the list includes tags that are not currently +// assigned to the specified resource. // // Learn more // @@ -9866,10 +11161,10 @@ func (c *GameLift) UpdateFleetCapacityRequest(input *UpdateFleetCapacityInput) ( // 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. +// Updates capacity settings for a fleet. Use this operation to specify the +// number of EC2 instances (hosts) that you want this fleet to contain. Before +// calling this operation, you may want to call DescribeEC2InstanceLimits to +// get the maximum capacity based on the fleet's EC2 instance type. // // Specify minimum and maximum number of instances. Amazon GameLift will not // change fleet capacity to values fall outside of this range. This is particularly @@ -10136,18 +11431,15 @@ func (c *GameLift) UpdateGameServerRequest(input *UpdateGameServerInput) (req *r // UpdateGameServer API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // -// Updates information about a registered game server. This action is called -// by a game server process that is running on an instance in a game server -// group. There are three reasons to update game server information: (1) to -// change the utilization status of the game server, (2) to report game server -// health status, and (3) to change game server metadata. A registered game -// server should regularly report health and should update utilization status -// when it is supporting gameplay so that GameLift FleetIQ can accurately track -// game server availability. You can make all three types of updates in the -// same request. +// Updates information about a registered game server to help GameLift FleetIQ +// to track game server availability. This operation is called by a game server +// process that is running on an instance in a game server group. +// +// Use this operation to update the following types of game server information. +// You can make all three types of updates in the same request: // // * To update the game server's utilization status, identify the game server // and game server group and specify the current utilization status. Use @@ -10157,19 +11449,18 @@ func (c *GameLift) UpdateGameServerRequest(input *UpdateGameServerInput) (req *r // * To report health status, identify the game server and game server group // and set health check to HEALTHY. If a game server does not report health // status for a certain length of time, the game server is no longer considered -// healthy and will be eventually de-registered from the game server group -// to avoid affecting utilization metrics. The best practice is to report -// health every 60 seconds. +// healthy. As a result, it will be eventually deregistered from the game +// server group to avoid affecting utilization metrics. The best practice +// is to report health every 60 seconds. // -// * To change game server metadata, provide updated game server data and -// custom sort key values. +// * To change game server metadata, provide updated game server data. // // Once a game server is successfully updated, the relevant statuses and timestamps // are updated. // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -10275,27 +11566,22 @@ func (c *GameLift) UpdateGameServerGroupRequest(input *UpdateGameServerGroupInpu // UpdateGameServerGroup API operation for Amazon GameLift. // -// This action is part of Amazon GameLift FleetIQ with game server groups, which -// is in preview release and is subject to change. +// This operation is used with the Amazon GameLift FleetIQ solution and game +// server groups. // -// Updates GameLift FleetIQ-specific properties for a game server group. These -// properties include instance rebalancing and game server protection. Many -// Auto Scaling group properties are updated directly. These include autoscaling -// policies, minimum/maximum/desired instance counts, and launch template. +// Updates GameLift FleetIQ-specific properties for a game server group. Many +// Auto Scaling group properties are updated on the Auto Scaling group directly, +// including the launch template, Auto Scaling policies, and maximum/minimum/desired +// instance counts. // // To update the game server group, specify the game server group ID and provide -// the updated values. -// -// Updated properties are validated to ensure that GameLift FleetIQ can continue -// to perform its core instance rebalancing activity. When you change Auto Scaling -// group properties directly and the changes cause errors with GameLift FleetIQ -// activities, an alert is sent. +// the updated values. Before applying the updates, the new values are validated +// to ensure that GameLift FleetIQ can continue to perform instance balancing +// activity. If successful, a GameServerGroup object is returned. // // Learn more // -// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-intro.html) -// -// Updating a GameLift FleetIQ-Linked Auto Scaling Group (https://docs.aws.amazon.com/gamelift/latest/developerguide/gsg-asgroups.html) +// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // // Related operations // @@ -10313,6 +11599,8 @@ func (c *GameLift) UpdateGameServerGroupRequest(input *UpdateGameServerGroupInpu // // * SuspendGameServerGroup // +// * DescribeGameServerInstances +// // 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. @@ -11071,7 +12359,7 @@ func (c *GameLift) ValidateMatchmakingRuleSetWithContext(ctx aws.Context, input return out, req.Send() } -// Represents the input for a request action. +// Represents the input for a request operation. type AcceptMatchInput struct { _ struct{} `type:"structure"` @@ -11532,14 +12820,15 @@ func (s *CertificateConfiguration) SetCertificateType(v string) *CertificateConf type ClaimGameServerInput struct { _ struct{} `type:"structure"` - // A set of custom game server properties, formatted as a single string value, - // to be passed to the claimed game server. + // A set of custom game server properties, formatted as a single string value. + // This data is passed to a game client or service when it requests information + // on game servers using ListGameServers or ClaimGameServer. GameServerData *string `min:"1" type:"string"` - // An identifier for the game server group. When claiming a specific game server, - // this is the game server group whether the game server is located. When requesting - // that GameLift FleetIQ locate an available game server, this is the game server - // group to search on. You can use either the GameServerGroup name or ARN value. + // A unique identifier for the game server group where the game server is running. + // Use either the GameServerGroup name or ARN value.. If you are not specifying + // a game server to claim, this value identifies where you want GameLift FleetIQ + // to look for an available game server to claim. // // GameServerGroupName is a required field GameServerGroupName *string `min:"1" type:"string" required:"true"` @@ -11603,7 +12892,7 @@ func (s *ClaimGameServerInput) SetGameServerId(v string) *ClaimGameServerInput { type ClaimGameServerOutput struct { _ struct{} `type:"structure"` - // Object that describes the newly claimed game server resource. + // Object that describes the newly claimed game server. GameServer *GameServer `type:"structure"` } @@ -11681,7 +12970,7 @@ func (s *ConflictException) RequestID() string { return s.RespMetadata.RequestID } -// Represents the input for a request action. +// Represents the input for a request operation. type CreateAliasInput struct { _ struct{} `type:"structure"` @@ -11777,7 +13066,7 @@ func (s *CreateAliasInput) SetTags(v []*Tag) *CreateAliasInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type CreateAliasOutput struct { _ struct{} `type:"structure"` @@ -11801,7 +13090,7 @@ func (s *CreateAliasOutput) SetAlias(v *Alias) *CreateAliasOutput { return s } -// Represents the input for a request action. +// Represents the input for a request operation. type CreateBuildInput struct { _ struct{} `type:"structure"` @@ -11911,7 +13200,7 @@ func (s *CreateBuildInput) SetVersion(v string) *CreateBuildInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type CreateBuildOutput struct { _ struct{} `type:"structure"` @@ -11956,7 +13245,7 @@ func (s *CreateBuildOutput) SetUploadCredentials(v *AwsCredentials) *CreateBuild return s } -// Represents the input for a request action. +// Represents the input for a request operation. type CreateFleetInput struct { _ struct{} `type:"structure"` @@ -12302,7 +13591,7 @@ func (s *CreateFleetInput) SetTags(v []*Tag) *CreateFleetInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type CreateFleetOutput struct { _ struct{} `type:"structure"` @@ -12332,24 +13621,29 @@ type CreateGameServerGroupInput struct { // Configuration settings to define a scaling policy for the Auto Scaling group // that is optimized for game hosting. The scaling policy uses the metric "PercentUtilizedGameServers" // to maintain a buffer of idle game servers that can immediately accommodate - // new games and players. Once the game server and Auto Scaling groups are created, - // you can update the scaling policy settings directly in Auto Scaling Groups. + // new games and players. After the Auto Scaling group is created, update this + // value directly in the Auto Scaling group using the AWS console or APIs. AutoScalingPolicy *GameServerGroupAutoScalingPolicy `type:"structure"` - // The fallback balancing method to use for the game server group when Spot - // instances in a Region become unavailable or are not viable for game hosting. - // Once triggered, this method remains active until Spot instances can once - // again be used. Method options include: - // - // * SPOT_ONLY -- If Spot instances are unavailable, the game server group - // provides no hosting capacity. No new instances are started, and the existing - // nonviable Spot instances are terminated (once current gameplay ends) and - // not replaced. - // - // * SPOT_PREFERRED -- If Spot instances are unavailable, the game server - // group continues to provide hosting capacity by using On-Demand instances. - // Existing nonviable Spot instances are terminated (once current gameplay - // ends) and replaced with new On-Demand instances. + // Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand + // Instances in the game server group. Method options include the following: + // + // * SPOT_ONLY - Only Spot Instances are used in the game server group. If + // Spot Instances are unavailable or not viable for game hosting, the game + // server group provides no hosting capacity until Spot Instances can again + // be used. Until then, no new instances are started, and the existing nonviable + // Spot Instances are terminated (after current gameplay ends) and are not + // replaced. + // + // * SPOT_PREFERRED - (default value) Spot Instances are used whenever available + // in the game server group. If Spot Instances are unavailable, the game + // server group continues to provide hosting capacity by falling back to + // On-Demand Instances. Existing nonviable Spot Instances are terminated + // (after current gameplay ends) and are replaced with new On-Demand Instances. + // + // * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game server + // group. No Spot Instances are used, even when available, while this balancing + // strategy is in force. BalancingStrategy *string `type:"string" enum:"BalancingStrategy"` // An identifier for the new game server group. This value is used to generate @@ -12361,18 +13655,23 @@ type CreateGameServerGroupInput struct { // A flag that indicates whether instances in the game server group are protected // from early termination. Unprotected instances that have active game servers - // running may by terminated during a scale-down event, causing players to be - // dropped from the game. Protected instances cannot be terminated while there - // are active game servers running. An exception to this is Spot Instances, - // which may be terminated by AWS regardless of protection status. This property + // running might be terminated during a scale-down event, causing players to + // be dropped from the game. Protected instances cannot be terminated while + // there are active game servers running except in the event of a forced game + // server group deletion (see ). An exception to this is with Spot Instances, + // which can be terminated by AWS regardless of protection status. This property // is set to NO_PROTECTION by default. GameServerProtectionPolicy *string `type:"string" enum:"GameServerProtectionPolicy"` - // A set of EC2 instance types to use when creating instances in the group. - // The instance definitions must specify at least two different instance types - // that are supported by GameLift FleetIQ. For more information on instance - // types, see EC2 Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) - // in the Amazon EC2 User Guide. + // The EC2 instance types and sizes to use in the Auto Scaling group. The instance + // definitions must specify at least two different instance types that are supported + // by GameLift FleetIQ. For more information on instance types, see EC2 Instance + // Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // in the Amazon EC2 User Guide. You can optionally specify capacity weighting + // for each instance type. If no weight value is specified for an instance type, + // it is set to the default value "1". For more information about capacity weighting, + // see Instance Weighting for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html) + // in the Amazon EC2 Auto Scaling User Guide. // // InstanceDefinitions is a required field InstanceDefinitions []*InstanceDefinition `min:"2" type:"list" required:"true"` @@ -12382,47 +13681,54 @@ type CreateGameServerGroupInput struct { // the template using either the template name or ID. For help with creating // a launch template, see Creating a Launch Template for an Auto Scaling Group // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) - // in the Amazon EC2 Auto Scaling User Guide. + // in the Amazon EC2 Auto Scaling User Guide. After the Auto Scaling group is + // created, update this value directly in the Auto Scaling group using the AWS + // console or APIs. // // LaunchTemplate is a required field LaunchTemplate *LaunchTemplateSpecification `type:"structure" required:"true"` // The maximum number of instances allowed in the EC2 Auto Scaling group. During - // autoscaling events, GameLift FleetIQ and EC2 do not scale up the group above - // this maximum. + // automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group + // above this maximum. After the Auto Scaling group is created, update this + // value directly in the Auto Scaling group using the AWS console or APIs. // // MaxSize is a required field MaxSize *int64 `min:"1" type:"integer" required:"true"` // The minimum number of instances allowed in the EC2 Auto Scaling group. During - // autoscaling events, GameLift FleetIQ and EC2 do not scale down the group - // below this minimum. In production, this value should be set to at least 1. + // automatic scaling events, GameLift FleetIQ and EC2 do not scale down the + // group below this minimum. In production, this value should be set to at least + // 1. After the Auto Scaling group is created, update this value directly in + // the Auto Scaling group using the AWS console or APIs. // // MinSize is a required field MinSize *int64 `type:"integer" required:"true"` // The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) // for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling - // groups. The submitted role is validated to ensure that it contains the necessary - // permissions for game server groups. + // groups. // // RoleArn is a required field RoleArn *string `min:"1" type:"string" required:"true"` // A list of labels to assign to the new game server group resource. Tags are - // developer-defined key-value pairs. Tagging AWS resources are useful for resource + // developer-defined key-value pairs. Tagging AWS resources is useful for resource // management, access management, and cost allocation. For more information, // see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) // in the AWS General Reference. Once the resource is created, you can use TagResource, - // UntagResource, and ListTagsForResource to add, remove, and view tags. The - // maximum tag limit may be lower than stated. See the AWS General Reference + // UntagResource, and ListTagsForResource to add, remove, and view tags, respectively. + // The maximum tag limit may be lower than stated. See the AWS General Reference // for actual tagging limits. Tags []*Tag `type:"list"` // A list of virtual private cloud (VPC) subnets to use with instances in the - // game server group. By default, all GameLift FleetIQ-supported availability - // zones are used; this parameter allows you to specify VPCs that you've set - // up. + // game server group. By default, all GameLift FleetIQ-supported Availability + // Zones are used. You can use this parameter to specify VPCs that you've set + // up. This property cannot be updated after the game server group is created, + // and the corresponding Auto Scaling group will always use the property value + // that is set with this request, even if the Auto Scaling group is updated + // directly VpcSubnets []*string `min:"1" type:"list"` } @@ -12601,7 +13907,7 @@ func (s *CreateGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *Cr return s } -// Represents the input for a request action. +// Represents the input for a request operation. type CreateGameSessionInput struct { _ struct{} `type:"structure"` @@ -12760,7 +14066,7 @@ func (s *CreateGameSessionInput) SetName(v string) *CreateGameSessionInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type CreateGameSessionOutput struct { _ struct{} `type:"structure"` @@ -12784,7 +14090,7 @@ func (s *CreateGameSessionOutput) SetGameSession(v *GameSession) *CreateGameSess return s } -// Represents the input for a request action. +// Represents the input for a request operation. type CreateGameSessionQueueInput struct { _ struct{} `type:"structure"` @@ -12903,7 +14209,7 @@ func (s *CreateGameSessionQueueInput) SetTimeoutInSeconds(v int64) *CreateGameSe return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type CreateGameSessionQueueOutput struct { _ struct{} `type:"structure"` @@ -12927,7 +14233,7 @@ func (s *CreateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) return s } -// Represents the input for a request action. +// Represents the input for a request operation. type CreateMatchmakingConfigurationInput struct { _ struct{} `type:"structure"` @@ -13173,7 +14479,7 @@ func (s *CreateMatchmakingConfigurationInput) SetTags(v []*Tag) *CreateMatchmaki return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type CreateMatchmakingConfigurationOutput struct { _ struct{} `type:"structure"` @@ -13197,7 +14503,7 @@ func (s *CreateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingCo return s } -// Represents the input for a request action. +// Represents the input for a request operation. type CreateMatchmakingRuleSetInput struct { _ struct{} `type:"structure"` @@ -13282,7 +14588,7 @@ func (s *CreateMatchmakingRuleSetInput) SetTags(v []*Tag) *CreateMatchmakingRule return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type CreateMatchmakingRuleSetOutput struct { _ struct{} `type:"structure"` @@ -13308,7 +14614,7 @@ func (s *CreateMatchmakingRuleSetOutput) SetRuleSet(v *MatchmakingRuleSet) *Crea return s } -// Represents the input for a request action. +// Represents the input for a request operation. type CreatePlayerSessionInput struct { _ struct{} `type:"structure"` @@ -13380,7 +14686,7 @@ func (s *CreatePlayerSessionInput) SetPlayerId(v string) *CreatePlayerSessionInp return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type CreatePlayerSessionOutput struct { _ struct{} `type:"structure"` @@ -13404,7 +14710,7 @@ func (s *CreatePlayerSessionOutput) SetPlayerSession(v *PlayerSession) *CreatePl return s } -// Represents the input for a request action. +// Represents the input for a request operation. type CreatePlayerSessionsInput struct { _ struct{} `type:"structure"` @@ -13475,7 +14781,7 @@ func (s *CreatePlayerSessionsInput) SetPlayerIds(v []*string) *CreatePlayerSessi return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type CreatePlayerSessionsOutput struct { _ struct{} `type:"structure"` @@ -13641,7 +14947,7 @@ func (s *CreateScriptOutput) SetScript(v *Script) *CreateScriptOutput { return s } -// Represents the input for a request action. +// Represents the input for a request operation. type CreateVpcPeeringAuthorizationInput struct { _ struct{} `type:"structure"` @@ -13706,7 +15012,7 @@ func (s *CreateVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *CreateVpcPe return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type CreateVpcPeeringAuthorizationOutput struct { _ struct{} `type:"structure"` @@ -13730,7 +15036,7 @@ func (s *CreateVpcPeeringAuthorizationOutput) SetVpcPeeringAuthorization(v *VpcP return s } -// Represents the input for a request action. +// Represents the input for a request operation. type CreateVpcPeeringConnectionInput struct { _ struct{} `type:"structure"` @@ -13824,7 +15130,7 @@ func (s CreateVpcPeeringConnectionOutput) GoString() string { return s.String() } -// Represents the input for a request action. +// Represents the input for a request operation. type DeleteAliasInput struct { _ struct{} `type:"structure"` @@ -13878,7 +15184,7 @@ func (s DeleteAliasOutput) GoString() string { return s.String() } -// Represents the input for a request action. +// Represents the input for a request operation. type DeleteBuildInput struct { _ struct{} `type:"structure"` @@ -13932,7 +15238,7 @@ func (s DeleteBuildOutput) GoString() string { return s.String() } -// Represents the input for a request action. +// Represents the input for a request operation. type DeleteFleetInput struct { _ struct{} `type:"structure"` @@ -13989,10 +15295,10 @@ func (s DeleteFleetOutput) GoString() string { type DeleteGameServerGroupInput struct { _ struct{} `type:"structure"` - // The type of delete to perform. Options include: + // The type of delete to perform. Options include the following: // // * SAFE_DELETE – Terminates the game server group and EC2 Auto Scaling - // group only when it has no game servers that are in IN_USE status. + // group only when it has no game servers that are in UTILIZED status. // // * FORCE_DELETE – Terminates the game server group, including all active // game servers regardless of their utilization status, and the EC2 Auto @@ -14002,8 +15308,8 @@ type DeleteGameServerGroupInput struct { // EC2 Auto Scaling group as is. DeleteOption *string `type:"string" enum:"GameServerGroupDeleteOption"` - // The unique identifier of the game server group to delete. Use either the - // GameServerGroup name or ARN value. + // A unique identifier for the game server group. Use either the GameServerGroup + // name or ARN value. // // GameServerGroupName is a required field GameServerGroupName *string `min:"1" type:"string" required:"true"` @@ -14071,7 +15377,7 @@ func (s *DeleteGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *De return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DeleteGameSessionQueueInput struct { _ struct{} `type:"structure"` @@ -14129,7 +15435,7 @@ func (s DeleteGameSessionQueueOutput) GoString() string { return s.String() } -// Represents the input for a request action. +// Represents the input for a request operation. type DeleteMatchmakingConfigurationInput struct { _ struct{} `type:"structure"` @@ -14186,7 +15492,7 @@ func (s DeleteMatchmakingConfigurationOutput) GoString() string { return s.String() } -// Represents the input for a request action. +// Represents the input for a request operation. type DeleteMatchmakingRuleSetInput struct { _ struct{} `type:"structure"` @@ -14230,7 +15536,7 @@ func (s *DeleteMatchmakingRuleSetInput) SetName(v string) *DeleteMatchmakingRule return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DeleteMatchmakingRuleSetOutput struct { _ struct{} `type:"structure"` } @@ -14245,7 +15551,7 @@ func (s DeleteMatchmakingRuleSetOutput) GoString() string { return s.String() } -// Represents the input for a request action. +// Represents the input for a request operation. type DeleteScalingPolicyInput struct { _ struct{} `type:"structure"` @@ -14370,7 +15676,7 @@ func (s DeleteScriptOutput) GoString() string { return s.String() } -// Represents the input for a request action. +// Represents the input for a request operation. type DeleteVpcPeeringAuthorizationInput struct { _ struct{} `type:"structure"` @@ -14449,7 +15755,7 @@ func (s DeleteVpcPeeringAuthorizationOutput) GoString() string { return s.String() } -// Represents the input for a request action. +// Represents the input for a request operation. type DeleteVpcPeeringConnectionInput struct { _ struct{} `type:"structure"` @@ -14525,13 +15831,13 @@ func (s DeleteVpcPeeringConnectionOutput) GoString() string { type DeregisterGameServerInput struct { _ struct{} `type:"structure"` - // An identifier for the game server group where the game server to be de-registered - // is running. Use either the GameServerGroup name or ARN value. + // A unique identifier for the game server group where the game server is running. + // Use either the GameServerGroup name or ARN value. // // GameServerGroupName is a required field GameServerGroupName *string `min:"1" type:"string" required:"true"` - // The identifier for the game server to be de-registered. + // A custom string that uniquely identifies the game server to deregister. // // GameServerId is a required field GameServerId *string `min:"3" type:"string" required:"true"` @@ -14595,7 +15901,7 @@ func (s DeregisterGameServerOutput) GoString() string { return s.String() } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeAliasInput struct { _ struct{} `type:"structure"` @@ -14635,7 +15941,7 @@ func (s *DescribeAliasInput) SetAliasId(v string) *DescribeAliasInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeAliasOutput struct { _ struct{} `type:"structure"` @@ -14659,7 +15965,7 @@ func (s *DescribeAliasOutput) SetAlias(v *Alias) *DescribeAliasOutput { return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeBuildInput struct { _ struct{} `type:"structure"` @@ -14699,7 +16005,7 @@ func (s *DescribeBuildInput) SetBuildId(v string) *DescribeBuildInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeBuildOutput struct { _ struct{} `type:"structure"` @@ -14723,7 +16029,7 @@ func (s *DescribeBuildOutput) SetBuild(v *Build) *DescribeBuildOutput { return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeEC2InstanceLimitsInput struct { _ struct{} `type:"structure"` @@ -14752,7 +16058,7 @@ func (s *DescribeEC2InstanceLimitsInput) SetEC2InstanceType(v string) *DescribeE return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeEC2InstanceLimitsOutput struct { _ struct{} `type:"structure"` @@ -14776,7 +16082,7 @@ func (s *DescribeEC2InstanceLimitsOutput) SetEC2InstanceLimits(v []*EC2InstanceL return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeFleetAttributesInput struct { _ struct{} `type:"structure"` @@ -14793,7 +16099,7 @@ type DescribeFleetAttributesInput struct { 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 + // the token that is returned with a previous call to this operation. 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"` @@ -14846,7 +16152,7 @@ func (s *DescribeFleetAttributesInput) SetNextToken(v string) *DescribeFleetAttr return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeFleetAttributesOutput struct { _ struct{} `type:"structure"` @@ -14855,7 +16161,7 @@ type DescribeFleetAttributesOutput struct { 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -14882,7 +16188,7 @@ func (s *DescribeFleetAttributesOutput) SetNextToken(v string) *DescribeFleetAtt return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeFleetCapacityInput struct { _ struct{} `type:"structure"` @@ -14896,7 +16202,7 @@ type DescribeFleetCapacityInput struct { 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 + // the token that is returned with a previous call to this operation. 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"` @@ -14949,7 +16255,7 @@ func (s *DescribeFleetCapacityInput) SetNextToken(v string) *DescribeFleetCapaci return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeFleetCapacityOutput struct { _ struct{} `type:"structure"` @@ -14959,7 +16265,7 @@ type DescribeFleetCapacityOutput struct { 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -14986,7 +16292,7 @@ func (s *DescribeFleetCapacityOutput) SetNextToken(v string) *DescribeFleetCapac return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeFleetEventsInput struct { _ struct{} `type:"structure"` @@ -15006,7 +16312,7 @@ type DescribeFleetEventsInput struct { 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 + // the token that is returned with a previous call to this operation. To start // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` @@ -15076,7 +16382,7 @@ func (s *DescribeFleetEventsInput) SetStartTime(v time.Time) *DescribeFleetEvent return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeFleetEventsOutput struct { _ struct{} `type:"structure"` @@ -15084,7 +16390,7 @@ type DescribeFleetEventsOutput struct { 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -15111,7 +16417,7 @@ func (s *DescribeFleetEventsOutput) SetNextToken(v string) *DescribeFleetEventsO return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeFleetPortSettingsInput struct { _ struct{} `type:"structure"` @@ -15151,7 +16457,7 @@ func (s *DescribeFleetPortSettingsInput) SetFleetId(v string) *DescribeFleetPort return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeFleetPortSettingsOutput struct { _ struct{} `type:"structure"` @@ -15175,7 +16481,7 @@ func (s *DescribeFleetPortSettingsOutput) SetInboundPermissions(v []*IpPermissio return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeFleetUtilizationInput struct { _ struct{} `type:"structure"` @@ -15192,7 +16498,7 @@ type DescribeFleetUtilizationInput struct { 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 + // the token that is returned with a previous call to this operation. 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"` @@ -15245,7 +16551,7 @@ func (s *DescribeFleetUtilizationInput) SetNextToken(v string) *DescribeFleetUti return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeFleetUtilizationOutput struct { _ struct{} `type:"structure"` @@ -15254,7 +16560,7 @@ type DescribeFleetUtilizationOutput struct { 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -15284,8 +16590,8 @@ func (s *DescribeFleetUtilizationOutput) SetNextToken(v string) *DescribeFleetUt type DescribeGameServerGroupInput struct { _ struct{} `type:"structure"` - // The unique identifier for the game server group being requested. Use either - // the GameServerGroup name or ARN value. + // A unique identifier for the game server group. Use either the GameServerGroup + // name or ARN value. // // GameServerGroupName is a required field GameServerGroupName *string `min:"1" type:"string" required:"true"` @@ -15326,7 +16632,8 @@ func (s *DescribeGameServerGroupInput) SetGameServerGroupName(v string) *Describ type DescribeGameServerGroupOutput struct { _ struct{} `type:"structure"` - // An object that describes the requested game server group resource. + // An object with the property settings for the requested game server group + // resource. GameServerGroup *GameServerGroup `type:"structure"` } @@ -15349,13 +16656,14 @@ func (s *DescribeGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) * type DescribeGameServerInput struct { _ struct{} `type:"structure"` - // An identifier for the game server group where the game server is running. + // A unique identifier for the game server group where the game server is running. // Use either the GameServerGroup name or ARN value. // // GameServerGroupName is a required field GameServerGroupName *string `min:"1" type:"string" required:"true"` - // The identifier for the game server to be retrieved. + // A custom string that uniquely identifies the game server information to be + // retrieved. // // GameServerId is a required field GameServerId *string `min:"3" type:"string" required:"true"` @@ -15405,10 +16713,127 @@ func (s *DescribeGameServerInput) SetGameServerId(v string) *DescribeGameServerI return s } +type DescribeGameServerInstancesInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the game server group. Use either the GameServerGroup + // name or ARN value. + // + // GameServerGroupName is a required field + GameServerGroupName *string `min:"1" type:"string" required:"true"` + + // The EC2 instance IDs that you want to retrieve status on. EC2 instance IDs + // use a 17-character format, for example: i-1234567890abcdef0. To retrieve + // all instances in the game server group, leave this parameter empty. + InstanceIds []*string `min:"1" type:"list"` + + // The maximum number of results to return. Use this parameter with NextToken + // to get results as a set of sequential segments. + Limit *int64 `min:"1" type:"integer"` + + // A token that indicates the start of the next sequential segment of results. + // Use the token returned with the previous call to this operation. 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 DescribeGameServerInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGameServerInstancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeGameServerInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGameServerInstancesInput"} + if s.GameServerGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GameServerGroupName")) + } + if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1)) + } + if s.InstanceIds != nil && len(s.InstanceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceIds", 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 +} + +// SetGameServerGroupName sets the GameServerGroupName field's value. +func (s *DescribeGameServerInstancesInput) SetGameServerGroupName(v string) *DescribeGameServerInstancesInput { + s.GameServerGroupName = &v + return s +} + +// SetInstanceIds sets the InstanceIds field's value. +func (s *DescribeGameServerInstancesInput) SetInstanceIds(v []*string) *DescribeGameServerInstancesInput { + s.InstanceIds = v + return s +} + +// SetLimit sets the Limit field's value. +func (s *DescribeGameServerInstancesInput) SetLimit(v int64) *DescribeGameServerInstancesInput { + s.Limit = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeGameServerInstancesInput) SetNextToken(v string) *DescribeGameServerInstancesInput { + s.NextToken = &v + return s +} + +type DescribeGameServerInstancesOutput struct { + _ struct{} `type:"structure"` + + // The collection of requested game server instances. + GameServerInstances []*GameServerInstance `type:"list"` + + // A token that indicates where to resume retrieving results on the next call + // to this operation. 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 DescribeGameServerInstancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGameServerInstancesOutput) GoString() string { + return s.String() +} + +// SetGameServerInstances sets the GameServerInstances field's value. +func (s *DescribeGameServerInstancesOutput) SetGameServerInstances(v []*GameServerInstance) *DescribeGameServerInstancesOutput { + s.GameServerInstances = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeGameServerInstancesOutput) SetNextToken(v string) *DescribeGameServerInstancesOutput { + s.NextToken = &v + return s +} + type DescribeGameServerOutput struct { _ struct{} `type:"structure"` - // Object that describes the requested game server resource. + // Object that describes the requested game server. GameServer *GameServer `type:"structure"` } @@ -15428,7 +16853,7 @@ func (s *DescribeGameServerOutput) SetGameServer(v *GameServer) *DescribeGameSer return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeGameSessionDetailsInput struct { _ struct{} `type:"structure"` @@ -15448,7 +16873,7 @@ type DescribeGameSessionDetailsInput struct { 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 + // the token that is returned with a previous call to this operation. To start // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` @@ -15526,7 +16951,7 @@ func (s *DescribeGameSessionDetailsInput) SetStatusFilter(v string) *DescribeGam return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeGameSessionDetailsOutput struct { _ struct{} `type:"structure"` @@ -15535,7 +16960,7 @@ type DescribeGameSessionDetailsOutput struct { 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -15562,7 +16987,7 @@ func (s *DescribeGameSessionDetailsOutput) SetNextToken(v string) *DescribeGameS return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeGameSessionPlacementInput struct { _ struct{} `type:"structure"` @@ -15604,7 +17029,7 @@ func (s *DescribeGameSessionPlacementInput) SetPlacementId(v string) *DescribeGa return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeGameSessionPlacementOutput struct { _ struct{} `type:"structure"` @@ -15628,12 +17053,12 @@ func (s *DescribeGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSess return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeGameSessionQueuesInput struct { _ struct{} `type:"structure"` // The maximum number of results to return. Use this parameter with NextToken - // to get results as a set of sequential pages. + // to get results as a set of sequential pages. You can request up to 50 results. Limit *int64 `min:"1" type:"integer"` // A list of queue names to retrieve information for. You can use either the @@ -15642,8 +17067,8 @@ type DescribeGameSessionQueuesInput struct { Names []*string `type:"list"` // A 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. + // Use the token that is returned with a previous call to this operation. To + // start at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` } @@ -15691,7 +17116,7 @@ func (s *DescribeGameSessionQueuesInput) SetNextToken(v string) *DescribeGameSes return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeGameSessionQueuesOutput struct { _ struct{} `type:"structure"` @@ -15699,7 +17124,7 @@ type DescribeGameSessionQueuesOutput struct { GameSessionQueues []*GameSessionQueue `type:"list"` // A 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -15726,7 +17151,7 @@ func (s *DescribeGameSessionQueuesOutput) SetNextToken(v string) *DescribeGameSe return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeGameSessionsInput struct { _ struct{} `type:"structure"` @@ -15746,7 +17171,7 @@ type DescribeGameSessionsInput struct { 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 + // the token that is returned with a previous call to this operation. To start // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` @@ -15824,7 +17249,7 @@ func (s *DescribeGameSessionsInput) SetStatusFilter(v string) *DescribeGameSessi return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeGameSessionsOutput struct { _ struct{} `type:"structure"` @@ -15833,7 +17258,7 @@ type DescribeGameSessionsOutput struct { 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -15860,7 +17285,7 @@ func (s *DescribeGameSessionsOutput) SetNextToken(v string) *DescribeGameSession return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeInstancesInput struct { _ struct{} `type:"structure"` @@ -15879,7 +17304,7 @@ type DescribeInstancesInput struct { 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 + // the token that is returned with a previous call to this operation. To start // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` } @@ -15937,7 +17362,7 @@ func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeInstancesOutput struct { _ struct{} `type:"structure"` @@ -15945,7 +17370,7 @@ type DescribeInstancesOutput struct { 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -15972,7 +17397,7 @@ func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutpu return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeMatchmakingConfigurationsInput struct { _ struct{} `type:"structure"` @@ -15987,8 +17412,8 @@ type DescribeMatchmakingConfigurationsInput struct { Names []*string `type:"list"` // A 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. + // Use the token that is returned with a previous call to this operation. To + // start at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` // A unique identifier for a matchmaking rule set. You can use either the rule @@ -16050,7 +17475,7 @@ func (s *DescribeMatchmakingConfigurationsInput) SetRuleSetName(v string) *Descr return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeMatchmakingConfigurationsOutput struct { _ struct{} `type:"structure"` @@ -16058,7 +17483,7 @@ type DescribeMatchmakingConfigurationsOutput struct { Configurations []*MatchmakingConfiguration `type:"list"` // A 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -16085,7 +17510,7 @@ func (s *DescribeMatchmakingConfigurationsOutput) SetNextToken(v string) *Descri return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeMatchmakingInput struct { _ struct{} `type:"structure"` @@ -16125,7 +17550,7 @@ func (s *DescribeMatchmakingInput) SetTicketIds(v []*string) *DescribeMatchmakin return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeMatchmakingOutput struct { _ struct{} `type:"structure"` @@ -16149,7 +17574,7 @@ func (s *DescribeMatchmakingOutput) SetTicketList(v []*MatchmakingTicket) *Descr return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeMatchmakingRuleSetsInput struct { _ struct{} `type:"structure"` @@ -16163,8 +17588,8 @@ type DescribeMatchmakingRuleSetsInput struct { Names []*string `min:"1" type:"list"` // A 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. + // Use the token that is returned with a previous call to this operation. To + // start at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` } @@ -16215,12 +17640,12 @@ func (s *DescribeMatchmakingRuleSetsInput) SetNextToken(v string) *DescribeMatch return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeMatchmakingRuleSetsOutput struct { _ struct{} `type:"structure"` // A 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` @@ -16252,7 +17677,7 @@ func (s *DescribeMatchmakingRuleSetsOutput) SetRuleSets(v []*MatchmakingRuleSet) return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribePlayerSessionsInput struct { _ struct{} `type:"structure"` @@ -16265,7 +17690,7 @@ type DescribePlayerSessionsInput struct { 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 + // the token that is returned with a previous call to this operation. 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"` @@ -16364,12 +17789,12 @@ func (s *DescribePlayerSessionsInput) SetPlayerSessionStatusFilter(v string) *De return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` @@ -16400,7 +17825,7 @@ func (s *DescribePlayerSessionsOutput) SetPlayerSessions(v []*PlayerSession) *De return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeRuntimeConfigurationInput struct { _ struct{} `type:"structure"` @@ -16440,7 +17865,7 @@ func (s *DescribeRuntimeConfigurationInput) SetFleetId(v string) *DescribeRuntim return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeRuntimeConfigurationOutput struct { _ struct{} `type:"structure"` @@ -16465,7 +17890,7 @@ func (s *DescribeRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeC return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeScalingPoliciesInput struct { _ struct{} `type:"structure"` @@ -16480,7 +17905,7 @@ type DescribeScalingPoliciesInput struct { 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 + // the token that is returned with a previous call to this operation. To start // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` @@ -16557,12 +17982,12 @@ func (s *DescribeScalingPoliciesInput) SetStatusFilter(v string) *DescribeScalin return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` @@ -16692,7 +18117,7 @@ func (s *DescribeVpcPeeringAuthorizationsOutput) SetVpcPeeringAuthorizations(v [ return s } -// Represents the input for a request action. +// Represents the input for a request operation. type DescribeVpcPeeringConnectionsInput struct { _ struct{} `type:"structure"` @@ -16716,7 +18141,7 @@ func (s *DescribeVpcPeeringConnectionsInput) SetFleetId(v string) *DescribeVpcPe return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type DescribeVpcPeeringConnectionsOutput struct { _ struct{} `type:"structure"` @@ -17244,7 +18669,7 @@ type FleetAttributes struct { // * TERMINATED -- The fleet no longer exists. Status *string `type:"string" enum:"FleetStatus"` - // List of fleet actions that have been suspended using StopFleetActions. This + // List of fleet activity that have been suspended using StopFleetActions. This // includes auto-scaling. StoppedActions []*string `min:"1" type:"list"` @@ -17654,42 +19079,50 @@ func (s *GameProperty) SetValue(v string) *GameProperty { return s } -// This data type is part of Amazon GameLift FleetIQ with game server groups, -// which is in preview release and is subject to change. +// This data type is used with the Amazon GameLift FleetIQ and game server groups. +// +// Properties describing a game server that is running on an instance in a GameServerGroup. +// +// A game server is created by a successful call to RegisterGameServer and deleted +// by calling DeregisterGameServer. A game server is claimed to host a game +// session by calling ClaimGameServer. +// +// * RegisterGameServer +// +// * ListGameServers +// +// * ClaimGameServer +// +// * DescribeGameServer // -// Properties describing a game server resource. +// * UpdateGameServer // -// A game server resource is created by a successful call to RegisterGameServer -// and deleted by calling DeregisterGameServer. +// * DeregisterGameServer type GameServer struct { _ struct{} `type:"structure"` - // Indicates when an available game server has been reserved but has not yet - // started hosting a game. Once it is claimed, game server remains in CLAIMED - // status for a maximum of one minute. During this time, game clients must connect - // to the game server and start the game, which triggers the game server to - // update its utilization status. After one minute, the game server claim status - // reverts to null. + // Indicates when an available game server has been reserved for gameplay but + // has not yet started hosting a game. Once it is claimed, the game server remains + // in CLAIMED status for a maximum of one minute. During this time, game clients + // connect to the game server to start the game and trigger the game server + // to update its utilization status. After one minute, the game server claim + // status reverts to null. ClaimStatus *string `type:"string" enum:"GameServerClaimStatus"` // The port and IP address that must be used to establish a client connection // to the game server. ConnectionInfo *string `min:"1" type:"string"` - // A game server tag that can be used to request sorted lists of game servers - // when calling ListGameServers. Custom sort keys are developer-defined. This - // property can be updated using UpdateGameServer. - CustomSortKey *string `min:"1" type:"string"` - // A set of custom game server properties, formatted as a single string value. - // This data is passed to a game client or service in response to requests ListGameServers - // or ClaimGameServer. This property can be updated using UpdateGameServer. + // This data is passed to a game client or service when it requests information + // on game servers using ListGameServers or ClaimGameServer. GameServerData *string `min:"1" type:"string"` // The ARN identifier for the game server group where the game server is located. GameServerGroupArn *string `min:"1" type:"string"` - // The name identifier for the game server group where the game server is located. + // A unique identifier for the game server group where the game server is running. + // Use either the GameServerGroup name or ARN value. GameServerGroupName *string `min:"1" type:"string"` // A custom string that uniquely identifies the game server. Game server IDs @@ -17697,25 +19130,27 @@ type GameServer struct { // AWS account. GameServerId *string `min:"3" type:"string"` - // The unique identifier for the instance where the game server is located. + // The unique identifier for the instance where the game server is running. + // This ID is available in the instance metadata. EC2 instance IDs use a 17-character + // format, for example: i-1234567890abcdef0. InstanceId *string `min:"19" type:"string"` - // Time stamp indicating the last time the game server was claimed with a ClaimGameServer - // request. Format is a number expressed in Unix time as milliseconds (for example - // "1469498468.057"). This value is used to calculate when the game server's - // claim status. + // Timestamp that indicates the last time the game server was claimed with a + // ClaimGameServer request. The format is a number expressed in Unix time as + // milliseconds (for example "1469498468.057"). This value is used to calculate + // when a claimed game server's status should revert to null. LastClaimTime *time.Time `type:"timestamp"` - // Time stamp indicating the last time the game server was updated with health - // status using an UpdateGameServer request. Format is a number expressed in - // Unix time as milliseconds (for example "1469498468.057"). After game server + // Timestamp that indicates the last time the game server was updated with health + // status using an UpdateGameServer request. The format is a number expressed + // in Unix time as milliseconds (for example "1469498468.057"). After game server // registration, this property is only changed when a game server update specifies // a health check value. LastHealthCheckTime *time.Time `type:"timestamp"` - // Time stamp indicating when the game server resource was created with a RegisterGameServer - // request. Format is a number expressed in Unix time as milliseconds (for example - // "1469498468.057"). + // Timestamp that indicates when the game server was created with a RegisterGameServer + // request. The format is a number expressed in Unix time as milliseconds (for + // example "1469498468.057"). RegistrationTime *time.Time `type:"timestamp"` // Indicates whether the game server is currently available for new games or @@ -17725,7 +19160,8 @@ type GameServer struct { // that has been claimed remains in this status until it reports game hosting // activity. // - // * IN_USE - The game server is currently hosting a game session with players. + // * UTILIZED - The game server is currently hosting a game session with + // players. UtilizationStatus *string `type:"string" enum:"GameServerUtilizationStatus"` } @@ -17751,12 +19187,6 @@ func (s *GameServer) SetConnectionInfo(v string) *GameServer { return s } -// SetCustomSortKey sets the CustomSortKey field's value. -func (s *GameServer) SetCustomSortKey(v string) *GameServer { - s.CustomSortKey = &v - return s -} - // SetGameServerData sets the GameServerData field's value. func (s *GameServer) SetGameServerData(v string) *GameServer { s.GameServerData = &v @@ -17811,70 +19241,89 @@ func (s *GameServer) SetUtilizationStatus(v string) *GameServer { return s } -// This data type is part of Amazon GameLift FleetIQ with game server groups, -// which is in preview release and is subject to change. +// This data type is used with the Amazon GameLift FleetIQ and game server groups. // -// Properties describing a game server group resource. A game server group manages -// certain properties of a corresponding EC2 Auto Scaling group. +// Properties that describe a game server group resource. A game server group +// manages certain properties related to a corresponding EC2 Auto Scaling group. // // A game server group is created by a successful call to CreateGameServerGroup // and deleted by calling DeleteGameServerGroup. Game server group activity // can be temporarily suspended and resumed by calling SuspendGameServerGroup -// and ResumeGameServerGroup. +// and ResumeGameServerGroup, respectively. +// +// * CreateGameServerGroup +// +// * ListGameServerGroups +// +// * DescribeGameServerGroup +// +// * UpdateGameServerGroup +// +// * DeleteGameServerGroup +// +// * ResumeGameServerGroup +// +// * SuspendGameServerGroup +// +// * DescribeGameServerInstances type GameServerGroup struct { _ struct{} `type:"structure"` - // A generated unique ID for the EC2 Auto Scaling group with is associated with + // A generated unique ID for the EC2 Auto Scaling group that is associated with // this game server group. AutoScalingGroupArn *string `type:"string"` - // The fallback balancing method to use for the game server group when Spot - // instances in a Region become unavailable or are not viable for game hosting. - // Once triggered, this method remains active until Spot instances can once - // again be used. Method options include: - // - // * SPOT_ONLY -- If Spot instances are unavailable, the game server group - // provides no hosting capacity. No new instances are started, and the existing - // nonviable Spot instances are terminated (once current gameplay ends) and - // not replaced. - // - // * SPOT_PREFERRED -- If Spot instances are unavailable, the game server - // group continues to provide hosting capacity by using On-Demand instances. - // Existing nonviable Spot instances are terminated (once current gameplay - // ends) and replaced with new On-Demand instances. + // Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand + // Instances in the game server group. Method options include the following: + // + // * SPOT_ONLY - Only Spot Instances are used in the game server group. If + // Spot Instances are unavailable or not viable for game hosting, the game + // server group provides no hosting capacity until Spot Instances can again + // be used. Until then, no new instances are started, and the existing nonviable + // Spot Instances are terminated (after current gameplay ends) and are not + // replaced. + // + // * SPOT_PREFERRED - (default value) Spot Instances are used whenever available + // in the game server group. If Spot Instances are unavailable, the game + // server group continues to provide hosting capacity by falling back to + // On-Demand Instances. Existing nonviable Spot Instances are terminated + // (after current gameplay ends) and are replaced with new On-Demand Instances. + // + // * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game server + // group. No Spot Instances are used, even when available, while this balancing + // strategy is in force. BalancingStrategy *string `type:"string" enum:"BalancingStrategy"` - // A time stamp indicating when this data object was created. Format is a number - // expressed in Unix time as milliseconds (for example "1469498468.057"). + // A timestamp that indicates 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"` // A generated unique ID for the game server group. GameServerGroupArn *string `min:"1" type:"string"` // A developer-defined identifier for the game server group. The name is unique - // per Region per AWS account. + // for each Region in each AWS account. GameServerGroupName *string `min:"1" type:"string"` // A flag that indicates whether instances in the game server group are protected // from early termination. Unprotected instances that have active game servers - // running may be terminated during a scale-down event, causing players to be - // dropped from the game. Protected instances cannot be terminated while there - // are active game servers running except in the event of a forced game server - // group deletion (see DeleteGameServerGroup). An exception to this is Spot - // Instances, which may be terminated by AWS regardless of protection status. + // running might be terminated during a scale-down event, causing players to + // be dropped from the game. Protected instances cannot be terminated while + // there are active game servers running except in the event of a forced game + // server group deletion (see ). An exception to this is with Spot Instances, + // which can be terminated by AWS regardless of protection status. GameServerProtectionPolicy *string `type:"string" enum:"GameServerProtectionPolicy"` - // The set of EC2 instance types that GameLift FleetIQ can use when rebalancing - // and autoscaling instances in the group. + // The set of EC2 instance types that GameLift FleetIQ can use when balancing + // and automatically scaling instances in the corresponding Auto Scaling group. InstanceDefinitions []*InstanceDefinition `min:"2" type:"list"` - // A time stamp indicating when this game server group was last updated. + // A timestamp that indicates when this game server group was last updated. LastUpdatedTime *time.Time `type:"timestamp"` // The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) // for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling - // groups. The submitted role is validated to ensure that it contains the necessary - // permissions for game server groups. + // groups. RoleArn *string `min:"1" type:"string"` // The current status of the game server group. Possible statuses include: @@ -17882,7 +19331,7 @@ type GameServerGroup struct { // * NEW - GameLift FleetIQ has validated the CreateGameServerGroup() request. // // * ACTIVATING - GameLift FleetIQ is setting up a game server group, which - // includes creating an autoscaling group in your AWS account. + // includes creating an Auto Scaling group in your AWS account. // // * ACTIVE - The game server group has been successfully created. // @@ -17891,7 +19340,7 @@ type GameServerGroup struct { // // * DELETING - GameLift FleetIQ has received a valid DeleteGameServerGroup() // request and is processing it. GameLift FleetIQ must first complete and - // release hosts before it deletes the autoscaling group and the game server + // release hosts before it deletes the Auto Scaling group and the game server // group. // // * DELETED - The game server group has been successfully deleted. @@ -17901,7 +19350,7 @@ type GameServerGroup struct { Status *string `type:"string" enum:"GameServerGroupStatus"` // Additional information about the current game server group status. This information - // may provide additional insight on groups that in ERROR status. + // might provide additional insight on groups that are in ERROR status. StatusReason *string `min:"1" type:"string"` // A list of activities that are currently suspended for this game server group. @@ -17991,22 +19440,21 @@ func (s *GameServerGroup) SetSuspendedActions(v []*string) *GameServerGroup { return s } -// This data type is part of Amazon GameLift FleetIQ with game server groups, -// which is in preview release and is subject to change. +// This data type is used with the Amazon GameLift FleetIQ and game server groups. // -// Configuration settings for intelligent autoscaling that uses target tracking. -// An autoscaling policy can be specified when a new game server group is created -// with CreateGameServerGroup. If a group has an autoscaling policy, the Auto -// Scaling group takes action based on this policy, in addition to (and potentially -// in conflict with) any other autoscaling policies that are separately applied -// to the Auto Scaling group. +// Configuration settings for intelligent automatic scaling that uses target +// tracking. These settings are used to add an Auto Scaling policy when creating +// the corresponding Auto Scaling group with CreateGameServerGroup. After the +// Auto Scaling group is created, all updates to Auto Scaling policies, including +// changing this policy and adding or removing other policies, is done directly +// on the Auto Scaling group. type GameServerGroupAutoScalingPolicy struct { _ struct{} `type:"structure"` // Length of time, in seconds, it takes for a new instance to start new game // server processes and register with GameLift FleetIQ. Specifying a warm-up // time can be useful, particularly with game servers that take a long time - // to start up, because it avoids prematurely starting new instances + // to start up, because it avoids prematurely starting new instances. EstimatedInstanceWarmup *int64 `min:"1" type:"integer"` // Settings for a target-based scaling policy applied to Auto Scaling group. @@ -18062,6 +19510,97 @@ func (s *GameServerGroupAutoScalingPolicy) SetTargetTrackingConfiguration(v *Tar return s } +// This data type is used with the Amazon GameLift FleetIQ and game server groups. +// +// Additional properties, including status, that describe an EC2 instance in +// a game server group. Instance configurations are set with game server group +// properties (see DescribeGameServerGroup and with the EC2 launch template +// that was used when creating the game server group. +// +// Retrieve game server instances for a game server group by calling DescribeGameServerInstances. +// +// * CreateGameServerGroup +// +// * ListGameServerGroups +// +// * DescribeGameServerGroup +// +// * UpdateGameServerGroup +// +// * DeleteGameServerGroup +// +// * ResumeGameServerGroup +// +// * SuspendGameServerGroup +// +// * DescribeGameServerInstances +type GameServerInstance struct { + _ struct{} `type:"structure"` + + // A generated unique identifier for the game server group that includes the + // game server instance. + GameServerGroupArn *string `min:"1" type:"string"` + + // A developer-defined identifier for the game server group that includes the + // game server instance. The name is unique for each Region in each AWS account. + GameServerGroupName *string `min:"1" type:"string"` + + // The unique identifier for the instance where the game server is running. + // This ID is available in the instance metadata. EC2 instance IDs use a 17-character + // format, for example: i-1234567890abcdef0. + InstanceId *string `min:"19" type:"string"` + + // Current status of the game server instance. + // + // * ACTIVE -- The instance is viable for hosting game servers. + // + // * DRAINING -- The instance is not viable for hosting game servers. Existing + // game servers are in the process of ending, and new game servers are not + // started on this instance unless no other resources are available. When + // the instance is put in DRAINING, a new instance is started up to replace + // it. Once the instance has no UTILIZED game servers, it will be terminated + // in favor of the new instance. + // + // * SPOT_TERMINATING -- The instance is in the process of shutting down + // due to a Spot instance interruption. No new game servers are started on + // this instance. + InstanceStatus *string `type:"string" enum:"GameServerInstanceStatus"` +} + +// String returns the string representation +func (s GameServerInstance) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GameServerInstance) GoString() string { + return s.String() +} + +// SetGameServerGroupArn sets the GameServerGroupArn field's value. +func (s *GameServerInstance) SetGameServerGroupArn(v string) *GameServerInstance { + s.GameServerGroupArn = &v + return s +} + +// SetGameServerGroupName sets the GameServerGroupName field's value. +func (s *GameServerInstance) SetGameServerGroupName(v string) *GameServerInstance { + s.GameServerGroupName = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *GameServerInstance) SetInstanceId(v string) *GameServerInstance { + s.InstanceId = &v + return s +} + +// SetInstanceStatus sets the InstanceStatus field's value. +func (s *GameServerInstance) SetInstanceStatus(v string) *GameServerInstance { + s.InstanceStatus = &v + return s +} + // Properties describing a game session. // // A game session in ACTIVE status can host players. When a game session ends, @@ -18860,7 +20399,7 @@ func (s *GameSessionQueueDestination) SetDestinationArn(v string) *GameSessionQu return s } -// Represents the input for a request action. +// Represents the input for a request operation. type GetGameSessionLogUrlInput struct { _ struct{} `type:"structure"` @@ -18902,7 +20441,7 @@ func (s *GetGameSessionLogUrlInput) SetGameSessionId(v string) *GetGameSessionLo return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type GetGameSessionLogUrlOutput struct { _ struct{} `type:"structure"` @@ -18929,7 +20468,7 @@ func (s *GetGameSessionLogUrlOutput) SetPreSignedUrl(v string) *GetGameSessionLo return s } -// Represents the input for a request action. +// Represents the input for a request operation. type GetInstanceAccessInput struct { _ struct{} `type:"structure"` @@ -18986,7 +20525,7 @@ func (s *GetInstanceAccessInput) SetInstanceId(v string) *GetInstanceAccessInput return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type GetInstanceAccessOutput struct { _ struct{} `type:"structure"` @@ -19276,10 +20815,10 @@ func (s *InstanceCredentials) SetUserName(v string) *InstanceCredentials { return s } -// This data type is part of Amazon GameLift FleetIQ with game server groups, -// which is in preview release and is subject to change. +// This data type is used with the Amazon GameLift FleetIQ and game server groups. // -// An allowed instance type for your game server group. GameLift FleetIQ periodically +// An allowed instance type for a GameServerGroup. All game server groups must +// have at least two instance types defined for it. GameLift FleetIQ periodically // evaluates each defined instance type for viability. It then updates the Auto // Scaling group with the list of viable instance types. type InstanceDefinition struct { @@ -19664,11 +21203,11 @@ func (s *IpPermission) SetToPort(v int64) *IpPermission { return s } -// This data type is part of Amazon GameLift FleetIQ with game server groups, -// which is in preview release and is subject to change. +// This data type is used with the Amazon GameLift FleetIQ and game server groups. // // An EC2 launch template that contains configuration settings and game server -// code to be deployed to all instances in a game server group. +// code to be deployed to all instances in a game server group. The launch template +// is specified when creating a new game server group with CreateGameServerGroup. type LaunchTemplateSpecification struct { _ struct{} `type:"structure"` @@ -19679,8 +21218,9 @@ type LaunchTemplateSpecification struct { LaunchTemplateName *string `min:"3" type:"string"` // The version of the EC2 launch template to use. If no version is specified, - // the default version will be used. EC2 allows you to specify a default version - // for a launch template, if none is set, the default is the first version created. + // the default version will be used. With Amazon EC2, you can specify a default + // version for a launch template. If none is set, the default is the first version + // created. Version *string `min:"1" type:"string"` } @@ -19788,7 +21328,7 @@ func (s *LimitExceededException) RequestID() string { return s.RespMetadata.RequestID } -// Represents the input for a request action. +// Represents the input for a request operation. type ListAliasesInput struct { _ struct{} `type:"structure"` @@ -19801,8 +21341,8 @@ type ListAliasesInput struct { Name *string `min:"1" type:"string"` // A 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. + // Use the token that is returned with a previous call to this operation. To + // start at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` // The routing type to filter results on. Use this parameter to retrieve only @@ -19873,7 +21413,7 @@ func (s *ListAliasesInput) SetRoutingStrategyType(v string) *ListAliasesInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type ListAliasesOutput struct { _ struct{} `type:"structure"` @@ -19881,7 +21421,7 @@ type ListAliasesOutput struct { Aliases []*Alias `type:"list"` // A 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -19908,7 +21448,7 @@ func (s *ListAliasesOutput) SetNextToken(v string) *ListAliasesOutput { return s } -// Represents the input for a request action. +// Represents the input for a request operation. type ListBuildsInput struct { _ struct{} `type:"structure"` @@ -19917,7 +21457,7 @@ type ListBuildsInput struct { 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 + // the token that is returned with a previous call to this operation. To start // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` @@ -19983,7 +21523,7 @@ func (s *ListBuildsInput) SetStatus(v string) *ListBuildsInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type ListBuildsOutput struct { _ struct{} `type:"structure"` @@ -19991,7 +21531,7 @@ type ListBuildsOutput struct { 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -20018,7 +21558,7 @@ func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput { return s } -// Represents the input for a request action. +// Represents the input for a request operation. type ListFleetsInput struct { _ struct{} `type:"structure"` @@ -20033,7 +21573,7 @@ type ListFleetsInput struct { 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 + // the token that is returned with a previous call to this operation. To start // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` @@ -20093,7 +21633,7 @@ func (s *ListFleetsInput) SetScriptId(v string) *ListFleetsInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type ListFleetsOutput struct { _ struct{} `type:"structure"` @@ -20103,7 +21643,7 @@ type ListFleetsOutput struct { 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -20134,11 +21674,11 @@ type ListGameServerGroupsInput struct { _ struct{} `type:"structure"` // The maximum number of results to return. Use this parameter with NextToken - // to get results as a set of sequential pages. + // to get results as a set of sequential segments. Limit *int64 `min:"1" type:"integer"` - // A 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 + // A token that indicates the start of the next sequential segment of results. + // Use the token returned with the previous call to this operation. To start // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` } @@ -20188,7 +21728,7 @@ type ListGameServerGroupsOutput struct { GameServerGroups []*GameServerGroup `type:"list"` // A 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -20218,24 +21758,25 @@ func (s *ListGameServerGroupsOutput) SetNextToken(v string) *ListGameServerGroup type ListGameServersInput struct { _ struct{} `type:"structure"` - // An identifier for the game server group for the game server you want to list. - // Use either the GameServerGroup name or ARN value. + // An identifier for the game server group to retrieve a list of game servers + // from. Use either the GameServerGroup name or ARN value. // // GameServerGroupName is a required field GameServerGroupName *string `min:"1" type:"string" required:"true"` // The maximum number of results to return. Use this parameter with NextToken - // to get results as a set of sequential pages. + // to get results as a set of sequential segments. Limit *int64 `min:"1" type:"integer"` - // A 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 + // A token that indicates the start of the next sequential segment of results. + // Use the token returned with the previous call to this operation. To start // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` - // Indicates how to sort the returned data based on the game servers' custom - // key sort value. If this parameter is left empty, the list of game servers - // is returned in no particular order. + // Indicates how to sort the returned data based on game server registration + // timestamp. Use ASCENDING to retrieve oldest game servers first, or use DESCENDING + // to retrieve newest game servers first. If this parameter is left empty, game + // servers are returned in no particular order. SortOrder *string `type:"string" enum:"SortOrder"` } @@ -20302,7 +21843,7 @@ type ListGameServersOutput struct { GameServers []*GameServer `type:"list"` // A 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -20337,8 +21878,8 @@ type ListScriptsInput struct { Limit *int64 `min:"1" type:"integer"` // A 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. + // Use the token that is returned with a previous call to this operation. To + // start at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` } @@ -20384,7 +21925,7 @@ type ListScriptsOutput struct { _ struct{} `type:"structure"` // A 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` @@ -20421,7 +21962,7 @@ type ListTagsForResourceInput struct { // that is assigned to and uniquely identifies the GameLift resource that you // want to retrieve tags for. GameLift resource ARNs are included in the data // object for the resource, which can be retrieved by calling a List or Describe - // action for the resource type. + // operation for the resource type. // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` @@ -21501,7 +23042,7 @@ func (s *PlayerSession) SetTerminationTime(v time.Time) *PlayerSession { return s } -// Represents the input for a request action. +// Represents the input for a request operation. type PutScalingPolicyInput struct { _ struct{} `type:"structure"` @@ -21697,7 +23238,7 @@ func (s *PutScalingPolicyInput) SetThreshold(v float64) *PutScalingPolicyInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type PutScalingPolicyOutput struct { _ struct{} `type:"structure"` @@ -21725,48 +23266,34 @@ func (s *PutScalingPolicyOutput) SetName(v string) *PutScalingPolicyOutput { type RegisterGameServerInput struct { _ struct{} `type:"structure"` - // Information needed to make inbound client connections to the game server. - // This might include IP address and port, DNS name, etc. + // Information that is needed to make inbound client connections to the game + // server. This might include the IP address and port, DNS name, and other information. ConnectionInfo *string `min:"1" type:"string"` - // A game server tag that can be used to request sorted lists of game servers - // using ListGameServers. Custom sort keys are developer-defined based on how - // you want to organize the retrieved game server information. - CustomSortKey *string `min:"1" type:"string"` - // A set of custom game server properties, formatted as a single string value. // This data is passed to a game client or service when it requests information - // on a game servers using ListGameServers or ClaimGameServer. + // on game servers using ListGameServers or ClaimGameServer. GameServerData *string `min:"1" type:"string"` - // An identifier for the game server group where the game server is running. - // You can use either the GameServerGroup name or ARN value. + // A unique identifier for the game server group where the game server is running. + // Use either the GameServerGroup name or ARN value. // // GameServerGroupName is a required field GameServerGroupName *string `min:"1" type:"string" required:"true"` - // A custom string that uniquely identifies the new game server. Game server - // IDs are developer-defined and must be unique across all game server groups - // in your AWS account. + // A custom string that uniquely identifies the game server to register. Game + // server IDs are developer-defined and must be unique across all game server + // groups in your AWS account. // // GameServerId is a required field GameServerId *string `min:"3" type:"string" required:"true"` // The unique identifier for the instance where the game server is running. - // This ID is available in the instance metadata. + // This ID is available in the instance metadata. EC2 instance IDs use a 17-character + // format, for example: i-1234567890abcdef0. // // InstanceId is a required field InstanceId *string `min:"19" type:"string" required:"true"` - - // A list of labels to assign to the new game server resource. Tags are developer-defined - // key-value pairs. Tagging AWS resources are useful for resource management, - // access management, and cost allocation. For more information, see Tagging - // AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) - // in the AWS General Reference. Once the resource is created, you can use TagResource, - // UntagResource, and ListTagsForResource to add, remove, and view tags. The - // maximum tag limit may be lower than stated. See the AWS General Reference - // for actual tagging limits. - Tags []*Tag `type:"list"` } // String returns the string representation @@ -21785,9 +23312,6 @@ func (s *RegisterGameServerInput) Validate() error { if s.ConnectionInfo != nil && len(*s.ConnectionInfo) < 1 { invalidParams.Add(request.NewErrParamMinLen("ConnectionInfo", 1)) } - if s.CustomSortKey != nil && len(*s.CustomSortKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CustomSortKey", 1)) - } if s.GameServerData != nil && len(*s.GameServerData) < 1 { invalidParams.Add(request.NewErrParamMinLen("GameServerData", 1)) } @@ -21809,16 +23333,6 @@ func (s *RegisterGameServerInput) Validate() error { if s.InstanceId != nil && len(*s.InstanceId) < 19 { invalidParams.Add(request.NewErrParamMinLen("InstanceId", 19)) } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -21832,12 +23346,6 @@ func (s *RegisterGameServerInput) SetConnectionInfo(v string) *RegisterGameServe return s } -// SetCustomSortKey sets the CustomSortKey field's value. -func (s *RegisterGameServerInput) SetCustomSortKey(v string) *RegisterGameServerInput { - s.CustomSortKey = &v - return s -} - // SetGameServerData sets the GameServerData field's value. func (s *RegisterGameServerInput) SetGameServerData(v string) *RegisterGameServerInput { s.GameServerData = &v @@ -21862,16 +23370,10 @@ func (s *RegisterGameServerInput) SetInstanceId(v string) *RegisterGameServerInp return s } -// SetTags sets the Tags field's value. -func (s *RegisterGameServerInput) SetTags(v []*Tag) *RegisterGameServerInput { - s.Tags = v - return s -} - type RegisterGameServerOutput struct { _ struct{} `type:"structure"` - // Object that describes the newly created game server resource. + // Object that describes the newly registered game server. GameServer *GameServer `type:"structure"` } @@ -21891,7 +23393,7 @@ func (s *RegisterGameServerOutput) SetGameServer(v *GameServer) *RegisterGameSer return s } -// Represents the input for a request action. +// Represents the input for a request operation. type RequestUploadCredentialsInput struct { _ struct{} `type:"structure"` @@ -21931,7 +23433,7 @@ func (s *RequestUploadCredentialsInput) SetBuildId(v string) *RequestUploadCrede return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type RequestUploadCredentialsOutput struct { _ struct{} `type:"structure"` @@ -21966,7 +23468,7 @@ func (s *RequestUploadCredentialsOutput) SetUploadCredentials(v *AwsCredentials) return s } -// Represents the input for a request action. +// Represents the input for a request operation. type ResolveAliasInput struct { _ struct{} `type:"structure"` @@ -22006,7 +23508,7 @@ func (s *ResolveAliasInput) SetAliasId(v string) *ResolveAliasInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type ResolveAliasOutput struct { _ struct{} `type:"structure"` @@ -22087,13 +23589,13 @@ func (s *ResourceCreationLimitPolicy) SetPolicyPeriodInMinutes(v int64) *Resourc type ResumeGameServerGroupInput struct { _ struct{} `type:"structure"` - // The unique identifier of the game server group to resume activity on. Use - // either the GameServerGroup name or ARN value. + // A unique identifier for the game server group. Use either the GameServerGroup + // name or ARN value. // // GameServerGroupName is a required field GameServerGroupName *string `min:"1" type:"string" required:"true"` - // The action to resume for this game server group. + // The activity to resume for this game server group. // // ResumeActions is a required field ResumeActions []*string `min:"1" type:"list" required:"true"` @@ -22339,6 +23841,9 @@ type S3Location struct { _ struct{} `type:"structure"` // An S3 bucket identifier. This is the name of the S3 bucket. + // + // GameLift currently does not support uploading from S3 buckets with names + // that contain a dot (.). Bucket *string `min:"1" type:"string"` // The name of the zip file that contains the build files or script files. @@ -22707,7 +24212,7 @@ func (s *Script) SetVersion(v string) *Script { return s } -// Represents the input for a request action. +// Represents the input for a request operation. type SearchGameSessionsInput struct { _ struct{} `type:"structure"` @@ -22768,7 +24273,7 @@ type SearchGameSessionsInput struct { 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 + // the token that is returned with a previous call to this operation. To start // at the beginning of the result set, do not specify a value. NextToken *string `min:"1" type:"string"` @@ -22856,7 +24361,7 @@ func (s *SearchGameSessionsInput) SetSortExpression(v string) *SearchGameSession return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type SearchGameSessionsOutput struct { _ struct{} `type:"structure"` @@ -22865,7 +24370,7 @@ type SearchGameSessionsOutput struct { 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 + // to this operation. If no token is returned, these results represent the end // of the list. NextToken *string `min:"1" type:"string"` } @@ -23047,7 +24552,7 @@ func (s StartFleetActionsOutput) GoString() string { return s.String() } -// Represents the input for a request action. +// Represents the input for a request operation. type StartGameSessionPlacementInput struct { _ struct{} `type:"structure"` @@ -23213,7 +24718,7 @@ func (s *StartGameSessionPlacementInput) SetPlayerLatencies(v []*PlayerLatency) return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type StartGameSessionPlacementOutput struct { _ struct{} `type:"structure"` @@ -23239,7 +24744,7 @@ func (s *StartGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSession return s } -// Represents the input for a request action. +// Represents the input for a request operation. type StartMatchBackfillInput struct { _ struct{} `type:"structure"` @@ -23348,7 +24853,7 @@ func (s *StartMatchBackfillInput) SetTicketId(v string) *StartMatchBackfillInput return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type StartMatchBackfillOutput struct { _ struct{} `type:"structure"` @@ -23374,7 +24879,7 @@ func (s *StartMatchBackfillOutput) SetMatchmakingTicket(v *MatchmakingTicket) *S return s } -// Represents the input for a request action. +// Represents the input for a request operation. type StartMatchmakingInput struct { _ struct{} `type:"structure"` @@ -23456,7 +24961,7 @@ func (s *StartMatchmakingInput) SetTicketId(v string) *StartMatchmakingInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type StartMatchmakingOutput struct { _ struct{} `type:"structure"` @@ -23552,7 +25057,7 @@ func (s StopFleetActionsOutput) GoString() string { return s.String() } -// Represents the input for a request action. +// Represents the input for a request operation. type StopGameSessionPlacementInput struct { _ struct{} `type:"structure"` @@ -23594,7 +25099,7 @@ func (s *StopGameSessionPlacementInput) SetPlacementId(v string) *StopGameSessio return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type StopGameSessionPlacementOutput struct { _ struct{} `type:"structure"` @@ -23619,7 +25124,7 @@ func (s *StopGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionP return s } -// Represents the input for a request action. +// Represents the input for a request operation. type StopMatchmakingInput struct { _ struct{} `type:"structure"` @@ -23675,13 +25180,13 @@ func (s StopMatchmakingOutput) GoString() string { type SuspendGameServerGroupInput struct { _ struct{} `type:"structure"` - // The unique identifier of the game server group to stop activity on. Use either - // the GameServerGroup name or ARN value. + // A unique identifier for the game server group. Use either the GameServerGroup + // name or ARN value. // // GameServerGroupName is a required field GameServerGroupName *string `min:"1" type:"string" required:"true"` - // The action to suspend for this game server group. + // The activity to suspend for this game server group. // // SuspendActions is a required field SuspendActions []*string `min:"1" type:"list" required:"true"` @@ -23832,7 +25337,7 @@ type TagResourceInput struct { // The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) // that is assigned to and uniquely identifies the GameLift resource that you // want to assign tags to. GameLift resource ARNs are included in the data object - // for the resource, which can be retrieved by calling a List or Describe action + // for the resource, which can be retrieved by calling a List or Describe operation // for the resource type. // // ResourceARN is a required field @@ -24029,10 +25534,9 @@ func (s *TargetConfiguration) SetTargetValue(v float64) *TargetConfiguration { return s } -// This data type is part of Amazon GameLift FleetIQ with game server groups, -// which is in preview release and is subject to change. +// This data type is used with the Amazon GameLift FleetIQ and game server groups. // -// Settings for a target-based scaling policy applied to Auto Scaling group. +// Settings for a target-based scaling policy as part of a GameServerGroupAutoScalingPolicy. // These settings are used to create a target-based policy that tracks the GameLift // FleetIQ metric "PercentUtilizedGameServers" and specifies a target value // for the metric. As player usage changes, the policy triggers to adjust the @@ -24254,7 +25758,7 @@ type UntagResourceInput struct { // that is assigned to and uniquely identifies the GameLift resource that you // want to remove tags from. GameLift resource ARNs are included in the data // object for the resource, which can be retrieved by calling a List or Describe - // action for the resource type. + // operation for the resource type. // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` @@ -24322,7 +25826,7 @@ func (s UntagResourceOutput) GoString() string { return s.String() } -// Represents the input for a request action. +// Represents the input for a request operation. type UpdateAliasInput struct { _ struct{} `type:"structure"` @@ -24397,7 +25901,7 @@ func (s *UpdateAliasInput) SetRoutingStrategy(v *RoutingStrategy) *UpdateAliasIn return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type UpdateAliasOutput struct { _ struct{} `type:"structure"` @@ -24421,7 +25925,7 @@ func (s *UpdateAliasOutput) SetAlias(v *Alias) *UpdateAliasOutput { return s } -// Represents the input for a request action. +// Represents the input for a request operation. type UpdateBuildInput struct { _ struct{} `type:"structure"` @@ -24487,7 +25991,7 @@ func (s *UpdateBuildInput) SetVersion(v string) *UpdateBuildInput { return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type UpdateBuildOutput struct { _ struct{} `type:"structure"` @@ -24511,7 +26015,7 @@ func (s *UpdateBuildOutput) SetBuild(v *Build) *UpdateBuildOutput { return s } -// Represents the input for a request action. +// Represents the input for a request operation. type UpdateFleetAttributesInput struct { _ struct{} `type:"structure"` @@ -24616,7 +26120,7 @@ func (s *UpdateFleetAttributesInput) SetResourceCreationLimitPolicy(v *ResourceC return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type UpdateFleetAttributesOutput struct { _ struct{} `type:"structure"` @@ -24641,7 +26145,7 @@ func (s *UpdateFleetAttributesOutput) SetFleetId(v string) *UpdateFleetAttribute return s } -// Represents the input for a request action. +// Represents the input for a request operation. type UpdateFleetCapacityInput struct { _ struct{} `type:"structure"` @@ -24710,7 +26214,7 @@ func (s *UpdateFleetCapacityInput) SetMinSize(v int64) *UpdateFleetCapacityInput return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type UpdateFleetCapacityOutput struct { _ struct{} `type:"structure"` @@ -24734,7 +26238,7 @@ func (s *UpdateFleetCapacityOutput) SetFleetId(v string) *UpdateFleetCapacityOut return s } -// Represents the input for a request action. +// Represents the input for a request operation. type UpdateFleetPortSettingsInput struct { _ struct{} `type:"structure"` @@ -24812,7 +26316,7 @@ func (s *UpdateFleetPortSettingsInput) SetInboundPermissionRevocations(v []*IpPe return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type UpdateFleetPortSettingsOutput struct { _ struct{} `type:"structure"` @@ -24839,50 +26343,58 @@ func (s *UpdateFleetPortSettingsOutput) SetFleetId(v string) *UpdateFleetPortSet type UpdateGameServerGroupInput struct { _ struct{} `type:"structure"` - // The fallback balancing method to use for the game server group when Spot - // instances in a Region become unavailable or are not viable for game hosting. - // Once triggered, this method remains active until Spot instances can once - // again be used. Method options include: - // - // * SPOT_ONLY -- If Spot instances are unavailable, the game server group - // provides no hosting capacity. No new instances are started, and the existing - // nonviable Spot instances are terminated (once current gameplay ends) and - // not replaced. - // - // * SPOT_PREFERRED -- If Spot instances are unavailable, the game server - // group continues to provide hosting capacity by using On-Demand instances. - // Existing nonviable Spot instances are terminated (once current gameplay - // ends) and replaced with new On-Demand instances. + // Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand + // Instances in the game server group. Method options include the following: + // + // * SPOT_ONLY - Only Spot Instances are used in the game server group. If + // Spot Instances are unavailable or not viable for game hosting, the game + // server group provides no hosting capacity until Spot Instances can again + // be used. Until then, no new instances are started, and the existing nonviable + // Spot Instances are terminated (after current gameplay ends) and are not + // replaced. + // + // * SPOT_PREFERRED - (default value) Spot Instances are used whenever available + // in the game server group. If Spot Instances are unavailable, the game + // server group continues to provide hosting capacity by falling back to + // On-Demand Instances. Existing nonviable Spot Instances are terminated + // (after current gameplay ends) and are replaced with new On-Demand Instances. + // + // * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game server + // group. No Spot Instances are used, even when available, while this balancing + // strategy is in force. BalancingStrategy *string `type:"string" enum:"BalancingStrategy"` - // The unique identifier of the game server group to update. Use either the - // GameServerGroup name or ARN value. + // A unique identifier for the game server group. Use either the GameServerGroup + // name or ARN value. // // GameServerGroupName is a required field GameServerGroupName *string `min:"1" type:"string" required:"true"` // A flag that indicates whether instances in the game server group are protected // from early termination. Unprotected instances that have active game servers - // running may by terminated during a scale-down event, causing players to be - // dropped from the game. Protected instances cannot be terminated while there - // are active game servers running. An exception to this is Spot Instances, - // which may be terminated by AWS regardless of protection status. This property + // running might be terminated during a scale-down event, causing players to + // be dropped from the game. Protected instances cannot be terminated while + // there are active game servers running except in the event of a forced game + // server group deletion (see ). An exception to this is with Spot Instances, + // which can be terminated by AWS regardless of protection status. This property // is set to NO_PROTECTION by default. GameServerProtectionPolicy *string `type:"string" enum:"GameServerProtectionPolicy"` - // An updated list of EC2 instance types to use when creating instances in the - // group. The instance definition must specify instance types that are supported - // by GameLift FleetIQ, and must include at least two instance types. This updated - // list replaces the entire current list of instance definitions for the game - // server group. For more information on instance types, see EC2 Instance Types - // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) - // in the Amazon EC2 User Guide.. + // An updated list of EC2 instance types to use in the Auto Scaling group. The + // instance definitions must specify at least two different instance types that + // are supported by GameLift FleetIQ. This updated list replaces the entire + // current list of instance definitions for the game server group. For more + // information on instance types, see EC2 Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // in the Amazon EC2 User Guide. You can optionally specify capacity weighting + // for each instance type. If no weight value is specified for an instance type, + // it is set to the default value "1". For more information about capacity weighting, + // see Instance Weighting for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html) + // in the Amazon EC2 Auto Scaling User Guide. InstanceDefinitions []*InstanceDefinition `min:"2" type:"list"` // The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) // for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling - // groups. The submitted role is validated to ensure that it contains the necessary - // permissions for game server groups. + // groups. RoleArn *string `min:"1" type:"string"` } @@ -24984,29 +26496,24 @@ func (s *UpdateGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *Up type UpdateGameServerInput struct { _ struct{} `type:"structure"` - // A game server tag that can be used to request sorted lists of game servers - // using ListGameServers. Custom sort keys are developer-defined based on how - // you want to organize the retrieved game server information. - CustomSortKey *string `min:"1" type:"string"` - // A set of custom game server properties, formatted as a single string value. // This data is passed to a game client or service when it requests information - // on a game servers using DescribeGameServer or ClaimGameServer. + // on game servers using ListGameServers or ClaimGameServer. GameServerData *string `min:"1" type:"string"` - // An identifier for the game server group where the game server is running. + // A unique identifier for the game server group where the game server is running. // Use either the GameServerGroup name or ARN value. // // GameServerGroupName is a required field GameServerGroupName *string `min:"1" type:"string" required:"true"` - // The identifier for the game server to be updated. + // A custom string that uniquely identifies the game server to update. // // GameServerId is a required field GameServerId *string `min:"3" type:"string" required:"true"` - // Indicates health status of the game server. An update that explicitly includes - // this parameter updates the game server's LastHealthCheckTime time stamp. + // Indicates health status of the game server. A request that includes this + // parameter updates the game server's LastHealthCheckTime timestamp. HealthCheck *string `type:"string" enum:"GameServerHealthCheck"` // Indicates whether the game server is available or is currently hosting gameplay. @@ -25026,9 +26533,6 @@ func (s UpdateGameServerInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateGameServerInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateGameServerInput"} - if s.CustomSortKey != nil && len(*s.CustomSortKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CustomSortKey", 1)) - } if s.GameServerData != nil && len(*s.GameServerData) < 1 { invalidParams.Add(request.NewErrParamMinLen("GameServerData", 1)) } @@ -25051,12 +26555,6 @@ func (s *UpdateGameServerInput) Validate() error { return nil } -// SetCustomSortKey sets the CustomSortKey field's value. -func (s *UpdateGameServerInput) SetCustomSortKey(v string) *UpdateGameServerInput { - s.CustomSortKey = &v - return s -} - // SetGameServerData sets the GameServerData field's value. func (s *UpdateGameServerInput) SetGameServerData(v string) *UpdateGameServerInput { s.GameServerData = &v @@ -25090,7 +26588,7 @@ func (s *UpdateGameServerInput) SetUtilizationStatus(v string) *UpdateGameServer type UpdateGameServerOutput struct { _ struct{} `type:"structure"` - // Object that describes the newly updated game server resource. + // Object that describes the newly updated game server. GameServer *GameServer `type:"structure"` } @@ -25110,7 +26608,7 @@ func (s *UpdateGameServerOutput) SetGameServer(v *GameServer) *UpdateGameServerO return s } -// Represents the input for a request action. +// Represents the input for a request operation. type UpdateGameSessionInput struct { _ struct{} `type:"structure"` @@ -25199,7 +26697,7 @@ func (s *UpdateGameSessionInput) SetProtectionPolicy(v string) *UpdateGameSessio return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type UpdateGameSessionOutput struct { _ struct{} `type:"structure"` @@ -25223,7 +26721,7 @@ func (s *UpdateGameSessionOutput) SetGameSession(v *GameSession) *UpdateGameSess return s } -// Represents the input for a request action. +// Represents the input for a request operation. type UpdateGameSessionQueueInput struct { _ struct{} `type:"structure"` @@ -25317,7 +26815,7 @@ func (s *UpdateGameSessionQueueInput) SetTimeoutInSeconds(v int64) *UpdateGameSe return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type UpdateGameSessionQueueOutput struct { _ struct{} `type:"structure"` @@ -25341,7 +26839,7 @@ func (s *UpdateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) return s } -// Represents the input for a request action. +// Represents the input for a request operation. type UpdateMatchmakingConfigurationInput struct { _ struct{} `type:"structure"` @@ -25546,7 +27044,7 @@ func (s *UpdateMatchmakingConfigurationInput) SetRuleSetName(v string) *UpdateMa return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type UpdateMatchmakingConfigurationOutput struct { _ struct{} `type:"structure"` @@ -25570,7 +27068,7 @@ func (s *UpdateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingCo return s } -// Represents the input for a request action. +// Represents the input for a request operation. type UpdateRuntimeConfigurationInput struct { _ struct{} `type:"structure"` @@ -25635,7 +27133,7 @@ func (s *UpdateRuntimeConfigurationInput) SetRuntimeConfiguration(v *RuntimeConf return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type UpdateRuntimeConfigurationOutput struct { _ struct{} `type:"structure"` @@ -25791,7 +27289,7 @@ func (s *UpdateScriptOutput) SetScript(v *Script) *UpdateScriptOutput { return s } -// Represents the input for a request action. +// Represents the input for a request operation. type ValidateMatchmakingRuleSetInput struct { _ struct{} `type:"structure"` @@ -25833,7 +27331,7 @@ func (s *ValidateMatchmakingRuleSetInput) SetRuleSetBody(v string) *ValidateMatc return s } -// Represents the returned data in response to a request action. +// Represents the returned data in response to a request operation. type ValidateMatchmakingRuleSetOutput struct { _ struct{} `type:"structure"` @@ -26118,6 +27616,9 @@ const ( // BalancingStrategySpotPreferred is a BalancingStrategy enum value BalancingStrategySpotPreferred = "SPOT_PREFERRED" + + // BalancingStrategyOnDemandOnly is a BalancingStrategy enum value + BalancingStrategyOnDemandOnly = "ON_DEMAND_ONLY" ) // BalancingStrategy_Values returns all elements of the BalancingStrategy enum @@ -26125,6 +27626,7 @@ func BalancingStrategy_Values() []string { return []string{ BalancingStrategySpotOnly, BalancingStrategySpotPreferred, + BalancingStrategyOnDemandOnly, } } @@ -26900,6 +28402,26 @@ func GameServerHealthCheck_Values() []string { } } +const ( + // GameServerInstanceStatusActive is a GameServerInstanceStatus enum value + GameServerInstanceStatusActive = "ACTIVE" + + // GameServerInstanceStatusDraining is a GameServerInstanceStatus enum value + GameServerInstanceStatusDraining = "DRAINING" + + // GameServerInstanceStatusSpotTerminating is a GameServerInstanceStatus enum value + GameServerInstanceStatusSpotTerminating = "SPOT_TERMINATING" +) + +// GameServerInstanceStatus_Values returns all elements of the GameServerInstanceStatus enum +func GameServerInstanceStatus_Values() []string { + return []string{ + GameServerInstanceStatusActive, + GameServerInstanceStatusDraining, + GameServerInstanceStatusSpotTerminating, + } +} + const ( // GameServerProtectionPolicyNoProtection is a GameServerProtectionPolicy enum value GameServerProtectionPolicyNoProtection = "NO_PROTECTION" 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 index b1cfaa1b4b6..1e5e92ffbbd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/gamelift/doc.go @@ -3,54 +3,43 @@ // Package gamelift provides the client and types for making API // requests to Amazon GameLift. // -// Amazon GameLift provides a range of multiplayer game hosting solutions. As -// a fully managed service, GameLift helps you: +// GameLift provides solutions for hosting session-based multiplayer game servers +// in the cloud, including tools for deploying, operating, and scaling game +// servers. Built on AWS global computing infrastructure, GameLift helps you +// deliver high-performance, high-reliability, low-cost game servers while dynamically +// scaling your resource usage to meet player demand. // -// * Set up EC2-based computing resources and use GameLift FleetIQ to and -// deploy your game servers on low-cost, reliable Spot instances. +// About GameLift solutions // -// * Track game server availability and route players into game sessions -// to minimize latency. +// Get more information on these GameLift solutions in the Amazon GameLift Developer +// Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/). // -// * Automatically scale your resources to meet player demand and manage -// costs +// * Managed GameLift -- GameLift offers a fully managed service to set up +// and maintain computing machines for hosting, manage game session and player +// session life cycle, and handle security, storage, and performance tracking. +// You can use automatic scaling tools to balance hosting costs against meeting +// player demand., configure your game session management to minimize player +// latency, or add FlexMatch for matchmaking. // -// * Optionally add FlexMatch matchmaking. +// * Managed GameLift with Realtime Servers – With GameLift Realtime Servers, +// you can quickly configure and set up game servers for your game. Realtime +// Servers provides a game server framework with core Amazon GameLift infrastructure +// already built in. // -// With GameLift as a managed service, you have the option to deploy your custom -// game server or use Amazon GameLift Realtime Servers to quickly stand up lightweight -// game servers for your game. Realtime Servers provides an efficient game server -// framework with core Amazon GameLift infrastructure already built in. +// * GameLift FleetIQ – Use GameLift FleetIQ as a standalone feature while +// managing your own EC2 instances and Auto Scaling groups for game hosting. +// GameLift FleetIQ provides optimizations that make low-cost Spot Instances +// viable for game hosting. // -// Now in Public Preview: +// About this API Reference // -// Use GameLift FleetIQ as a standalone feature with EC2 instances and Auto -// Scaling groups. GameLift FleetIQ provides optimizations that make low-cost -// Spot instances viable for game hosting. This extension of GameLift FleetIQ -// gives you access to these optimizations while managing your EC2 instances -// and Auto Scaling groups within your own AWS account. +// This reference guide describes the low-level service API for Amazon GameLift. +// You can find links to language-specific SDK guides and the AWS CLI reference +// with each operation and data type topic. Useful links: // -// Get Amazon GameLift Tools and Resources +// * GameLift API operations listed by tasks (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html) // -// This reference guide describes the low-level service API for Amazon GameLift -// and provides links to language-specific SDK reference topics. See also Amazon -// GameLift Tools and Resources (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-components.html). -// -// API Summary -// -// The Amazon GameLift service API includes two key sets of actions: -// -// * Manage game sessions and player access -- Integrate this functionality -// into game client services in order to create new game sessions, retrieve -// information on existing game sessions; reserve a player slot in a game -// session, request matchmaking, etc. -// -// * Configure and manage game server resources -- Manage your Amazon GameLift -// hosting resources, including builds, scripts, fleets, queues, and aliases. -// Set up matchmakers, configure auto-scaling, retrieve game logs, and get -// hosting and game metrics. -// -// Task-based list of API actions (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html) +// * GameLift tools and resources (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-components.html) // // See https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go b/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go index d1ef1116776..0c309801c58 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go @@ -3008,6 +3008,39 @@ func (s AssociateCertificateOutput) GoString() string { return s.String() } +// When you mimic a multi-channel audio layout with multiple mono-channel tracks, +// you can tag each channel layout manually. For example, you would tag the +// tracks that contain your left, right, and center audio with Left (L), Right +// (R), and Center (C), respectively. When you don't specify a value, MediaConvert +// labels your track as Center (C) by default. To use audio layout tagging, +// your output must be in a QuickTime (.mov) container; your audio codec must +// be AAC, WAV, or AIFF; and you must set up your audio track to have only one +// channel. +type AudioChannelTaggingSettings struct { + _ struct{} `type:"structure"` + + // You can add a tag for this mono-channel audio track to mimic its placement + // in a multi-channel layout. For example, if this track is the left surround + // channel, choose Left surround (LS). + ChannelTag *string `locationName:"channelTag" type:"string" enum:"AudioChannelTag"` +} + +// String returns the string representation +func (s AudioChannelTaggingSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AudioChannelTaggingSettings) GoString() string { + return s.String() +} + +// SetChannelTag sets the ChannelTag field's value. +func (s *AudioChannelTaggingSettings) SetChannelTag(v string) *AudioChannelTaggingSettings { + s.ChannelTag = &v + return s +} + // Audio codec settings (CodecSettings) under (AudioDescriptions) contains the // group of settings related to audio encoding. The settings in this group vary // depending on the value that you choose for Audio codec (Codec). For each @@ -3208,6 +3241,16 @@ func (s *AudioCodecSettings) SetWavSettings(v *WavSettings) *AudioCodecSettings type AudioDescription struct { _ struct{} `type:"structure"` + // When you mimic a multi-channel audio layout with multiple mono-channel tracks, + // you can tag each channel layout manually. For example, you would tag the + // tracks that contain your left, right, and center audio with Left (L), Right + // (R), and Center (C), respectively. When you don't specify a value, MediaConvert + // labels your track as Center (C) by default. To use audio layout tagging, + // your output must be in a QuickTime (.mov) container; your audio codec must + // be AAC, WAV, or AIFF; and you must set up your audio track to have only one + // channel. + AudioChannelTaggingSettings *AudioChannelTaggingSettings `locationName:"audioChannelTaggingSettings" type:"structure"` + // Advanced audio normalization settings. Ignore these settings unless you need // to comply with a loudness standard. AudioNormalizationSettings *AudioNormalizationSettings `locationName:"audioNormalizationSettings" type:"structure"` @@ -3317,6 +3360,12 @@ func (s *AudioDescription) Validate() error { return nil } +// SetAudioChannelTaggingSettings sets the AudioChannelTaggingSettings field's value. +func (s *AudioDescription) SetAudioChannelTaggingSettings(v *AudioChannelTaggingSettings) *AudioDescription { + s.AudioChannelTaggingSettings = v + return s +} + // SetAudioNormalizationSettings sets the AudioNormalizationSettings field's value. func (s *AudioDescription) SetAudioNormalizationSettings(v *AudioNormalizationSettings) *AudioDescription { s.AudioNormalizationSettings = v @@ -10337,6 +10386,12 @@ type HlsGroupSettings struct { // a subset of the outputs in the output group, specify a list of them here. AdditionalManifests []*HlsAdditionalManifest `locationName:"additionalManifests" type:"list"` + // Ignore this setting unless you are using FairPlay DRM with Verimatrix and + // you encounter playback issues. Keep the default value, Include (INCLUDE), + // to output audio-only headers. Choose Exclude (EXCLUDE) to remove the audio-only + // headers from your audio segments. + AudioOnlyHeader *string `locationName:"audioOnlyHeader" type:"string" enum:"HlsAudioOnlyHeader"` + // A partial URI prefix that will be prepended to each output in the media .m3u8 // file. Can be used if base manifest is delivered from a different URL than // the main .m3u8 file. @@ -10515,6 +10570,12 @@ func (s *HlsGroupSettings) SetAdditionalManifests(v []*HlsAdditionalManifest) *H return s } +// SetAudioOnlyHeader sets the AudioOnlyHeader field's value. +func (s *HlsGroupSettings) SetAudioOnlyHeader(v string) *HlsGroupSettings { + s.AudioOnlyHeader = &v + return s +} + // SetBaseUrl sets the BaseUrl field's value. func (s *HlsGroupSettings) SetBaseUrl(v string) *HlsGroupSettings { s.BaseUrl = &v @@ -15322,9 +15383,11 @@ type NoiseReducerTemporalFilterSettings struct { AggressiveMode *int64 `locationName:"aggressiveMode" type:"integer"` // Optional. When you set Noise reducer (noiseReducer) to Temporal (TEMPORAL), - // you can optionally use this setting to apply additional sharpening. The default - // behavior, Auto (AUTO) allows the transcoder to determine whether to apply - // filtering, depending on input type and quality. + // you can use this setting to apply sharpening. The default behavior, Auto + // (AUTO), allows the transcoder to determine whether to apply filtering, depending + // on input type and quality. When you set Noise reducer to Temporal, your output + // bandwidth is reduced. When Post temporal sharpening is also enabled, that + // bandwidth reduction is smaller. PostTemporalSharpening *string `locationName:"postTemporalSharpening" type:"string" enum:"NoiseFilterPostTemporalSharpening"` // The speed of the filter (higher number is faster). Low setting reduces bit @@ -19846,6 +19909,77 @@ func AntiAlias_Values() []string { } } +// You can add a tag for this mono-channel audio track to mimic its placement +// in a multi-channel layout. For example, if this track is the left surround +// channel, choose Left surround (LS). +const ( + // AudioChannelTagL is a AudioChannelTag enum value + AudioChannelTagL = "L" + + // AudioChannelTagR is a AudioChannelTag enum value + AudioChannelTagR = "R" + + // AudioChannelTagC is a AudioChannelTag enum value + AudioChannelTagC = "C" + + // AudioChannelTagLfe is a AudioChannelTag enum value + AudioChannelTagLfe = "LFE" + + // AudioChannelTagLs is a AudioChannelTag enum value + AudioChannelTagLs = "LS" + + // AudioChannelTagRs is a AudioChannelTag enum value + AudioChannelTagRs = "RS" + + // AudioChannelTagLc is a AudioChannelTag enum value + AudioChannelTagLc = "LC" + + // AudioChannelTagRc is a AudioChannelTag enum value + AudioChannelTagRc = "RC" + + // AudioChannelTagCs is a AudioChannelTag enum value + AudioChannelTagCs = "CS" + + // AudioChannelTagLsd is a AudioChannelTag enum value + AudioChannelTagLsd = "LSD" + + // AudioChannelTagRsd is a AudioChannelTag enum value + AudioChannelTagRsd = "RSD" + + // AudioChannelTagTcs is a AudioChannelTag enum value + AudioChannelTagTcs = "TCS" + + // AudioChannelTagVhl is a AudioChannelTag enum value + AudioChannelTagVhl = "VHL" + + // AudioChannelTagVhc is a AudioChannelTag enum value + AudioChannelTagVhc = "VHC" + + // AudioChannelTagVhr is a AudioChannelTag enum value + AudioChannelTagVhr = "VHR" +) + +// AudioChannelTag_Values returns all elements of the AudioChannelTag enum +func AudioChannelTag_Values() []string { + return []string{ + AudioChannelTagL, + AudioChannelTagR, + AudioChannelTagC, + AudioChannelTagLfe, + AudioChannelTagLs, + AudioChannelTagRs, + AudioChannelTagLc, + AudioChannelTagRc, + AudioChannelTagCs, + AudioChannelTagLsd, + AudioChannelTagRsd, + AudioChannelTagTcs, + AudioChannelTagVhl, + AudioChannelTagVhc, + AudioChannelTagVhr, + } +} + // Type of Audio codec. const ( // AudioCodecAac is a AudioCodec enum value @@ -23215,6 +23349,26 @@ func HlsAudioOnlyContainer_Values() []string { } } +// Ignore this setting unless you are using FairPlay DRM with Verimatrix and +// you encounter playback issues. Keep the default value, Include (INCLUDE), +// to output audio-only headers. Choose Exclude (EXCLUDE) to remove the audio-only +// headers from your audio segments. +const ( + // HlsAudioOnlyHeaderInclude is a HlsAudioOnlyHeader enum value + HlsAudioOnlyHeaderInclude = "INCLUDE" + + // HlsAudioOnlyHeaderExclude is a HlsAudioOnlyHeader enum value + HlsAudioOnlyHeaderExclude = "EXCLUDE" +) + +// HlsAudioOnlyHeader_Values returns all elements of the HlsAudioOnlyHeader enum +func HlsAudioOnlyHeader_Values() []string { + return []string{ + HlsAudioOnlyHeaderInclude, + HlsAudioOnlyHeaderExclude, + } +} + // Four types of audio-only tracks are supported: Audio-Only Variant Stream // The client can play back this audio-only stream instead of video in low-bandwidth // scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate @@ -25615,9 +25769,11 @@ func MxfAfdSignaling_Values() []string { } // Optional. When you set Noise reducer (noiseReducer) to Temporal (TEMPORAL), -// you can optionally use this setting to apply additional sharpening. The default -// behavior, Auto (AUTO) allows the transcoder to determine whether to apply -// filtering, depending on input type and quality. +// you can use this setting to apply sharpening. The default behavior, Auto +// (AUTO), allows the transcoder to determine whether to apply filtering, depending +// on input type and quality. When you set Noise reducer to Temporal, your output +// bandwidth is reduced. When Post temporal sharpening is also enabled, that +// bandwidth reduction is smaller. const ( // NoiseFilterPostTemporalSharpeningDisabled is a NoiseFilterPostTemporalSharpening enum value NoiseFilterPostTemporalSharpeningDisabled = "DISABLED" diff --git a/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go b/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go index d8b2573da17..500669fa4cf 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/redshift/api.go @@ -9032,8 +9032,9 @@ func (c *Redshift) ResizeClusterRequest(input *ResizeClusterInput) (req *request // // Elastic resize operations have the following restrictions: // -// * You can only resize clusters of the following types: dc2.large dc2.8xlarge -// ds2.xlarge ds2.8xlarge ra3.4xlarge ra3.16xlarge +// * You can only resize clusters of the following types: dc1.large (if your +// cluster is in a VPC) dc1.8xlarge (if your cluster is in a VPC) dc2.large +// dc2.8xlarge ds2.xlarge ds2.8xlarge ra3.4xlarge ra3.16xlarge // // * The type of nodes that you add must match the node type for the cluster. // @@ -10400,8 +10401,7 @@ type CancelResizeOutput struct { // The type of encryption for the cluster after the resize is complete. // - // Possible values are KMS and None. In the China region possible values are: - // Legacy and None. + // Possible values are KMS and None. TargetEncryptionType *string `type:"string"` // The node type that the cluster will have after the resize operation is complete. @@ -17322,8 +17322,7 @@ type DescribeResizeOutput struct { // The type of encryption for the cluster after the resize is complete. // - // Possible values are KMS and None. In the China region possible values are: - // Legacy and None. + // Possible values are KMS and None. TargetEncryptionType *string `type:"string"` // The node type that the cluster will have after the resize operation is complete. @@ -19835,8 +19834,7 @@ type ModifyClusterInput struct { // Indicates whether the cluster is encrypted. If the value is encrypted (true) // and you provide a value for the KmsKeyId parameter, we encrypt the cluster // with the provided KmsKeyId. If you don't provide a KmsKeyId, we encrypt with - // the default key. In the China region we use legacy encryption if you specify - // that the cluster is encrypted. + // the default key. // // If the value is not encrypted (false), then the cluster is decrypted. Encrypted *bool `type:"boolean"` @@ -20257,6 +20255,7 @@ func (s *ModifyClusterOutput) SetCluster(v *Cluster) *ModifyClusterOutput { return s } +// Describes a modify cluster parameter group operation. type ModifyClusterParameterGroupInput struct { _ struct{} `type:"structure"` @@ -21572,6 +21571,8 @@ func (s *Parameter) SetSource(v string) *Parameter { return s } +// Describes a pause cluster operation. For example, a scheduled action to run +// the PauseCluster API operation. type PauseClusterInput struct { _ struct{} `type:"structure"` @@ -21610,6 +21611,8 @@ func (s *PauseClusterInput) SetClusterIdentifier(v string) *PauseClusterInput { return s } +// Describes a pause cluster operation. For example, a scheduled action to run +// the PauseCluster API operation. type PauseClusterMessage struct { _ struct{} `type:"structure"` @@ -21688,8 +21691,7 @@ type PendingModifiedValues struct { // The pending or in-progress change of the service version. ClusterVersion *string `type:"string"` - // The encryption type for a cluster. Possible values are: KMS and None. For - // the China region the possible values are None, and Legacy. + // The encryption type for a cluster. Possible values are: KMS and None. EncryptionType *string `type:"string"` // An option that specifies whether to create the cluster with enhanced VPC @@ -22276,6 +22278,8 @@ func (s *ResetClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetCl return s } +// Describes a resize cluster operation. For example, a scheduled action to +// run the ResizeCluster API operation. type ResizeClusterInput struct { _ struct{} `type:"structure"` @@ -22296,7 +22300,8 @@ type ResizeClusterInput struct { // current node type is used. NodeType *string `type:"string"` - // The new number of nodes for the cluster. + // The new number of nodes for the cluster. If not specified, the cluster's + // current number of nodes is used. NumberOfNodes *int64 `type:"integer"` } @@ -22353,6 +22358,8 @@ func (s *ResizeClusterInput) SetNumberOfNodes(v int64) *ResizeClusterInput { return s } +// Describes a resize cluster operation. For example, a scheduled action to +// run the ResizeCluster API operation. type ResizeClusterMessage struct { _ struct{} `type:"structure"` @@ -22373,7 +22380,8 @@ type ResizeClusterMessage struct { // current node type is used. NodeType *string `type:"string"` - // The new number of nodes for the cluster. + // The new number of nodes for the cluster. If not specified, the cluster's + // current number of nodes is used. NumberOfNodes *int64 `type:"integer"` } @@ -23113,6 +23121,8 @@ func (s *RestoreTableFromClusterSnapshotOutput) SetTableRestoreStatus(v *TableRe return s } +// Describes a resume cluster operation. For example, a scheduled action to +// run the ResumeCluster API operation. type ResumeClusterInput struct { _ struct{} `type:"structure"` @@ -23151,6 +23161,8 @@ func (s *ResumeClusterInput) SetClusterIdentifier(v string) *ResumeClusterInput return s } +// Describes a resume cluster operation. For example, a scheduled action to +// run the ResumeCluster API operation. type ResumeClusterMessage struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/api.go b/vendor/github.com/aws/aws-sdk-go/service/route53/api.go index da7c8dc6cf8..8a778400673 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53/api.go @@ -60,22 +60,13 @@ func (c *Route53) AssociateVPCWithHostedZoneRequest(input *AssociateVPCWithHoste // Associates an Amazon VPC with a private hosted zone. // // To perform the association, the VPC and the private hosted zone must already -// exist. Also, you can't convert a public hosted zone into a private hosted -// zone. -// -// If you want to associate a VPC that was created by one AWS account with a -// private hosted zone that was created by a different account, do one of the -// following: -// -// * Use the AWS account that created the private hosted zone to submit a -// CreateVPCAssociationAuthorization (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateVPCAssociationAuthorization.html) -// request. Then use the account that created the VPC to submit an AssociateVPCWithHostedZone -// request. +// exist. You can't convert a public hosted zone into a private hosted zone. // -// * If a subnet in the VPC was shared with another account, you can use -// the account that the subnet was shared with to submit an AssociateVPCWithHostedZone -// request. For more information about sharing subnets, see Working with -// Shared VPCs (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html). +// If you want to associate a VPC that was created by using one AWS account +// with a private hosted zone that was created by using a different account, +// the AWS account that created the private hosted zone must first submit a +// CreateVPCAssociationAuthorization request. Then the account that created +// the VPC must submit an AssociateVPCWithHostedZone request. // // 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 @@ -2012,6 +2003,19 @@ func (c *Route53) DeleteTrafficPolicyRequest(input *DeleteTrafficPolicyInput) (r // // Deletes a traffic policy. // +// When you delete a traffic policy, Route 53 sets a flag on the policy to indicate +// that it has been deleted. However, Route 53 never fully deletes the traffic +// policy. Note the following: +// +// * Deleted traffic policies aren't listed if you run ListTrafficPolicies +// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListTrafficPolicies.html). +// +// * There's no way to get a list of deleted policies. +// +// * If you retain the ID of the policy, you can get information about the +// policy, including the traffic policy document, by running GetTrafficPolicy +// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetTrafficPolicy.html). +// // 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. @@ -3605,6 +3609,9 @@ func (c *Route53) GetTrafficPolicyRequest(input *GetTrafficPolicyInput) (req *re // // Gets information about a specific traffic policy version. // +// For information about how of deleting a traffic policy affects the response +// from GetTrafficPolicy, see DeleteTrafficPolicy (https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteTrafficPolicy.html). +// // 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. @@ -5087,6 +5094,9 @@ func (c *Route53) ListTrafficPoliciesRequest(input *ListTrafficPoliciesInput) (r // associated with the current AWS account. Policies are listed in the order // that they were created in. // +// For information about how of deleting a traffic policy affects the response +// from ListTrafficPolicies, see DeleteTrafficPolicy (https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteTrafficPolicy.html). +// // 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. @@ -11492,8 +11502,8 @@ type ListHostedZonesByVPCInput struct { // (Optional) The maximum number of hosted zones that you want Amazon Route // 53 to return. If the specified VPC is associated with more than MaxItems // hosted zones, the response includes a NextToken element. NextToken contains - // the hosted zone ID of the first hosted zone that Route 53 will return if - // you submit another request. + // an encrypted token that identifies the first hosted zone that Route 53 will + // return if you submit another request. MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"` // If the previous response included a NextToken element, the specified VPC diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53resolver/api.go b/vendor/github.com/aws/aws-sdk-go/service/route53resolver/api.go index 38c84034310..eff7dc27958 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53resolver/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53resolver/api.go @@ -56,11 +56,12 @@ func (c *Route53Resolver) AssociateResolverEndpointIpAddressRequest(input *Assoc // AssociateResolverEndpointIpAddress API operation for Amazon Route 53 Resolver. // -// Adds IP addresses to an inbound or an outbound resolver endpoint. If you -// want to adding more than one IP address, submit one AssociateResolverEndpointIpAddress +// Adds IP addresses to an inbound or an outbound Resolver endpoint. If you +// want to add more than one IP address, submit one AssociateResolverEndpointIpAddress // request for each IP address. // -// To remove an IP address from an endpoint, see DisassociateResolverEndpointIpAddress. +// To remove an IP address from an endpoint, see DisassociateResolverEndpointIpAddress +// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverEndpointIpAddress.html). // // 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 @@ -113,6 +114,117 @@ func (c *Route53Resolver) AssociateResolverEndpointIpAddressWithContext(ctx aws. return out, req.Send() } +const opAssociateResolverQueryLogConfig = "AssociateResolverQueryLogConfig" + +// AssociateResolverQueryLogConfigRequest generates a "aws/request.Request" representing the +// client's request for the AssociateResolverQueryLogConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 AssociateResolverQueryLogConfig for more information on using the AssociateResolverQueryLogConfig +// 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 AssociateResolverQueryLogConfigRequest method. +// req, resp := client.AssociateResolverQueryLogConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverQueryLogConfig +func (c *Route53Resolver) AssociateResolverQueryLogConfigRequest(input *AssociateResolverQueryLogConfigInput) (req *request.Request, output *AssociateResolverQueryLogConfigOutput) { + op := &request.Operation{ + Name: opAssociateResolverQueryLogConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateResolverQueryLogConfigInput{} + } + + output = &AssociateResolverQueryLogConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateResolverQueryLogConfig API operation for Amazon Route 53 Resolver. +// +// Associates an Amazon VPC with a specified query logging configuration. Route +// 53 Resolver logs DNS queries that originate in all of the Amazon VPCs that +// are associated with a specified query logging configuration. To associate +// more than one VPC with a configuration, submit one AssociateResolverQueryLogConfig +// request for each VPC. +// +// The VPCs that you associate with a query logging configuration must be in +// the same Region as the configuration. +// +// To remove a VPC from a query logging configuration, see DisassociateResolverQueryLogConfig +// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverQueryLogConfig.html). +// +// 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 Route 53 Resolver's +// API operation AssociateResolverQueryLogConfig for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * InvalidRequestException +// The request is invalid. +// +// * ResourceExistsException +// The resource that you tried to create already exists. +// +// * LimitExceededException +// The request caused one or more limits to be exceeded. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverQueryLogConfig +func (c *Route53Resolver) AssociateResolverQueryLogConfig(input *AssociateResolverQueryLogConfigInput) (*AssociateResolverQueryLogConfigOutput, error) { + req, out := c.AssociateResolverQueryLogConfigRequest(input) + return out, req.Send() +} + +// AssociateResolverQueryLogConfigWithContext is the same as AssociateResolverQueryLogConfig with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateResolverQueryLogConfig 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 *Route53Resolver) AssociateResolverQueryLogConfigWithContext(ctx aws.Context, input *AssociateResolverQueryLogConfigInput, opts ...request.Option) (*AssociateResolverQueryLogConfigOutput, error) { + req, out := c.AssociateResolverQueryLogConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAssociateResolverRule = "AssociateResolverRule" // AssociateResolverRuleRequest generates a "aws/request.Request" representing the @@ -157,11 +269,11 @@ func (c *Route53Resolver) AssociateResolverRuleRequest(input *AssociateResolverR // AssociateResolverRule API operation for Amazon Route 53 Resolver. // -// Associates a resolver rule with a VPC. When you associate a rule with a VPC, +// Associates a Resolver rule with a VPC. When you associate a rule with a VPC, // Resolver forwards all DNS queries for the domain name that is specified in // the rule and that originate in the VPC. The queries are forwarded to the // IP addresses for the DNS resolvers that are specified in the rule. For more -// information about rules, see CreateResolverRule. +// information about rules, see CreateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html). // // 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 @@ -177,6 +289,9 @@ func (c *Route53Resolver) AssociateResolverRuleRequest(input *AssociateResolverR // * InvalidRequestException // The request is invalid. // +// * LimitExceededException +// The request caused one or more limits to be exceeded. +// // * InvalidParameterException // One or more parameters in this request are not valid. // @@ -258,14 +373,14 @@ func (c *Route53Resolver) CreateResolverEndpointRequest(input *CreateResolverEnd // CreateResolverEndpoint API operation for Amazon Route 53 Resolver. // -// Creates a resolver endpoint. There are two types of resolver endpoints, inbound +// Creates a Resolver endpoint. There are two types of Resolver endpoints, inbound // and outbound: // -// * An inbound resolver endpoint forwards DNS queries to the DNS service -// for a VPC from your network or another VPC. +// * An inbound Resolver endpoint forwards DNS queries to the DNS service +// for a VPC from your network. // -// * An outbound resolver endpoint forwards DNS queries from the DNS service -// for a VPC to your network or another VPC. +// * An outbound Resolver endpoint forwards DNS queries from the DNS service +// for a VPC to your network. // // 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 @@ -318,6 +433,119 @@ func (c *Route53Resolver) CreateResolverEndpointWithContext(ctx aws.Context, inp return out, req.Send() } +const opCreateResolverQueryLogConfig = "CreateResolverQueryLogConfig" + +// CreateResolverQueryLogConfigRequest generates a "aws/request.Request" representing the +// client's request for the CreateResolverQueryLogConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 CreateResolverQueryLogConfig for more information on using the CreateResolverQueryLogConfig +// 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 CreateResolverQueryLogConfigRequest method. +// req, resp := client.CreateResolverQueryLogConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverQueryLogConfig +func (c *Route53Resolver) CreateResolverQueryLogConfigRequest(input *CreateResolverQueryLogConfigInput) (req *request.Request, output *CreateResolverQueryLogConfigOutput) { + op := &request.Operation{ + Name: opCreateResolverQueryLogConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateResolverQueryLogConfigInput{} + } + + output = &CreateResolverQueryLogConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateResolverQueryLogConfig API operation for Amazon Route 53 Resolver. +// +// Creates a Resolver query logging configuration, which defines where you want +// Resolver to save DNS query logs that originate in your VPCs. Resolver can +// log queries only for VPCs that are in the same Region as the query logging +// configuration. +// +// To specify which VPCs you want to log queries for, you use AssociateResolverQueryLogConfig. +// For more information, see AssociateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverQueryLogConfig.html). +// +// You can optionally use AWS Resource Access Manager (AWS RAM) to share a query +// logging configuration with other AWS accounts. The other accounts can then +// associate VPCs with the configuration. The query logs that Resolver creates +// for a configuration include all DNS queries that originate in all VPCs that +// are associated with the configuration. +// +// 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 Route 53 Resolver's +// API operation CreateResolverQueryLogConfig for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * InvalidRequestException +// The request is invalid. +// +// * ResourceExistsException +// The resource that you tried to create already exists. +// +// * LimitExceededException +// The request caused one or more limits to be exceeded. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverQueryLogConfig +func (c *Route53Resolver) CreateResolverQueryLogConfig(input *CreateResolverQueryLogConfigInput) (*CreateResolverQueryLogConfigOutput, error) { + req, out := c.CreateResolverQueryLogConfigRequest(input) + return out, req.Send() +} + +// CreateResolverQueryLogConfigWithContext is the same as CreateResolverQueryLogConfig with the addition of +// the ability to pass a context and additional request options. +// +// See CreateResolverQueryLogConfig 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 *Route53Resolver) CreateResolverQueryLogConfigWithContext(ctx aws.Context, input *CreateResolverQueryLogConfigInput, opts ...request.Option) (*CreateResolverQueryLogConfigOutput, error) { + req, out := c.CreateResolverQueryLogConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateResolverRule = "CreateResolverRule" // CreateResolverRuleRequest generates a "aws/request.Request" representing the @@ -362,7 +590,7 @@ func (c *Route53Resolver) CreateResolverRuleRequest(input *CreateResolverRuleInp // CreateResolverRule API operation for Amazon Route 53 Resolver. // -// For DNS queries that originate in your VPCs, specifies which resolver endpoint +// For DNS queries that originate in your VPCs, specifies which Resolver endpoint // the queries pass through, one domain name that you want to forward to your // network, and the IP addresses of the DNS resolvers in your network. // @@ -464,14 +692,13 @@ func (c *Route53Resolver) DeleteResolverEndpointRequest(input *DeleteResolverEnd // DeleteResolverEndpoint API operation for Amazon Route 53 Resolver. // -// Deletes a resolver endpoint. The effect of deleting a resolver endpoint depends -// on whether it's an inbound or an outbound resolver endpoint: +// Deletes a Resolver endpoint. The effect of deleting a Resolver endpoint depends +// on whether it's an inbound or an outbound Resolver endpoint: // -// * Inbound: DNS queries from your network or another VPC are no longer -// routed to the DNS service for the specified VPC. +// * Inbound: DNS queries from your network are no longer routed to the DNS +// service for the specified VPC. // -// * Outbound: DNS queries from a VPC are no longer routed to your network -// or to another VPC. +// * Outbound: DNS queries from a VPC are no longer routed to your network. // // 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 @@ -518,6 +745,115 @@ func (c *Route53Resolver) DeleteResolverEndpointWithContext(ctx aws.Context, inp return out, req.Send() } +const opDeleteResolverQueryLogConfig = "DeleteResolverQueryLogConfig" + +// DeleteResolverQueryLogConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResolverQueryLogConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 DeleteResolverQueryLogConfig for more information on using the DeleteResolverQueryLogConfig +// 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 DeleteResolverQueryLogConfigRequest method. +// req, resp := client.DeleteResolverQueryLogConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverQueryLogConfig +func (c *Route53Resolver) DeleteResolverQueryLogConfigRequest(input *DeleteResolverQueryLogConfigInput) (req *request.Request, output *DeleteResolverQueryLogConfigOutput) { + op := &request.Operation{ + Name: opDeleteResolverQueryLogConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteResolverQueryLogConfigInput{} + } + + output = &DeleteResolverQueryLogConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteResolverQueryLogConfig API operation for Amazon Route 53 Resolver. +// +// Deletes a query logging configuration. When you delete a configuration, Resolver +// stops logging DNS queries for all of the Amazon VPCs that are associated +// with the configuration. This also applies if the query logging configuration +// is shared with other AWS accounts, and the other accounts have associated +// VPCs with the shared configuration. +// +// Before you can delete a query logging configuration, you must first disassociate +// all VPCs from the configuration. See DisassociateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverQueryLogConfig.html). +// +// If you used Resource Access Manager (RAM) to share a query logging configuration +// with other accounts, you must stop sharing the configuration before you can +// delete a configuration. The accounts that you shared the configuration with +// can first disassociate VPCs that they associated with the configuration, +// but that's not necessary. If you stop sharing the configuration, those VPCs +// are automatically disassociated from the configuration. +// +// 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 Route 53 Resolver's +// API operation DeleteResolverQueryLogConfig for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverQueryLogConfig +func (c *Route53Resolver) DeleteResolverQueryLogConfig(input *DeleteResolverQueryLogConfigInput) (*DeleteResolverQueryLogConfigOutput, error) { + req, out := c.DeleteResolverQueryLogConfigRequest(input) + return out, req.Send() +} + +// DeleteResolverQueryLogConfigWithContext is the same as DeleteResolverQueryLogConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteResolverQueryLogConfig 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 *Route53Resolver) DeleteResolverQueryLogConfigWithContext(ctx aws.Context, input *DeleteResolverQueryLogConfigInput, opts ...request.Option) (*DeleteResolverQueryLogConfigOutput, error) { + req, out := c.DeleteResolverQueryLogConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteResolverRule = "DeleteResolverRule" // DeleteResolverRuleRequest generates a "aws/request.Request" representing the @@ -562,9 +898,9 @@ func (c *Route53Resolver) DeleteResolverRuleRequest(input *DeleteResolverRuleInp // DeleteResolverRule API operation for Amazon Route 53 Resolver. // -// Deletes a resolver rule. Before you can delete a resolver rule, you must -// disassociate it from all the VPCs that you associated the resolver rule with. -// For more infomation, see DisassociateResolverRule. +// Deletes a Resolver rule. Before you can delete a Resolver rule, you must +// disassociate it from all the VPCs that you associated the Resolver rule with. +// For more information, see DisassociateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html). // // 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 @@ -655,11 +991,12 @@ func (c *Route53Resolver) DisassociateResolverEndpointIpAddressRequest(input *Di // DisassociateResolverEndpointIpAddress API operation for Amazon Route 53 Resolver. // -// Removes IP addresses from an inbound or an outbound resolver endpoint. If +// Removes IP addresses from an inbound or an outbound Resolver endpoint. If // you want to remove more than one IP address, submit one DisassociateResolverEndpointIpAddress // request for each IP address. // -// To add an IP address to an endpoint, see AssociateResolverEndpointIpAddress. +// To add an IP address to an endpoint, see AssociateResolverEndpointIpAddress +// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverEndpointIpAddress.html). // // 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 @@ -709,62 +1046,68 @@ func (c *Route53Resolver) DisassociateResolverEndpointIpAddressWithContext(ctx a return out, req.Send() } -const opDisassociateResolverRule = "DisassociateResolverRule" +const opDisassociateResolverQueryLogConfig = "DisassociateResolverQueryLogConfig" -// DisassociateResolverRuleRequest generates a "aws/request.Request" representing the -// client's request for the DisassociateResolverRule operation. The "output" return +// DisassociateResolverQueryLogConfigRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateResolverQueryLogConfig operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // 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 DisassociateResolverRule for more information on using the DisassociateResolverRule +// See DisassociateResolverQueryLogConfig for more information on using the DisassociateResolverQueryLogConfig // 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 DisassociateResolverRuleRequest method. -// req, resp := client.DisassociateResolverRuleRequest(params) +// // Example sending a request using the DisassociateResolverQueryLogConfigRequest method. +// req, resp := client.DisassociateResolverQueryLogConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule -func (c *Route53Resolver) DisassociateResolverRuleRequest(input *DisassociateResolverRuleInput) (req *request.Request, output *DisassociateResolverRuleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverQueryLogConfig +func (c *Route53Resolver) DisassociateResolverQueryLogConfigRequest(input *DisassociateResolverQueryLogConfigInput) (req *request.Request, output *DisassociateResolverQueryLogConfigOutput) { op := &request.Operation{ - Name: opDisassociateResolverRule, + Name: opDisassociateResolverQueryLogConfig, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DisassociateResolverRuleInput{} + input = &DisassociateResolverQueryLogConfigInput{} } - output = &DisassociateResolverRuleOutput{} + output = &DisassociateResolverQueryLogConfigOutput{} req = c.newRequest(op, input, output) return } -// DisassociateResolverRule API operation for Amazon Route 53 Resolver. +// DisassociateResolverQueryLogConfig API operation for Amazon Route 53 Resolver. // -// Removes the association between a specified resolver rule and a specified -// VPC. +// Disassociates a VPC from a query logging configuration. +// +// Before you can delete a query logging configuration, you must first disassociate +// all VPCs from the configuration. If you used Resource Access Manager (RAM) +// to share a query logging configuration with other accounts, VPCs can be disassociated +// from the configuration in the following ways: // -// If you disassociate a resolver rule from a VPC, Resolver stops forwarding -// DNS queries for the domain name that you specified in the resolver rule. +// * The accounts that you shared the configuration with can disassociate +// VPCs from the configuration. +// +// * You can stop sharing the configuration. // // 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 Route 53 Resolver's -// API operation DisassociateResolverRule for usage and error information. +// API operation DisassociateResolverQueryLogConfig for usage and error information. // // Returned Error Types: // * ResourceNotFoundException @@ -773,15 +1116,114 @@ func (c *Route53Resolver) DisassociateResolverRuleRequest(input *DisassociateRes // * InvalidParameterException // One or more parameters in this request are not valid. // +// * InvalidRequestException +// The request is invalid. +// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule -func (c *Route53Resolver) DisassociateResolverRule(input *DisassociateResolverRuleInput) (*DisassociateResolverRuleOutput, error) { - req, out := c.DisassociateResolverRuleRequest(input) +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverQueryLogConfig +func (c *Route53Resolver) DisassociateResolverQueryLogConfig(input *DisassociateResolverQueryLogConfigInput) (*DisassociateResolverQueryLogConfigOutput, error) { + req, out := c.DisassociateResolverQueryLogConfigRequest(input) + return out, req.Send() +} + +// DisassociateResolverQueryLogConfigWithContext is the same as DisassociateResolverQueryLogConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateResolverQueryLogConfig 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 *Route53Resolver) DisassociateResolverQueryLogConfigWithContext(ctx aws.Context, input *DisassociateResolverQueryLogConfigInput, opts ...request.Option) (*DisassociateResolverQueryLogConfigOutput, error) { + req, out := c.DisassociateResolverQueryLogConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateResolverRule = "DisassociateResolverRule" + +// DisassociateResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateResolverRule operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 DisassociateResolverRule for more information on using the DisassociateResolverRule +// 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 DisassociateResolverRuleRequest method. +// req, resp := client.DisassociateResolverRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule +func (c *Route53Resolver) DisassociateResolverRuleRequest(input *DisassociateResolverRuleInput) (req *request.Request, output *DisassociateResolverRuleOutput) { + op := &request.Operation{ + Name: opDisassociateResolverRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateResolverRuleInput{} + } + + output = &DisassociateResolverRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateResolverRule API operation for Amazon Route 53 Resolver. +// +// Removes the association between a specified Resolver rule and a specified +// VPC. +// +// If you disassociate a Resolver rule from a VPC, Resolver stops forwarding +// DNS queries for the domain name that you specified in the Resolver rule. +// +// 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 Route 53 Resolver's +// API operation DisassociateResolverRule for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule +func (c *Route53Resolver) DisassociateResolverRule(input *DisassociateResolverRuleInput) (*DisassociateResolverRuleOutput, error) { + req, out := c.DisassociateResolverRuleRequest(input) return out, req.Send() } @@ -845,8 +1287,8 @@ func (c *Route53Resolver) GetResolverEndpointRequest(input *GetResolverEndpointI // GetResolverEndpoint API operation for Amazon Route 53 Resolver. // -// Gets information about a specified resolver endpoint, such as whether it's -// an inbound or an outbound resolver endpoint, and the current status of the +// Gets information about a specified Resolver endpoint, such as whether it's +// an inbound or an outbound Resolver endpoint, and the current status of the // endpoint. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -891,65 +1333,68 @@ func (c *Route53Resolver) GetResolverEndpointWithContext(ctx aws.Context, input return out, req.Send() } -const opGetResolverRule = "GetResolverRule" +const opGetResolverQueryLogConfig = "GetResolverQueryLogConfig" -// GetResolverRuleRequest generates a "aws/request.Request" representing the -// client's request for the GetResolverRule operation. The "output" return +// GetResolverQueryLogConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverQueryLogConfig operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // 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 GetResolverRule for more information on using the GetResolverRule +// See GetResolverQueryLogConfig for more information on using the GetResolverQueryLogConfig // 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 GetResolverRuleRequest method. -// req, resp := client.GetResolverRuleRequest(params) +// // Example sending a request using the GetResolverQueryLogConfigRequest method. +// req, resp := client.GetResolverQueryLogConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule -func (c *Route53Resolver) GetResolverRuleRequest(input *GetResolverRuleInput) (req *request.Request, output *GetResolverRuleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfig +func (c *Route53Resolver) GetResolverQueryLogConfigRequest(input *GetResolverQueryLogConfigInput) (req *request.Request, output *GetResolverQueryLogConfigOutput) { op := &request.Operation{ - Name: opGetResolverRule, + Name: opGetResolverQueryLogConfig, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetResolverRuleInput{} + input = &GetResolverQueryLogConfigInput{} } - output = &GetResolverRuleOutput{} + output = &GetResolverQueryLogConfigOutput{} req = c.newRequest(op, input, output) return } -// GetResolverRule API operation for Amazon Route 53 Resolver. +// GetResolverQueryLogConfig API operation for Amazon Route 53 Resolver. // -// Gets information about a specified resolver rule, such as the domain name -// that the rule forwards DNS queries for and the ID of the outbound resolver -// endpoint that the rule is associated with. +// Gets information about a specified Resolver query logging configuration, +// such as the number of VPCs that the configuration is logging queries for +// and the location that logs are sent to. // // 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 Route 53 Resolver's -// API operation GetResolverRule for usage and error information. +// API operation GetResolverQueryLogConfig for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The specified resource doesn't exist. // +// * InvalidRequestException +// The request is invalid. +// // * InvalidParameterException // One or more parameters in this request are not valid. // @@ -959,86 +1404,94 @@ func (c *Route53Resolver) GetResolverRuleRequest(input *GetResolverRuleInput) (r // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule -func (c *Route53Resolver) GetResolverRule(input *GetResolverRuleInput) (*GetResolverRuleOutput, error) { - req, out := c.GetResolverRuleRequest(input) +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfig +func (c *Route53Resolver) GetResolverQueryLogConfig(input *GetResolverQueryLogConfigInput) (*GetResolverQueryLogConfigOutput, error) { + req, out := c.GetResolverQueryLogConfigRequest(input) return out, req.Send() } -// GetResolverRuleWithContext is the same as GetResolverRule with the addition of +// GetResolverQueryLogConfigWithContext is the same as GetResolverQueryLogConfig with the addition of // the ability to pass a context and additional request options. // -// See GetResolverRule for details on how to use this API operation. +// See GetResolverQueryLogConfig 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 *Route53Resolver) GetResolverRuleWithContext(ctx aws.Context, input *GetResolverRuleInput, opts ...request.Option) (*GetResolverRuleOutput, error) { - req, out := c.GetResolverRuleRequest(input) +func (c *Route53Resolver) GetResolverQueryLogConfigWithContext(ctx aws.Context, input *GetResolverQueryLogConfigInput, opts ...request.Option) (*GetResolverQueryLogConfigOutput, error) { + req, out := c.GetResolverQueryLogConfigRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetResolverRuleAssociation = "GetResolverRuleAssociation" +const opGetResolverQueryLogConfigAssociation = "GetResolverQueryLogConfigAssociation" -// GetResolverRuleAssociationRequest generates a "aws/request.Request" representing the -// client's request for the GetResolverRuleAssociation operation. The "output" return +// GetResolverQueryLogConfigAssociationRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverQueryLogConfigAssociation operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // 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 GetResolverRuleAssociation for more information on using the GetResolverRuleAssociation +// See GetResolverQueryLogConfigAssociation for more information on using the GetResolverQueryLogConfigAssociation // 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 GetResolverRuleAssociationRequest method. -// req, resp := client.GetResolverRuleAssociationRequest(params) +// // Example sending a request using the GetResolverQueryLogConfigAssociationRequest method. +// req, resp := client.GetResolverQueryLogConfigAssociationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation -func (c *Route53Resolver) GetResolverRuleAssociationRequest(input *GetResolverRuleAssociationInput) (req *request.Request, output *GetResolverRuleAssociationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociation +func (c *Route53Resolver) GetResolverQueryLogConfigAssociationRequest(input *GetResolverQueryLogConfigAssociationInput) (req *request.Request, output *GetResolverQueryLogConfigAssociationOutput) { op := &request.Operation{ - Name: opGetResolverRuleAssociation, + Name: opGetResolverQueryLogConfigAssociation, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetResolverRuleAssociationInput{} + input = &GetResolverQueryLogConfigAssociationInput{} } - output = &GetResolverRuleAssociationOutput{} + output = &GetResolverQueryLogConfigAssociationOutput{} req = c.newRequest(op, input, output) return } -// GetResolverRuleAssociation API operation for Amazon Route 53 Resolver. +// GetResolverQueryLogConfigAssociation API operation for Amazon Route 53 Resolver. // -// Gets information about an association between a specified resolver rule and -// a VPC. You associate a resolver rule and a VPC using AssociateResolverRule. +// Gets information about a specified association between a Resolver query logging +// configuration and an Amazon VPC. When you associate a VPC with a query logging +// configuration, Resolver logs DNS queries that originate in that VPC. // // 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 Route 53 Resolver's -// API operation GetResolverRuleAssociation for usage and error information. +// API operation GetResolverQueryLogConfigAssociation for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The specified resource doesn't exist. // +// * InvalidRequestException +// The request is invalid. +// // * InvalidParameterException // One or more parameters in this request are not valid. // @@ -1048,173 +1501,180 @@ func (c *Route53Resolver) GetResolverRuleAssociationRequest(input *GetResolverRu // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation -func (c *Route53Resolver) GetResolverRuleAssociation(input *GetResolverRuleAssociationInput) (*GetResolverRuleAssociationOutput, error) { - req, out := c.GetResolverRuleAssociationRequest(input) +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociation +func (c *Route53Resolver) GetResolverQueryLogConfigAssociation(input *GetResolverQueryLogConfigAssociationInput) (*GetResolverQueryLogConfigAssociationOutput, error) { + req, out := c.GetResolverQueryLogConfigAssociationRequest(input) return out, req.Send() } -// GetResolverRuleAssociationWithContext is the same as GetResolverRuleAssociation with the addition of +// GetResolverQueryLogConfigAssociationWithContext is the same as GetResolverQueryLogConfigAssociation with the addition of // the ability to pass a context and additional request options. // -// See GetResolverRuleAssociation for details on how to use this API operation. +// See GetResolverQueryLogConfigAssociation 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 *Route53Resolver) GetResolverRuleAssociationWithContext(ctx aws.Context, input *GetResolverRuleAssociationInput, opts ...request.Option) (*GetResolverRuleAssociationOutput, error) { - req, out := c.GetResolverRuleAssociationRequest(input) +func (c *Route53Resolver) GetResolverQueryLogConfigAssociationWithContext(ctx aws.Context, input *GetResolverQueryLogConfigAssociationInput, opts ...request.Option) (*GetResolverQueryLogConfigAssociationOutput, error) { + req, out := c.GetResolverQueryLogConfigAssociationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetResolverRulePolicy = "GetResolverRulePolicy" +const opGetResolverQueryLogConfigPolicy = "GetResolverQueryLogConfigPolicy" -// GetResolverRulePolicyRequest generates a "aws/request.Request" representing the -// client's request for the GetResolverRulePolicy operation. The "output" return +// GetResolverQueryLogConfigPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverQueryLogConfigPolicy operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // 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 GetResolverRulePolicy for more information on using the GetResolverRulePolicy +// See GetResolverQueryLogConfigPolicy for more information on using the GetResolverQueryLogConfigPolicy // 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 GetResolverRulePolicyRequest method. -// req, resp := client.GetResolverRulePolicyRequest(params) +// // Example sending a request using the GetResolverQueryLogConfigPolicyRequest method. +// req, resp := client.GetResolverQueryLogConfigPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy -func (c *Route53Resolver) GetResolverRulePolicyRequest(input *GetResolverRulePolicyInput) (req *request.Request, output *GetResolverRulePolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicy +func (c *Route53Resolver) GetResolverQueryLogConfigPolicyRequest(input *GetResolverQueryLogConfigPolicyInput) (req *request.Request, output *GetResolverQueryLogConfigPolicyOutput) { op := &request.Operation{ - Name: opGetResolverRulePolicy, + Name: opGetResolverQueryLogConfigPolicy, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetResolverRulePolicyInput{} + input = &GetResolverQueryLogConfigPolicyInput{} } - output = &GetResolverRulePolicyOutput{} + output = &GetResolverQueryLogConfigPolicyOutput{} req = c.newRequest(op, input, output) return } -// GetResolverRulePolicy API operation for Amazon Route 53 Resolver. +// GetResolverQueryLogConfigPolicy API operation for Amazon Route 53 Resolver. // -// Gets information about a resolver rule policy. A resolver rule policy specifies -// the Resolver operations and resources that you want to allow another AWS -// account to be able to use. +// Gets information about a query logging policy. A query logging policy specifies +// the Resolver query logging operations and resources that you want to allow +// another AWS account to be able to use. // // 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 Route 53 Resolver's -// API operation GetResolverRulePolicy for usage and error information. +// API operation GetResolverQueryLogConfigPolicy for usage and error information. // // Returned Error Types: // * InvalidParameterException // One or more parameters in this request are not valid. // +// * InvalidRequestException +// The request is invalid. +// // * UnknownResourceException // The specified resource doesn't exist. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy -func (c *Route53Resolver) GetResolverRulePolicy(input *GetResolverRulePolicyInput) (*GetResolverRulePolicyOutput, error) { - req, out := c.GetResolverRulePolicyRequest(input) +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicy +func (c *Route53Resolver) GetResolverQueryLogConfigPolicy(input *GetResolverQueryLogConfigPolicyInput) (*GetResolverQueryLogConfigPolicyOutput, error) { + req, out := c.GetResolverQueryLogConfigPolicyRequest(input) return out, req.Send() } -// GetResolverRulePolicyWithContext is the same as GetResolverRulePolicy with the addition of +// GetResolverQueryLogConfigPolicyWithContext is the same as GetResolverQueryLogConfigPolicy with the addition of // the ability to pass a context and additional request options. // -// See GetResolverRulePolicy for details on how to use this API operation. +// See GetResolverQueryLogConfigPolicy 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 *Route53Resolver) GetResolverRulePolicyWithContext(ctx aws.Context, input *GetResolverRulePolicyInput, opts ...request.Option) (*GetResolverRulePolicyOutput, error) { - req, out := c.GetResolverRulePolicyRequest(input) +func (c *Route53Resolver) GetResolverQueryLogConfigPolicyWithContext(ctx aws.Context, input *GetResolverQueryLogConfigPolicyInput, opts ...request.Option) (*GetResolverQueryLogConfigPolicyOutput, error) { + req, out := c.GetResolverQueryLogConfigPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListResolverEndpointIpAddresses = "ListResolverEndpointIpAddresses" +const opGetResolverRule = "GetResolverRule" -// ListResolverEndpointIpAddressesRequest generates a "aws/request.Request" representing the -// client's request for the ListResolverEndpointIpAddresses operation. The "output" return +// GetResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverRule operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // 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 ListResolverEndpointIpAddresses for more information on using the ListResolverEndpointIpAddresses +// See GetResolverRule for more information on using the GetResolverRule // 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 ListResolverEndpointIpAddressesRequest method. -// req, resp := client.ListResolverEndpointIpAddressesRequest(params) +// // Example sending a request using the GetResolverRuleRequest method. +// req, resp := client.GetResolverRuleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses -func (c *Route53Resolver) ListResolverEndpointIpAddressesRequest(input *ListResolverEndpointIpAddressesInput) (req *request.Request, output *ListResolverEndpointIpAddressesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule +func (c *Route53Resolver) GetResolverRuleRequest(input *GetResolverRuleInput) (req *request.Request, output *GetResolverRuleOutput) { op := &request.Operation{ - Name: opListResolverEndpointIpAddresses, + Name: opGetResolverRule, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListResolverEndpointIpAddressesInput{} + input = &GetResolverRuleInput{} } - output = &ListResolverEndpointIpAddressesOutput{} + output = &GetResolverRuleOutput{} req = c.newRequest(op, input, output) return } -// ListResolverEndpointIpAddresses API operation for Amazon Route 53 Resolver. +// GetResolverRule API operation for Amazon Route 53 Resolver. // -// Gets the IP addresses for a specified resolver endpoint. +// Gets information about a specified Resolver rule, such as the domain name +// that the rule forwards DNS queries for and the ID of the outbound Resolver +// endpoint that the rule is associated with. // // 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 Route 53 Resolver's -// API operation ListResolverEndpointIpAddresses for usage and error information. +// API operation GetResolverRule for usage and error information. // // Returned Error Types: // * ResourceNotFoundException @@ -1226,79 +1686,654 @@ func (c *Route53Resolver) ListResolverEndpointIpAddressesRequest(input *ListReso // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // -// * InvalidNextTokenException -// The value that you specified for NextToken in a List request isn't valid. -// // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses -func (c *Route53Resolver) ListResolverEndpointIpAddresses(input *ListResolverEndpointIpAddressesInput) (*ListResolverEndpointIpAddressesOutput, error) { - req, out := c.ListResolverEndpointIpAddressesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule +func (c *Route53Resolver) GetResolverRule(input *GetResolverRuleInput) (*GetResolverRuleOutput, error) { + req, out := c.GetResolverRuleRequest(input) return out, req.Send() } -// ListResolverEndpointIpAddressesWithContext is the same as ListResolverEndpointIpAddresses with the addition of +// GetResolverRuleWithContext is the same as GetResolverRule with the addition of // the ability to pass a context and additional request options. // -// See ListResolverEndpointIpAddresses for details on how to use this API operation. +// See GetResolverRule 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 *Route53Resolver) ListResolverEndpointIpAddressesWithContext(ctx aws.Context, input *ListResolverEndpointIpAddressesInput, opts ...request.Option) (*ListResolverEndpointIpAddressesOutput, error) { - req, out := c.ListResolverEndpointIpAddressesRequest(input) +func (c *Route53Resolver) GetResolverRuleWithContext(ctx aws.Context, input *GetResolverRuleInput, opts ...request.Option) (*GetResolverRuleOutput, error) { + req, out := c.GetResolverRuleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListResolverEndpointIpAddressesPages iterates over the pages of a ListResolverEndpointIpAddresses operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opGetResolverRuleAssociation = "GetResolverRuleAssociation" + +// GetResolverRuleAssociationRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverRuleAssociation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListResolverEndpointIpAddresses method for more information on how to use this operation. +// 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. // -// Note: This operation can generate multiple requests to a service. +// See GetResolverRuleAssociation for more information on using the GetResolverRuleAssociation +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListResolverEndpointIpAddresses operation. -// pageNum := 0 -// err := client.ListResolverEndpointIpAddressesPages(params, -// func(page *route53resolver.ListResolverEndpointIpAddressesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) +// 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. // -func (c *Route53Resolver) ListResolverEndpointIpAddressesPages(input *ListResolverEndpointIpAddressesInput, fn func(*ListResolverEndpointIpAddressesOutput, bool) bool) error { - return c.ListResolverEndpointIpAddressesPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListResolverEndpointIpAddressesPagesWithContext same as ListResolverEndpointIpAddressesPages except -// it takes a Context and allows setting request options on the pages. // -// 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 *Route53Resolver) ListResolverEndpointIpAddressesPagesWithContext(ctx aws.Context, input *ListResolverEndpointIpAddressesInput, fn func(*ListResolverEndpointIpAddressesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListResolverEndpointIpAddressesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListResolverEndpointIpAddressesRequest(inCpy) - req.SetContext(ctx) +// // Example sending a request using the GetResolverRuleAssociationRequest method. +// req, resp := client.GetResolverRuleAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation +func (c *Route53Resolver) GetResolverRuleAssociationRequest(input *GetResolverRuleAssociationInput) (req *request.Request, output *GetResolverRuleAssociationOutput) { + op := &request.Operation{ + Name: opGetResolverRuleAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetResolverRuleAssociationInput{} + } + + output = &GetResolverRuleAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResolverRuleAssociation API operation for Amazon Route 53 Resolver. +// +// Gets information about an association between a specified Resolver rule and +// a VPC. You associate a Resolver rule and a VPC using AssociateResolverRule +// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html). +// +// 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 Route 53 Resolver's +// API operation GetResolverRuleAssociation for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation +func (c *Route53Resolver) GetResolverRuleAssociation(input *GetResolverRuleAssociationInput) (*GetResolverRuleAssociationOutput, error) { + req, out := c.GetResolverRuleAssociationRequest(input) + return out, req.Send() +} + +// GetResolverRuleAssociationWithContext is the same as GetResolverRuleAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See GetResolverRuleAssociation 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 *Route53Resolver) GetResolverRuleAssociationWithContext(ctx aws.Context, input *GetResolverRuleAssociationInput, opts ...request.Option) (*GetResolverRuleAssociationOutput, error) { + req, out := c.GetResolverRuleAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetResolverRulePolicy = "GetResolverRulePolicy" + +// GetResolverRulePolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverRulePolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 GetResolverRulePolicy for more information on using the GetResolverRulePolicy +// 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 GetResolverRulePolicyRequest method. +// req, resp := client.GetResolverRulePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy +func (c *Route53Resolver) GetResolverRulePolicyRequest(input *GetResolverRulePolicyInput) (req *request.Request, output *GetResolverRulePolicyOutput) { + op := &request.Operation{ + Name: opGetResolverRulePolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetResolverRulePolicyInput{} + } + + output = &GetResolverRulePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResolverRulePolicy API operation for Amazon Route 53 Resolver. +// +// Gets information about a Resolver rule policy. A Resolver rule policy specifies +// the Resolver operations and resources that you want to allow another AWS +// account to be able to use. +// +// 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 Route 53 Resolver's +// API operation GetResolverRulePolicy for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * UnknownResourceException +// The specified resource doesn't exist. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy +func (c *Route53Resolver) GetResolverRulePolicy(input *GetResolverRulePolicyInput) (*GetResolverRulePolicyOutput, error) { + req, out := c.GetResolverRulePolicyRequest(input) + return out, req.Send() +} + +// GetResolverRulePolicyWithContext is the same as GetResolverRulePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetResolverRulePolicy 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 *Route53Resolver) GetResolverRulePolicyWithContext(ctx aws.Context, input *GetResolverRulePolicyInput, opts ...request.Option) (*GetResolverRulePolicyOutput, error) { + req, out := c.GetResolverRulePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListResolverEndpointIpAddresses = "ListResolverEndpointIpAddresses" + +// ListResolverEndpointIpAddressesRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverEndpointIpAddresses operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 ListResolverEndpointIpAddresses for more information on using the ListResolverEndpointIpAddresses +// 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 ListResolverEndpointIpAddressesRequest method. +// req, resp := client.ListResolverEndpointIpAddressesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses +func (c *Route53Resolver) ListResolverEndpointIpAddressesRequest(input *ListResolverEndpointIpAddressesInput) (req *request.Request, output *ListResolverEndpointIpAddressesOutput) { + op := &request.Operation{ + Name: opListResolverEndpointIpAddresses, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverEndpointIpAddressesInput{} + } + + output = &ListResolverEndpointIpAddressesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverEndpointIpAddresses API operation for Amazon Route 53 Resolver. +// +// Gets the IP addresses for a specified Resolver endpoint. +// +// 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 Route 53 Resolver's +// API operation ListResolverEndpointIpAddresses for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * InvalidNextTokenException +// The value that you specified for NextToken in a List request isn't valid. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses +func (c *Route53Resolver) ListResolverEndpointIpAddresses(input *ListResolverEndpointIpAddressesInput) (*ListResolverEndpointIpAddressesOutput, error) { + req, out := c.ListResolverEndpointIpAddressesRequest(input) + return out, req.Send() +} + +// ListResolverEndpointIpAddressesWithContext is the same as ListResolverEndpointIpAddresses with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverEndpointIpAddresses 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 *Route53Resolver) ListResolverEndpointIpAddressesWithContext(ctx aws.Context, input *ListResolverEndpointIpAddressesInput, opts ...request.Option) (*ListResolverEndpointIpAddressesOutput, error) { + req, out := c.ListResolverEndpointIpAddressesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverEndpointIpAddressesPages iterates over the pages of a ListResolverEndpointIpAddresses operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverEndpointIpAddresses method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResolverEndpointIpAddresses operation. +// pageNum := 0 +// err := client.ListResolverEndpointIpAddressesPages(params, +// func(page *route53resolver.ListResolverEndpointIpAddressesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverEndpointIpAddressesPages(input *ListResolverEndpointIpAddressesInput, fn func(*ListResolverEndpointIpAddressesOutput, bool) bool) error { + return c.ListResolverEndpointIpAddressesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverEndpointIpAddressesPagesWithContext same as ListResolverEndpointIpAddressesPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *Route53Resolver) ListResolverEndpointIpAddressesPagesWithContext(ctx aws.Context, input *ListResolverEndpointIpAddressesInput, fn func(*ListResolverEndpointIpAddressesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverEndpointIpAddressesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverEndpointIpAddressesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResolverEndpointIpAddressesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListResolverEndpoints = "ListResolverEndpoints" + +// ListResolverEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverEndpoints operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 ListResolverEndpoints for more information on using the ListResolverEndpoints +// 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 ListResolverEndpointsRequest method. +// req, resp := client.ListResolverEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints +func (c *Route53Resolver) ListResolverEndpointsRequest(input *ListResolverEndpointsInput) (req *request.Request, output *ListResolverEndpointsOutput) { + op := &request.Operation{ + Name: opListResolverEndpoints, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverEndpointsInput{} + } + + output = &ListResolverEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverEndpoints API operation for Amazon Route 53 Resolver. +// +// Lists all the Resolver endpoints that were created using the current AWS +// account. +// +// 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 Route 53 Resolver's +// API operation ListResolverEndpoints for usage and error information. +// +// Returned Error Types: +// * InvalidNextTokenException +// The value that you specified for NextToken in a List request isn't valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints +func (c *Route53Resolver) ListResolverEndpoints(input *ListResolverEndpointsInput) (*ListResolverEndpointsOutput, error) { + req, out := c.ListResolverEndpointsRequest(input) + return out, req.Send() +} + +// ListResolverEndpointsWithContext is the same as ListResolverEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverEndpoints 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 *Route53Resolver) ListResolverEndpointsWithContext(ctx aws.Context, input *ListResolverEndpointsInput, opts ...request.Option) (*ListResolverEndpointsOutput, error) { + req, out := c.ListResolverEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverEndpointsPages iterates over the pages of a ListResolverEndpoints operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverEndpoints method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResolverEndpoints operation. +// pageNum := 0 +// err := client.ListResolverEndpointsPages(params, +// func(page *route53resolver.ListResolverEndpointsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverEndpointsPages(input *ListResolverEndpointsInput, fn func(*ListResolverEndpointsOutput, bool) bool) error { + return c.ListResolverEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverEndpointsPagesWithContext same as ListResolverEndpointsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *Route53Resolver) ListResolverEndpointsPagesWithContext(ctx aws.Context, input *ListResolverEndpointsInput, fn func(*ListResolverEndpointsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverEndpointsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverEndpointsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResolverEndpointsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListResolverQueryLogConfigAssociations = "ListResolverQueryLogConfigAssociations" + +// ListResolverQueryLogConfigAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverQueryLogConfigAssociations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 ListResolverQueryLogConfigAssociations for more information on using the ListResolverQueryLogConfigAssociations +// 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 ListResolverQueryLogConfigAssociationsRequest method. +// req, resp := client.ListResolverQueryLogConfigAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigAssociations +func (c *Route53Resolver) ListResolverQueryLogConfigAssociationsRequest(input *ListResolverQueryLogConfigAssociationsInput) (req *request.Request, output *ListResolverQueryLogConfigAssociationsOutput) { + op := &request.Operation{ + Name: opListResolverQueryLogConfigAssociations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverQueryLogConfigAssociationsInput{} + } + + output = &ListResolverQueryLogConfigAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverQueryLogConfigAssociations API operation for Amazon Route 53 Resolver. +// +// Lists information about associations between Amazon VPCs and query logging +// configurations. +// +// 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 Route 53 Resolver's +// API operation ListResolverQueryLogConfigAssociations for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * LimitExceededException +// The request caused one or more limits to be exceeded. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigAssociations +func (c *Route53Resolver) ListResolverQueryLogConfigAssociations(input *ListResolverQueryLogConfigAssociationsInput) (*ListResolverQueryLogConfigAssociationsOutput, error) { + req, out := c.ListResolverQueryLogConfigAssociationsRequest(input) + return out, req.Send() +} + +// ListResolverQueryLogConfigAssociationsWithContext is the same as ListResolverQueryLogConfigAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverQueryLogConfigAssociations 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 *Route53Resolver) ListResolverQueryLogConfigAssociationsWithContext(ctx aws.Context, input *ListResolverQueryLogConfigAssociationsInput, opts ...request.Option) (*ListResolverQueryLogConfigAssociationsOutput, error) { + req, out := c.ListResolverQueryLogConfigAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverQueryLogConfigAssociationsPages iterates over the pages of a ListResolverQueryLogConfigAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverQueryLogConfigAssociations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResolverQueryLogConfigAssociations operation. +// pageNum := 0 +// err := client.ListResolverQueryLogConfigAssociationsPages(params, +// func(page *route53resolver.ListResolverQueryLogConfigAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverQueryLogConfigAssociationsPages(input *ListResolverQueryLogConfigAssociationsInput, fn func(*ListResolverQueryLogConfigAssociationsOutput, bool) bool) error { + return c.ListResolverQueryLogConfigAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverQueryLogConfigAssociationsPagesWithContext same as ListResolverQueryLogConfigAssociationsPages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *Route53Resolver) ListResolverQueryLogConfigAssociationsPagesWithContext(ctx aws.Context, input *ListResolverQueryLogConfigAssociationsInput, fn func(*ListResolverQueryLogConfigAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverQueryLogConfigAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverQueryLogConfigAssociationsRequest(inCpy) + req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { - if !fn(p.Page().(*ListResolverEndpointIpAddressesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListResolverQueryLogConfigAssociationsOutput), !p.HasNextPage()) { break } } @@ -1306,35 +2341,35 @@ func (c *Route53Resolver) ListResolverEndpointIpAddressesPagesWithContext(ctx aw return p.Err() } -const opListResolverEndpoints = "ListResolverEndpoints" +const opListResolverQueryLogConfigs = "ListResolverQueryLogConfigs" -// ListResolverEndpointsRequest generates a "aws/request.Request" representing the -// client's request for the ListResolverEndpoints operation. The "output" return +// ListResolverQueryLogConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverQueryLogConfigs operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // 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 ListResolverEndpoints for more information on using the ListResolverEndpoints +// See ListResolverQueryLogConfigs for more information on using the ListResolverQueryLogConfigs // 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 ListResolverEndpointsRequest method. -// req, resp := client.ListResolverEndpointsRequest(params) +// // Example sending a request using the ListResolverQueryLogConfigsRequest method. +// req, resp := client.ListResolverQueryLogConfigsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints -func (c *Route53Resolver) ListResolverEndpointsRequest(input *ListResolverEndpointsInput) (req *request.Request, output *ListResolverEndpointsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigs +func (c *Route53Resolver) ListResolverQueryLogConfigsRequest(input *ListResolverQueryLogConfigsInput) (req *request.Request, output *ListResolverQueryLogConfigsOutput) { op := &request.Operation{ - Name: opListResolverEndpoints, + Name: opListResolverQueryLogConfigs, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1346,25 +2381,26 @@ func (c *Route53Resolver) ListResolverEndpointsRequest(input *ListResolverEndpoi } if input == nil { - input = &ListResolverEndpointsInput{} + input = &ListResolverQueryLogConfigsInput{} } - output = &ListResolverEndpointsOutput{} + output = &ListResolverQueryLogConfigsOutput{} req = c.newRequest(op, input, output) return } -// ListResolverEndpoints API operation for Amazon Route 53 Resolver. +// ListResolverQueryLogConfigs API operation for Amazon Route 53 Resolver. // -// Lists all the resolver endpoints that were created using the current AWS -// account. +// Lists information about the specified query logging configurations. Each +// configuration defines where you want Resolver to save DNS query logs and +// specifies the VPCs that you want to log queries for. // // 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 Route 53 Resolver's -// API operation ListResolverEndpoints for usage and error information. +// API operation ListResolverQueryLogConfigs for usage and error information. // // Returned Error Types: // * InvalidNextTokenException @@ -1382,65 +2418,69 @@ func (c *Route53Resolver) ListResolverEndpointsRequest(input *ListResolverEndpoi // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints -func (c *Route53Resolver) ListResolverEndpoints(input *ListResolverEndpointsInput) (*ListResolverEndpointsOutput, error) { - req, out := c.ListResolverEndpointsRequest(input) +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigs +func (c *Route53Resolver) ListResolverQueryLogConfigs(input *ListResolverQueryLogConfigsInput) (*ListResolverQueryLogConfigsOutput, error) { + req, out := c.ListResolverQueryLogConfigsRequest(input) return out, req.Send() } -// ListResolverEndpointsWithContext is the same as ListResolverEndpoints with the addition of +// ListResolverQueryLogConfigsWithContext is the same as ListResolverQueryLogConfigs with the addition of // the ability to pass a context and additional request options. // -// See ListResolverEndpoints for details on how to use this API operation. +// See ListResolverQueryLogConfigs 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 *Route53Resolver) ListResolverEndpointsWithContext(ctx aws.Context, input *ListResolverEndpointsInput, opts ...request.Option) (*ListResolverEndpointsOutput, error) { - req, out := c.ListResolverEndpointsRequest(input) +func (c *Route53Resolver) ListResolverQueryLogConfigsWithContext(ctx aws.Context, input *ListResolverQueryLogConfigsInput, opts ...request.Option) (*ListResolverQueryLogConfigsOutput, error) { + req, out := c.ListResolverQueryLogConfigsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListResolverEndpointsPages iterates over the pages of a ListResolverEndpoints operation, +// ListResolverQueryLogConfigsPages iterates over the pages of a ListResolverQueryLogConfigs operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListResolverEndpoints method for more information on how to use this operation. +// See ListResolverQueryLogConfigs method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListResolverEndpoints operation. +// // Example iterating over at most 3 pages of a ListResolverQueryLogConfigs operation. // pageNum := 0 -// err := client.ListResolverEndpointsPages(params, -// func(page *route53resolver.ListResolverEndpointsOutput, lastPage bool) bool { +// err := client.ListResolverQueryLogConfigsPages(params, +// func(page *route53resolver.ListResolverQueryLogConfigsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *Route53Resolver) ListResolverEndpointsPages(input *ListResolverEndpointsInput, fn func(*ListResolverEndpointsOutput, bool) bool) error { - return c.ListResolverEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Route53Resolver) ListResolverQueryLogConfigsPages(input *ListResolverQueryLogConfigsInput, fn func(*ListResolverQueryLogConfigsOutput, bool) bool) error { + return c.ListResolverQueryLogConfigsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListResolverEndpointsPagesWithContext same as ListResolverEndpointsPages except +// ListResolverQueryLogConfigsPagesWithContext same as ListResolverQueryLogConfigsPages except // it takes a Context and allows setting request options on the pages. // // 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 *Route53Resolver) ListResolverEndpointsPagesWithContext(ctx aws.Context, input *ListResolverEndpointsInput, fn func(*ListResolverEndpointsOutput, bool) bool, opts ...request.Option) error { +func (c *Route53Resolver) ListResolverQueryLogConfigsPagesWithContext(ctx aws.Context, input *ListResolverQueryLogConfigsInput, fn func(*ListResolverQueryLogConfigsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListResolverEndpointsInput + var inCpy *ListResolverQueryLogConfigsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListResolverEndpointsRequest(inCpy) + req, _ := c.ListResolverQueryLogConfigsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1448,7 +2488,7 @@ func (c *Route53Resolver) ListResolverEndpointsPagesWithContext(ctx aws.Context, } for p.Next() { - if !fn(p.Page().(*ListResolverEndpointsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListResolverQueryLogConfigsOutput), !p.HasNextPage()) { break } } @@ -1506,7 +2546,7 @@ func (c *Route53Resolver) ListResolverRuleAssociationsRequest(input *ListResolve // ListResolverRuleAssociations API operation for Amazon Route 53 Resolver. // -// Lists the associations that were created between resolver rules and VPCs +// Lists the associations that were created between Resolver rules and VPCs // using the current AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1656,7 +2696,7 @@ func (c *Route53Resolver) ListResolverRulesRequest(input *ListResolverRulesInput // ListResolverRules API operation for Amazon Route 53 Resolver. // -// Lists the resolver rules that were created using the current AWS account. +// Lists the Resolver rules that were created using the current AWS account. // // 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 @@ -1786,6 +2826,12 @@ func (c *Route53Resolver) ListTagsForResourceRequest(input *ListTagsForResourceI Name: opListTagsForResource, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -1824,26 +2870,175 @@ func (c *Route53Resolver) ListTagsForResourceRequest(input *ListTagsForResourceI // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // -// * ThrottlingException -// The request was throttled. Try again in a few minutes. +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListTagsForResource +func (c *Route53Resolver) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource 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 *Route53Resolver) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTagsForResource method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTagsForResource operation. +// pageNum := 0 +// err := client.ListTagsForResourcePages(params, +// func(page *route53resolver.ListTagsForResourceOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { + return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except +// it takes a Context and allows setting request options on the pages. +// +// 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 *Route53Resolver) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTagsForResourceInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTagsForResourceRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opPutResolverQueryLogConfigPolicy = "PutResolverQueryLogConfigPolicy" + +// PutResolverQueryLogConfigPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutResolverQueryLogConfigPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// 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 PutResolverQueryLogConfigPolicy for more information on using the PutResolverQueryLogConfigPolicy +// 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 PutResolverQueryLogConfigPolicyRequest method. +// req, resp := client.PutResolverQueryLogConfigPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverQueryLogConfigPolicy +func (c *Route53Resolver) PutResolverQueryLogConfigPolicyRequest(input *PutResolverQueryLogConfigPolicyInput) (req *request.Request, output *PutResolverQueryLogConfigPolicyOutput) { + op := &request.Operation{ + Name: opPutResolverQueryLogConfigPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutResolverQueryLogConfigPolicyInput{} + } + + output = &PutResolverQueryLogConfigPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutResolverQueryLogConfigPolicy API operation for Amazon Route 53 Resolver. +// +// Specifies an AWS account that you want to share a query logging configuration +// with, the query logging configuration that you want to share, and the operations +// that you want the account to be able to perform on the configuration. +// +// 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 Route 53 Resolver's +// API operation PutResolverQueryLogConfigPolicy for usage and error information. +// +// Returned Error Types: +// * InvalidPolicyDocument +// The specified Resolver rule policy is invalid. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * UnknownResourceException +// The specified resource doesn't exist. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListTagsForResource -func (c *Route53Resolver) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverQueryLogConfigPolicy +func (c *Route53Resolver) PutResolverQueryLogConfigPolicy(input *PutResolverQueryLogConfigPolicyInput) (*PutResolverQueryLogConfigPolicyOutput, error) { + req, out := c.PutResolverQueryLogConfigPolicyRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// PutResolverQueryLogConfigPolicyWithContext is the same as PutResolverQueryLogConfigPolicy with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See PutResolverQueryLogConfigPolicy 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 *Route53Resolver) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *Route53Resolver) PutResolverQueryLogConfigPolicyWithContext(ctx aws.Context, input *PutResolverQueryLogConfigPolicyInput, opts ...request.Option) (*PutResolverQueryLogConfigPolicyOutput, error) { + req, out := c.PutResolverQueryLogConfigPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -1893,8 +3088,9 @@ func (c *Route53Resolver) PutResolverRulePolicyRequest(input *PutResolverRulePol // PutResolverRulePolicy API operation for Amazon Route 53 Resolver. // -// Specifies the Resolver operations and resources that you want to allow another -// AWS account to be able to use. +// Specifies an AWS account that you want to share rules with, the Resolver +// rules that you want to share, and the operations that you want the account +// to be able to perform on those rules. // // 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 @@ -1905,7 +3101,7 @@ func (c *Route53Resolver) PutResolverRulePolicyRequest(input *PutResolverRulePol // // Returned Error Types: // * InvalidPolicyDocument -// The specified resolver rule policy is invalid. +// The specified Resolver rule policy is invalid. // // * InvalidParameterException // One or more parameters in this request are not valid. @@ -2002,6 +3198,9 @@ func (c *Route53Resolver) TagResourceRequest(input *TagResourceInput) (req *requ // * InvalidParameterException // One or more parameters in this request are not valid. // +// * InvalidRequestException +// The request is invalid. +// // * InvalidTagException // The specified tag is invalid. // @@ -2094,6 +3293,9 @@ func (c *Route53Resolver) UntagResourceRequest(input *UntagResourceInput) (req * // * InvalidParameterException // One or more parameters in this request are not valid. // +// * InvalidRequestException +// The request is invalid. +// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -2166,7 +3368,7 @@ func (c *Route53Resolver) UpdateResolverEndpointRequest(input *UpdateResolverEnd // UpdateResolverEndpoint API operation for Amazon Route 53 Resolver. // -// Updates the name of an inbound or an outbound resolver endpoint. +// Updates the name of an inbound or an outbound Resolver endpoint. // // 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 @@ -2257,7 +3459,7 @@ func (c *Route53Resolver) UpdateResolverRuleRequest(input *UpdateResolverRuleInp // UpdateResolverRule API operation for Amazon Route 53 Resolver. // -// Updates settings for a specified resolver rule. ResolverRuleId is required, +// Updates settings for a specified Resolver rule. ResolverRuleId is required, // and all other parameters are optional. If you don't specify a parameter, // it retains its current value. // @@ -2312,17 +3514,74 @@ func (c *Route53Resolver) UpdateResolverRuleWithContext(ctx aws.Context, input * return out, req.Send() } +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + type AssociateResolverEndpointIpAddressInput struct { _ struct{} `type:"structure"` - // Either the IPv4 address that you want to add to a resolver endpoint or a + // Either the IPv4 address that you want to add to a Resolver endpoint or a // subnet ID. If you specify a subnet ID, Resolver chooses an IP address for // you from the available IPs in the specified subnet. // // IpAddress is a required field IpAddress *IpAddressUpdate `type:"structure" required:"true"` - // The ID of the resolver endpoint that you want to associate IP addresses with. + // The ID of the Resolver endpoint that you want to associate IP addresses with. // // ResolverEndpointId is a required field ResolverEndpointId *string `min:"1" type:"string" required:"true"` @@ -2397,20 +3656,106 @@ func (s *AssociateResolverEndpointIpAddressOutput) SetResolverEndpoint(v *Resolv return s } +type AssociateResolverQueryLogConfigInput struct { + _ struct{} `type:"structure"` + + // The ID of the query logging configuration that you want to associate a VPC + // with. + // + // ResolverQueryLogConfigId is a required field + ResolverQueryLogConfigId *string `min:"1" type:"string" required:"true"` + + // The ID of an Amazon VPC that you want this query logging configuration to + // log queries for. + // + // The VPCs and the query logging configuration must be in the same Region. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateResolverQueryLogConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResolverQueryLogConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateResolverQueryLogConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateResolverQueryLogConfigInput"} + if s.ResolverQueryLogConfigId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigId")) + } + if s.ResolverQueryLogConfigId != nil && len(*s.ResolverQueryLogConfigId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigId", 1)) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. +func (s *AssociateResolverQueryLogConfigInput) SetResolverQueryLogConfigId(v string) *AssociateResolverQueryLogConfigInput { + s.ResolverQueryLogConfigId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *AssociateResolverQueryLogConfigInput) SetResourceId(v string) *AssociateResolverQueryLogConfigInput { + s.ResourceId = &v + return s +} + +type AssociateResolverQueryLogConfigOutput struct { + _ struct{} `type:"structure"` + + // A complex type that contains settings for a specified association between + // an Amazon VPC and a query logging configuration. + ResolverQueryLogConfigAssociation *ResolverQueryLogConfigAssociation `type:"structure"` +} + +// String returns the string representation +func (s AssociateResolverQueryLogConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResolverQueryLogConfigOutput) GoString() string { + return s.String() +} + +// SetResolverQueryLogConfigAssociation sets the ResolverQueryLogConfigAssociation field's value. +func (s *AssociateResolverQueryLogConfigOutput) SetResolverQueryLogConfigAssociation(v *ResolverQueryLogConfigAssociation) *AssociateResolverQueryLogConfigOutput { + s.ResolverQueryLogConfigAssociation = v + return s +} + type AssociateResolverRuleInput struct { _ struct{} `type:"structure"` - // A name for the association that you're creating between a resolver rule and + // A name for the association that you're creating between a Resolver rule and // a VPC. Name *string `type:"string"` - // The ID of the resolver rule that you want to associate with the VPC. To list - // the existing resolver rules, use ListResolverRules. + // The ID of the Resolver rule that you want to associate with the VPC. To list + // the existing Resolver rules, use ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html). // // ResolverRuleId is a required field ResolverRuleId *string `min:"1" type:"string" required:"true"` - // The ID of the VPC that you want to associate the resolver rule with. + // The ID of the VPC that you want to associate the Resolver rule with. // // VPCId is a required field VPCId *string `min:"1" type:"string" required:"true"` @@ -2503,17 +3848,17 @@ type CreateResolverEndpointInput struct { // Specify the applicable value: // // * INBOUND: Resolver forwards DNS queries to the DNS service for a VPC - // from your network or another VPC + // from your network // // * OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC - // to your network or another VPC + // to your network // // Direction is a required field Direction *string `type:"string" required:"true" enum:"ResolverEndpointDirection"` - // The subnets and IP addresses in your VPC that you want DNS queries to pass - // through on the way from your VPCs to your network (for outbound endpoints) - // or on the way from your network to your VPCs (for inbound resolver endpoints). + // The subnets and IP addresses in your VPC that DNS queries originate from + // (for outbound endpoints) or that you forward DNS queries to (for inbound + // endpoints). The subnet ID uniquely identifies a VPC. // // IpAddresses is a required field IpAddresses []*IpAddressRequest `min:"1" type:"list" required:"true"` @@ -2524,8 +3869,10 @@ type CreateResolverEndpointInput struct { // The ID of one or more security groups that you want to use to control access // to this VPC. The security group that you specify must include one or more - // inbound rules (for inbound resolver endpoints) or outbound rules (for outbound - // resolver endpoints). + // inbound rules (for inbound Resolver endpoints) or outbound rules (for outbound + // Resolver endpoints). Inbound and outbound rules must allow TCP and UDP access. + // For inbound access, open port 53. For outbound access, open the port that + // you're using for DNS queries on your network. // // SecurityGroupIds is a required field SecurityGroupIds []*string `type:"list" required:"true"` @@ -2575,6 +3922,16 @@ func (s *CreateResolverEndpointInput) Validate() error { } } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2642,6 +3999,131 @@ func (s *CreateResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) return s } +type CreateResolverQueryLogConfigInput struct { + _ struct{} `type:"structure"` + + // A unique string that identifies the request and that allows failed requests + // to be retried without the risk of executing the operation twice. CreatorRequestId + // can be any unique string, for example, a date/time stamp. + CreatorRequestId *string `min:"1" type:"string" idempotencyToken:"true"` + + // The ARN of the resource that you want Resolver to send query logs. You can + // send query logs to an S3 bucket, a CloudWatch Logs log group, or a Kinesis + // Data Firehose delivery stream. Examples of valid values include the following: + // + // * S3 bucket: arn:aws:s3:::examplebucket You can optionally append a file + // prefix to the end of the ARN. arn:aws:s3:::examplebucket/development/ + // + // * CloudWatch Logs log group: arn:aws:logs:us-west-1:123456789012:log-group:/mystack-testgroup-12ABC1AB12A1:* + // + // * Kinesis Data Firehose delivery stream: arn:aws:kinesis:us-east-2:0123456789:stream/my_stream_name + // + // DestinationArn is a required field + DestinationArn *string `min:"1" type:"string" required:"true"` + + // The name that you want to give the query logging configuration + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A list of the tag keys and values that you want to associate with the query + // logging configuration. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateResolverQueryLogConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResolverQueryLogConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateResolverQueryLogConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateResolverQueryLogConfigInput"} + if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) + } + if s.DestinationArn == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationArn")) + } + if s.DestinationArn != nil && len(*s.DestinationArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DestinationArn", 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.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateResolverQueryLogConfigInput) SetCreatorRequestId(v string) *CreateResolverQueryLogConfigInput { + s.CreatorRequestId = &v + return s +} + +// SetDestinationArn sets the DestinationArn field's value. +func (s *CreateResolverQueryLogConfigInput) SetDestinationArn(v string) *CreateResolverQueryLogConfigInput { + s.DestinationArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateResolverQueryLogConfigInput) SetName(v string) *CreateResolverQueryLogConfigInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateResolverQueryLogConfigInput) SetTags(v []*Tag) *CreateResolverQueryLogConfigInput { + s.Tags = v + return s +} + +type CreateResolverQueryLogConfigOutput struct { + _ struct{} `type:"structure"` + + // Information about the CreateResolverQueryLogConfig request, including the + // status of the request. + ResolverQueryLogConfig *ResolverQueryLogConfig `type:"structure"` +} + +// String returns the string representation +func (s CreateResolverQueryLogConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResolverQueryLogConfigOutput) GoString() string { + return s.String() +} + +// SetResolverQueryLogConfig sets the ResolverQueryLogConfig field's value. +func (s *CreateResolverQueryLogConfigOutput) SetResolverQueryLogConfig(v *ResolverQueryLogConfig) *CreateResolverQueryLogConfigOutput { + s.ResolverQueryLogConfig = v + return s +} + type CreateResolverRuleInput struct { _ struct{} `type:"structure"` @@ -2653,8 +4135,8 @@ type CreateResolverRuleInput struct { CreatorRequestId *string `min:"1" type:"string" required:"true"` // DNS queries for this domain name are forwarded to the IP addresses that you - // specify in TargetIps. If a query matches multiple resolver rules (example.com - // and www.example.com), outbound DNS queries are routed using the resolver + // specify in TargetIps. If a query matches multiple Resolver rules (example.com + // and www.example.com), outbound DNS queries are routed using the Resolver // rule that contains the most specific domain name (www.example.com). // // DomainName is a required field @@ -2664,11 +4146,24 @@ type CreateResolverRuleInput struct { // in the Route 53 console. Name *string `type:"string"` - // The ID of the outbound resolver endpoint that you want to use to route DNS + // The ID of the outbound Resolver endpoint that you want to use to route DNS // queries to the IP addresses that you specify in TargetIps. ResolverEndpointId *string `min:"1" type:"string"` - // Specify FORWARD. Other resolver rule types aren't supported. + // When you want to forward DNS queries for specified domain name to resolvers + // on your network, specify FORWARD. + // + // When you have a forwarding rule to forward DNS queries for a domain to your + // network and you want Resolver to process queries for a subdomain of that + // domain, specify SYSTEM. + // + // For example, to forward DNS queries for example.com to resolvers on your + // network, you create a rule and specify FORWARD for RuleType. To then have + // Resolver process queries for apex.example.com, you create a rule and specify + // SYSTEM for RuleType. + // + // Currently, only Resolver can create rules that have a value of RECURSIVE + // for RuleType. // // RuleType is a required field RuleType *string `type:"string" required:"true" enum:"RuleTypeOption"` @@ -2678,6 +4173,8 @@ type CreateResolverRuleInput struct { // The IPs that you want Resolver to forward DNS queries to. You can specify // only IPv4 addresses. Separate IP addresses with a comma. + // + // TargetIps is available only when the value of Rule type is FORWARD. TargetIps []*TargetAddress `min:"1" type:"list"` } @@ -2715,6 +4212,16 @@ func (s *CreateResolverRuleInput) Validate() error { if s.TargetIps != nil && len(s.TargetIps) < 1 { invalidParams.Add(request.NewErrParamMinLen("TargetIps", 1)) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if s.TargetIps != nil { for i, v := range s.TargetIps { if v == nil { @@ -2801,7 +4308,7 @@ func (s *CreateResolverRuleOutput) SetResolverRule(v *ResolverRule) *CreateResol type DeleteResolverEndpointInput struct { _ struct{} `type:"structure"` - // The ID of the resolver endpoint that you want to delete. + // The ID of the Resolver endpoint that you want to delete. // // ResolverEndpointId is a required field ResolverEndpointId *string `min:"1" type:"string" required:"true"` @@ -2842,31 +4349,96 @@ func (s *DeleteResolverEndpointInput) SetResolverEndpointId(v string) *DeleteRes type DeleteResolverEndpointOutput struct { _ struct{} `type:"structure"` - // Information about the DeleteResolverEndpoint request, including the status - // of the request. - ResolverEndpoint *ResolverEndpoint `type:"structure"` + // Information about the DeleteResolverEndpoint request, including the status + // of the request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` +} + +// String returns the string representation +func (s DeleteResolverEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResolverEndpointOutput) GoString() string { + return s.String() +} + +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *DeleteResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *DeleteResolverEndpointOutput { + s.ResolverEndpoint = v + return s +} + +type DeleteResolverQueryLogConfigInput struct { + _ struct{} `type:"structure"` + + // The ID of the query logging configuration that you want to delete. + // + // ResolverQueryLogConfigId is a required field + ResolverQueryLogConfigId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteResolverQueryLogConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResolverQueryLogConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResolverQueryLogConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResolverQueryLogConfigInput"} + if s.ResolverQueryLogConfigId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigId")) + } + if s.ResolverQueryLogConfigId != nil && len(*s.ResolverQueryLogConfigId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. +func (s *DeleteResolverQueryLogConfigInput) SetResolverQueryLogConfigId(v string) *DeleteResolverQueryLogConfigInput { + s.ResolverQueryLogConfigId = &v + return s +} + +type DeleteResolverQueryLogConfigOutput struct { + _ struct{} `type:"structure"` + + // Information about the query logging configuration that you deleted, including + // the status of the request. + ResolverQueryLogConfig *ResolverQueryLogConfig `type:"structure"` } // String returns the string representation -func (s DeleteResolverEndpointOutput) String() string { +func (s DeleteResolverQueryLogConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteResolverEndpointOutput) GoString() string { +func (s DeleteResolverQueryLogConfigOutput) GoString() string { return s.String() } -// SetResolverEndpoint sets the ResolverEndpoint field's value. -func (s *DeleteResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *DeleteResolverEndpointOutput { - s.ResolverEndpoint = v +// SetResolverQueryLogConfig sets the ResolverQueryLogConfig field's value. +func (s *DeleteResolverQueryLogConfigOutput) SetResolverQueryLogConfig(v *ResolverQueryLogConfig) *DeleteResolverQueryLogConfigOutput { + s.ResolverQueryLogConfig = v return s } type DeleteResolverRuleInput struct { _ struct{} `type:"structure"` - // The ID of the resolver rule that you want to delete. + // The ID of the Resolver rule that you want to delete. // // ResolverRuleId is a required field ResolverRuleId *string `min:"1" type:"string" required:"true"` @@ -2931,12 +4503,12 @@ func (s *DeleteResolverRuleOutput) SetResolverRule(v *ResolverRule) *DeleteResol type DisassociateResolverEndpointIpAddressInput struct { _ struct{} `type:"structure"` - // The IPv4 address that you want to remove from a resolver endpoint. + // The IPv4 address that you want to remove from a Resolver endpoint. // // IpAddress is a required field IpAddress *IpAddressUpdate `type:"structure" required:"true"` - // The ID of the resolver endpoint that you want to disassociate an IP address + // The ID of the Resolver endpoint that you want to disassociate an IP address // from. // // ResolverEndpointId is a required field @@ -3012,16 +4584,100 @@ func (s *DisassociateResolverEndpointIpAddressOutput) SetResolverEndpoint(v *Res return s } +type DisassociateResolverQueryLogConfigInput struct { + _ struct{} `type:"structure"` + + // The ID of the query logging configuration that you want to disassociate a + // specified VPC from. + // + // ResolverQueryLogConfigId is a required field + ResolverQueryLogConfigId *string `min:"1" type:"string" required:"true"` + + // The ID of the Amazon VPC that you want to disassociate from a specified query + // logging configuration. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateResolverQueryLogConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResolverQueryLogConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateResolverQueryLogConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateResolverQueryLogConfigInput"} + if s.ResolverQueryLogConfigId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigId")) + } + if s.ResolverQueryLogConfigId != nil && len(*s.ResolverQueryLogConfigId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigId", 1)) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. +func (s *DisassociateResolverQueryLogConfigInput) SetResolverQueryLogConfigId(v string) *DisassociateResolverQueryLogConfigInput { + s.ResolverQueryLogConfigId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *DisassociateResolverQueryLogConfigInput) SetResourceId(v string) *DisassociateResolverQueryLogConfigInput { + s.ResourceId = &v + return s +} + +type DisassociateResolverQueryLogConfigOutput struct { + _ struct{} `type:"structure"` + + // A complex type that contains settings for the association that you deleted + // between an Amazon VPC and a query logging configuration. + ResolverQueryLogConfigAssociation *ResolverQueryLogConfigAssociation `type:"structure"` +} + +// String returns the string representation +func (s DisassociateResolverQueryLogConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResolverQueryLogConfigOutput) GoString() string { + return s.String() +} + +// SetResolverQueryLogConfigAssociation sets the ResolverQueryLogConfigAssociation field's value. +func (s *DisassociateResolverQueryLogConfigOutput) SetResolverQueryLogConfigAssociation(v *ResolverQueryLogConfigAssociation) *DisassociateResolverQueryLogConfigOutput { + s.ResolverQueryLogConfigAssociation = v + return s +} + type DisassociateResolverRuleInput struct { _ struct{} `type:"structure"` - // The ID of the resolver rule that you want to disassociate from the specified + // The ID of the Resolver rule that you want to disassociate from the specified // VPC. // // ResolverRuleId is a required field ResolverRuleId *string `min:"1" type:"string" required:"true"` - // The ID of the VPC that you want to disassociate the resolver rule from. + // The ID of the VPC that you want to disassociate the Resolver rule from. // // VPCId is a required field VPCId *string `min:"1" type:"string" required:"true"` @@ -3095,22 +4751,171 @@ func (s *DisassociateResolverRuleOutput) SetResolverRuleAssociation(v *ResolverR return s } -// For List operations, an optional specification to return a subset of objects, -// such as resolver endpoints or resolver rules. +// For Resolver list operations (ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html), +// ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html), +// ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html), +// ListResolverQueryLogConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html), +// and ListResolverQueryLogConfigAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html)), +// an optional specification to return a subset of objects. +// +// To filter objects, such as Resolver endpoints or Resolver rules, you specify +// Name and Values. For example, to list only inbound Resolver endpoints, specify +// Direction for Name and specify INBOUND for Values. type Filter struct { _ struct{} `type:"structure"` - // When you're using a List operation and you want the operation to return a - // subset of objects, such as resolver endpoints or resolver rules, the name - // of the parameter that you want to use to filter objects. For example, to - // list only inbound resolver endpoints, specify Direction for the value of - // Name. + // The name of the parameter that you want to use to filter objects. + // + // The valid values for Name depend on the action that you're including the + // filter in, ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html), + // ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html), + // ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html), + // ListResolverQueryLogConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html), + // or ListResolverQueryLogConfigAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html). + // + // In early versions of Resolver, values for Name were listed as uppercase, + // with underscore (_) delimiters. For example, CreatorRequestId was originally + // listed as CREATOR_REQUEST_ID. Uppercase values for Name are still supported. + // + // ListResolverEndpoints + // + // Valid values for Name include the following: + // + // * CreatorRequestId: The value that you specified when you created the + // Resolver endpoint. + // + // * Direction: Whether you want to return inbound or outbound Resolver endpoints. + // If you specify DIRECTION for Name, specify INBOUND or OUTBOUND for Values. + // + // * HostVpcId: The ID of the VPC that inbound DNS queries pass through on + // the way from your network to your VPCs in a region, or the VPC that outbound + // queries pass through on the way from your VPCs to your network. In a CreateResolverEndpoint + // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html) + // request, SubnetId indirectly identifies the VPC. In a GetResolverEndpoint + // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html) + // request, the VPC ID for a Resolver endpoint is returned in the HostVPCId + // element. + // + // * IpAddressCount: The number of IP addresses that you have associated + // with the Resolver endpoint. + // + // * Name: The name of the Resolver endpoint. + // + // * SecurityGroupIds: The IDs of the VPC security groups that you specified + // when you created the Resolver endpoint. + // + // * Status: The status of the Resolver endpoint. If you specify Status for + // Name, specify one of the following status codes for Values: CREATING, + // OPERATIONAL, UPDATING, AUTO_RECOVERING, ACTION_NEEDED, or DELETING. For + // more information, see Status in ResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverEndpoint.html). + // + // ListResolverRules + // + // Valid values for Name include the following: + // + // * CreatorRequestId: The value that you specified when you created the + // Resolver rule. + // + // * DomainName: The domain name for which Resolver is forwarding DNS queries + // to your network. In the value that you specify for Values, include a trailing + // dot (.) after the domain name. For example, if the domain name is example.com, + // specify the following value. Note the "." after com: example.com. + // + // * Name: The name of the Resolver rule. + // + // * ResolverEndpointId: The ID of the Resolver endpoint that the Resolver + // rule is associated with. You can filter on the Resolver endpoint only + // for rules that have a value of FORWARD for RuleType. + // + // * Status: The status of the Resolver rule. If you specify Status for Name, + // specify one of the following status codes for Values: COMPLETE, DELETING, + // UPDATING, or FAILED. + // + // * Type: The type of the Resolver rule. If you specify TYPE for Name, specify + // FORWARD or SYSTEM for Values. + // + // ListResolverRuleAssociations + // + // Valid values for Name include the following: + // + // * Name: The name of the Resolver rule association. + // + // * ResolverRuleId: The ID of the Resolver rule that is associated with + // one or more VPCs. + // + // * Status: The status of the Resolver rule association. If you specify + // Status for Name, specify one of the following status codes for Values: + // CREATING, COMPLETE, DELETING, or FAILED. + // + // * VPCId: The ID of the VPC that the Resolver rule is associated with. + // + // ListResolverQueryLogConfigs + // + // Valid values for Name include the following: + // + // * Arn: The ARN for the query logging configuration. + // + // * AssociationCount: The number of VPCs that are associated with the query + // logging configuration. + // + // * CreationTime: The date and time that the query logging configuration + // was created, in Unix time format and Coordinated Universal Time (UTC). + // + // * CreatorRequestId: A unique string that identifies the request that created + // the query logging configuration. + // + // * Destination: The AWS service that you want to forward query logs to. + // Valid values include the following: S3 CloudWatchLogs KinesisFirehose + // + // * DestinationArn: The ARN of the location that Resolver is sending query + // logs to. This value can be the ARN for an S3 bucket, a CloudWatch Logs + // log group, or a Kinesis Data Firehose delivery stream. + // + // * Id: The ID of the query logging configuration + // + // * Name: The name of the query logging configuration + // + // * OwnerId: The AWS account ID for the account that created the query logging + // configuration. + // + // * ShareStatus: An indication of whether the query logging configuration + // is shared with other AWS accounts, or was shared with the current account + // by another AWS account. Valid values include: NOT_SHARED, SHARED_WITH_ME, + // or SHARED_BY_ME. + // + // * Status: The status of the query logging configuration. If you specify + // Status for Name, specify the applicable status code for Values: CREATING, + // CREATED, DELETING, or FAILED. For more information, see Status (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfig.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfig-Status). + // + // ListResolverQueryLogConfigAssociations + // + // Valid values for Name include the following: + // + // * CreationTime: The date and time that the VPC was associated with the + // query logging configuration, in Unix time format and Coordinated Universal + // Time (UTC). + // + // * Error: If the value of Status is FAILED, specify the cause: DESTINATION_NOT_FOUND + // or ACCESS_DENIED. + // + // * Id: The ID of the query logging association. + // + // * ResolverQueryLogConfigId: The ID of the query logging configuration + // that a VPC is associated with. + // + // * ResourceId: The ID of the Amazon VPC that is associated with the query + // logging configuration. + // + // * Status: The status of the query logging association. If you specify + // Status for Name, specify the applicable status code for Values: CREATING, + // CREATED, DELETING, or FAILED. For more information, see Status (https://docs.aws.amazon.com/API_route53resolver_ResolverQueryLogConfigAssociation.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfigAssociation-Status). Name *string `min:"1" type:"string"` // When you're using a List operation and you want the operation to return a - // subset of objects, such as resolver endpoints or resolver rules, the value + // subset of objects, such as Resolver endpoints or Resolver rules, the value // of the parameter that you want to use to filter objects. For example, to - // list only inbound resolver endpoints, specify INBOUND for the value of Values. + // list only inbound Resolver endpoints, specify Direction for Name and specify + // INBOUND for Values. Values []*string `type:"list"` } @@ -3137,45 +4942,243 @@ func (s *Filter) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *Filter) SetName(v string) *Filter { - s.Name = &v - return s +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + +type GetResolverEndpointInput struct { + _ struct{} `type:"structure"` + + // The ID of the Resolver endpoint that you want to get information about. + // + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetResolverEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResolverEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverEndpointInput"} + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *GetResolverEndpointInput) SetResolverEndpointId(v string) *GetResolverEndpointInput { + s.ResolverEndpointId = &v + return s +} + +type GetResolverEndpointOutput struct { + _ struct{} `type:"structure"` + + // Information about the Resolver endpoint that you specified in a GetResolverEndpoint + // request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` +} + +// String returns the string representation +func (s GetResolverEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverEndpointOutput) GoString() string { + return s.String() +} + +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *GetResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *GetResolverEndpointOutput { + s.ResolverEndpoint = v + return s +} + +type GetResolverQueryLogConfigAssociationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Resolver query logging configuration association that you want + // to get information about. + // + // ResolverQueryLogConfigAssociationId is a required field + ResolverQueryLogConfigAssociationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetResolverQueryLogConfigAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverQueryLogConfigAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResolverQueryLogConfigAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverQueryLogConfigAssociationInput"} + if s.ResolverQueryLogConfigAssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigAssociationId")) + } + if s.ResolverQueryLogConfigAssociationId != nil && len(*s.ResolverQueryLogConfigAssociationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigAssociationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverQueryLogConfigAssociationId sets the ResolverQueryLogConfigAssociationId field's value. +func (s *GetResolverQueryLogConfigAssociationInput) SetResolverQueryLogConfigAssociationId(v string) *GetResolverQueryLogConfigAssociationInput { + s.ResolverQueryLogConfigAssociationId = &v + return s +} + +type GetResolverQueryLogConfigAssociationOutput struct { + _ struct{} `type:"structure"` + + // Information about the Resolver query logging configuration association that + // you specified in a GetQueryLogConfigAssociation request. + ResolverQueryLogConfigAssociation *ResolverQueryLogConfigAssociation `type:"structure"` +} + +// String returns the string representation +func (s GetResolverQueryLogConfigAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverQueryLogConfigAssociationOutput) GoString() string { + return s.String() +} + +// SetResolverQueryLogConfigAssociation sets the ResolverQueryLogConfigAssociation field's value. +func (s *GetResolverQueryLogConfigAssociationOutput) SetResolverQueryLogConfigAssociation(v *ResolverQueryLogConfigAssociation) *GetResolverQueryLogConfigAssociationOutput { + s.ResolverQueryLogConfigAssociation = v + return s +} + +type GetResolverQueryLogConfigInput struct { + _ struct{} `type:"structure"` + + // The ID of the Resolver query logging configuration that you want to get information + // about. + // + // ResolverQueryLogConfigId is a required field + ResolverQueryLogConfigId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetResolverQueryLogConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverQueryLogConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResolverQueryLogConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverQueryLogConfigInput"} + if s.ResolverQueryLogConfigId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigId")) + } + if s.ResolverQueryLogConfigId != nil && len(*s.ResolverQueryLogConfigId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. +func (s *GetResolverQueryLogConfigInput) SetResolverQueryLogConfigId(v string) *GetResolverQueryLogConfigInput { + s.ResolverQueryLogConfigId = &v + return s +} + +type GetResolverQueryLogConfigOutput struct { + _ struct{} `type:"structure"` + + // Information about the Resolver query logging configuration that you specified + // in a GetQueryLogConfig request. + ResolverQueryLogConfig *ResolverQueryLogConfig `type:"structure"` +} + +// String returns the string representation +func (s GetResolverQueryLogConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverQueryLogConfigOutput) GoString() string { + return s.String() } -// SetValues sets the Values field's value. -func (s *Filter) SetValues(v []*string) *Filter { - s.Values = v +// SetResolverQueryLogConfig sets the ResolverQueryLogConfig field's value. +func (s *GetResolverQueryLogConfigOutput) SetResolverQueryLogConfig(v *ResolverQueryLogConfig) *GetResolverQueryLogConfigOutput { + s.ResolverQueryLogConfig = v return s } -type GetResolverEndpointInput struct { +type GetResolverQueryLogConfigPolicyInput struct { _ struct{} `type:"structure"` - // The ID of the resolver endpoint that you want to get information about. + // The ARN of the query logging configuration that you want to get the query + // logging policy for. // - // ResolverEndpointId is a required field - ResolverEndpointId *string `min:"1" type:"string" required:"true"` + // Arn is a required field + Arn *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetResolverEndpointInput) String() string { +func (s GetResolverQueryLogConfigPolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverEndpointInput) GoString() string { +func (s GetResolverQueryLogConfigPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetResolverEndpointInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResolverEndpointInput"} - if s.ResolverEndpointId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) +func (s *GetResolverQueryLogConfigPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverQueryLogConfigPolicyInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) } if invalidParams.Len() > 0 { @@ -3184,40 +5187,40 @@ func (s *GetResolverEndpointInput) Validate() error { return nil } -// SetResolverEndpointId sets the ResolverEndpointId field's value. -func (s *GetResolverEndpointInput) SetResolverEndpointId(v string) *GetResolverEndpointInput { - s.ResolverEndpointId = &v +// SetArn sets the Arn field's value. +func (s *GetResolverQueryLogConfigPolicyInput) SetArn(v string) *GetResolverQueryLogConfigPolicyInput { + s.Arn = &v return s } -type GetResolverEndpointOutput struct { +type GetResolverQueryLogConfigPolicyOutput struct { _ struct{} `type:"structure"` - // Information about the resolver endpoint that you specified in a GetResolverEndpoint - // request. - ResolverEndpoint *ResolverEndpoint `type:"structure"` + // Information about the query logging policy for the query logging configuration + // that you specified in a GetResolverQueryLogConfigPolicy request. + ResolverQueryLogConfigPolicy *string `type:"string"` } // String returns the string representation -func (s GetResolverEndpointOutput) String() string { +func (s GetResolverQueryLogConfigPolicyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverEndpointOutput) GoString() string { +func (s GetResolverQueryLogConfigPolicyOutput) GoString() string { return s.String() } -// SetResolverEndpoint sets the ResolverEndpoint field's value. -func (s *GetResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *GetResolverEndpointOutput { - s.ResolverEndpoint = v +// SetResolverQueryLogConfigPolicy sets the ResolverQueryLogConfigPolicy field's value. +func (s *GetResolverQueryLogConfigPolicyOutput) SetResolverQueryLogConfigPolicy(v string) *GetResolverQueryLogConfigPolicyOutput { + s.ResolverQueryLogConfigPolicy = &v return s } type GetResolverRuleAssociationInput struct { _ struct{} `type:"structure"` - // The ID of the resolver rule association that you want to get information + // The ID of the Resolver rule association that you want to get information // about. // // ResolverRuleAssociationId is a required field @@ -3259,7 +5262,7 @@ func (s *GetResolverRuleAssociationInput) SetResolverRuleAssociationId(v string) type GetResolverRuleAssociationOutput struct { _ struct{} `type:"structure"` - // Information about the resolver rule association that you specified in a GetResolverRuleAssociation + // Information about the Resolver rule association that you specified in a GetResolverRuleAssociation // request. ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"` } @@ -3283,7 +5286,7 @@ func (s *GetResolverRuleAssociationOutput) SetResolverRuleAssociation(v *Resolve type GetResolverRuleInput struct { _ struct{} `type:"structure"` - // The ID of the resolver rule that you want to get information about. + // The ID of the Resolver rule that you want to get information about. // // ResolverRuleId is a required field ResolverRuleId *string `min:"1" type:"string" required:"true"` @@ -3324,7 +5327,7 @@ func (s *GetResolverRuleInput) SetResolverRuleId(v string) *GetResolverRuleInput type GetResolverRuleOutput struct { _ struct{} `type:"structure"` - // Information about the resolver rule that you specified in a GetResolverRule + // Information about the Resolver rule that you specified in a GetResolverRule // request. ResolverRule *ResolverRule `type:"structure"` } @@ -3348,7 +5351,7 @@ func (s *GetResolverRuleOutput) SetResolverRule(v *ResolverRule) *GetResolverRul type GetResolverRulePolicyInput struct { _ struct{} `type:"structure"` - // The ID of the resolver rule policy that you want to get information about. + // The ID of the Resolver rule policy that you want to get information about. // // Arn is a required field Arn *string `min:"1" type:"string" required:"true"` @@ -3389,7 +5392,7 @@ func (s *GetResolverRulePolicyInput) SetArn(v string) *GetResolverRulePolicyInpu type GetResolverRulePolicyOutput struct { _ struct{} `type:"structure"` - // Information about the resolver rule policy that you specified in a GetResolverRulePolicy + // Information about the Resolver rule policy that you specified in a GetResolverRulePolicy // request. ResolverRulePolicy *string `type:"string"` } @@ -3582,7 +5585,7 @@ func (s *InvalidParameterException) RequestID() string { return s.RespMetadata.RequestID } -// The specified resolver rule policy is invalid. +// The specified Resolver rule policy is invalid. type InvalidPolicyDocument struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -3750,15 +5753,17 @@ func (s *InvalidTagException) RequestID() string { return s.RespMetadata.RequestID } -// In an CreateResolverEndpoint request, a subnet and IP address that you want -// to use for DNS queries. +// In a CreateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html) +// request, the IP address that DNS queries originate from (for outbound endpoints) +// or that you forward DNS queries to (for inbound endpoints). IpAddressRequest +// also includes the ID of the subnet that contains the IP address. type IpAddressRequest struct { _ struct{} `type:"structure"` // The IP address that you want to use for DNS queries. Ip *string `min:"7" type:"string"` - // The subnet that contains the IP address. + // The ID of the subnet that contains the IP address. // // SubnetId is a required field SubnetId *string `min:"1" type:"string" required:"true"` @@ -3805,8 +5810,9 @@ func (s *IpAddressRequest) SetSubnetId(v string) *IpAddressRequest { return s } -// In the response to a GetResolverEndpoint request, information about the IP -// addresses that the resolver endpoint uses for DNS queries. +// In the response to a GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html) +// request, information about the IP addresses that the Resolver endpoint uses +// for DNS queries. type IpAddressResponse struct { _ struct{} `type:"structure"` @@ -3814,7 +5820,7 @@ type IpAddressResponse struct { // Coordinated Universal Time (UTC). CreationTime *string `min:"20" type:"string"` - // One IP address that the resolver endpoint uses for DNS queries. + // One IP address that the Resolver endpoint uses for DNS queries. Ip *string `min:"7" type:"string"` // The ID of one IP address. @@ -3886,20 +5892,21 @@ func (s *IpAddressResponse) SetSubnetId(v string) *IpAddressResponse { return s } -// In an UpdateResolverEndpoint request, information about an IP address to -// update. +// In an UpdateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html) +// request, information about an IP address to update. type IpAddressUpdate struct { _ struct{} `type:"structure"` // The new IP address. Ip *string `min:"7" type:"string"` - // Only when removing an IP address from a resolver endpoint: The ID of the - // IP address that you want to remove. To get this ID, use GetResolverEndpoint. + // Only when removing an IP address from a Resolver endpoint: The ID of the + // IP address that you want to remove. To get this ID, use GetResolverEndpoint + // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html). IpId *string `min:"1" type:"string"` // The ID of the subnet that includes the IP address that you want to update. - // To get this ID, use GetResolverEndpoint. + // To get this ID, use GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html). SubnetId *string `min:"1" type:"string"` } @@ -3991,68 +5998,355 @@ func (s *LimitExceededException) Message() string { return "" } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *LimitExceededException) OrigErr() error { - return nil +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil +} + +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListResolverEndpointIpAddressesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of IP addresses that you want to return in the response + // to a ListResolverEndpointIpAddresses request. If you don't specify a value + // for MaxResults, Resolver returns up to 100 IP addresses. + MaxResults *int64 `min:"1" type:"integer"` + + // For the first ListResolverEndpointIpAddresses request, omit this value. + // + // If the specified Resolver endpoint has more than MaxResults IP addresses, + // you can submit another ListResolverEndpointIpAddresses request to get the + // next group of IP addresses. In the next request, specify the value of NextToken + // from the previous response. + NextToken *string `type:"string"` + + // The ID of the Resolver endpoint that you want to get IP addresses for. + // + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListResolverEndpointIpAddressesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResolverEndpointIpAddressesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResolverEndpointIpAddressesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverEndpointIpAddressesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverEndpointIpAddressesInput) SetMaxResults(v int64) *ListResolverEndpointIpAddressesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResolverEndpointIpAddressesInput) SetNextToken(v string) *ListResolverEndpointIpAddressesInput { + s.NextToken = &v + return s +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *ListResolverEndpointIpAddressesInput) SetResolverEndpointId(v string) *ListResolverEndpointIpAddressesInput { + s.ResolverEndpointId = &v + return s +} + +type ListResolverEndpointIpAddressesOutput struct { + _ struct{} `type:"structure"` + + // Information about the IP addresses in your VPC that DNS queries originate + // from (for outbound endpoints) or that you forward DNS queries to (for inbound + // endpoints). + IpAddresses []*IpAddressResponse `type:"list"` + + // The value that you specified for MaxResults in the request. + MaxResults *int64 `min:"1" type:"integer"` + + // If the specified endpoint has more than MaxResults IP addresses, you can + // submit another ListResolverEndpointIpAddresses request to get the next group + // of IP addresses. In the next request, specify the value of NextToken from + // the previous response. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListResolverEndpointIpAddressesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResolverEndpointIpAddressesOutput) GoString() string { + return s.String() +} + +// SetIpAddresses sets the IpAddresses field's value. +func (s *ListResolverEndpointIpAddressesOutput) SetIpAddresses(v []*IpAddressResponse) *ListResolverEndpointIpAddressesOutput { + s.IpAddresses = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverEndpointIpAddressesOutput) SetMaxResults(v int64) *ListResolverEndpointIpAddressesOutput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResolverEndpointIpAddressesOutput) SetNextToken(v string) *ListResolverEndpointIpAddressesOutput { + s.NextToken = &v + return s +} + +type ListResolverEndpointsInput struct { + _ struct{} `type:"structure"` + + // An optional specification to return a subset of Resolver endpoints, such + // as all inbound Resolver endpoints. + // + // If you submit a second or subsequent ListResolverEndpoints request and specify + // the NextToken parameter, you must use the same values for Filters, if any, + // as in the previous request. + Filters []*Filter `type:"list"` + + // The maximum number of Resolver endpoints that you want to return in the response + // to a ListResolverEndpoints request. If you don't specify a value for MaxResults, + // Resolver returns up to 100 Resolver endpoints. + MaxResults *int64 `min:"1" type:"integer"` + + // For the first ListResolverEndpoints request, omit this value. + // + // If you have more than MaxResults Resolver endpoints, you can submit another + // ListResolverEndpoints request to get the next group of Resolver endpoints. + // In the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListResolverEndpointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResolverEndpointsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResolverEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverEndpointsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *ListResolverEndpointsInput) SetFilters(v []*Filter) *ListResolverEndpointsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverEndpointsInput) SetMaxResults(v int64) *ListResolverEndpointsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListResolverEndpointsInput) SetNextToken(v string) *ListResolverEndpointsInput { + s.NextToken = &v + return s +} + +type ListResolverEndpointsOutput struct { + _ struct{} `type:"structure"` + + // The value that you specified for MaxResults in the request. + MaxResults *int64 `min:"1" type:"integer"` + + // If more than MaxResults IP addresses match the specified criteria, you can + // submit another ListResolverEndpoint request to get the next group of results. + // In the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` + + // The Resolver endpoints that were created by using the current AWS account, + // and that match the specified filters, if any. + ResolverEndpoints []*ResolverEndpoint `type:"list"` +} + +// String returns the string representation +func (s ListResolverEndpointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListResolverEndpointsOutput) GoString() string { + return s.String() } -func (s *LimitExceededException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverEndpointsOutput) SetMaxResults(v int64) *ListResolverEndpointsOutput { + s.MaxResults = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetNextToken sets the NextToken field's value. +func (s *ListResolverEndpointsOutput) SetNextToken(v string) *ListResolverEndpointsOutput { + s.NextToken = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetResolverEndpoints sets the ResolverEndpoints field's value. +func (s *ListResolverEndpointsOutput) SetResolverEndpoints(v []*ResolverEndpoint) *ListResolverEndpointsOutput { + s.ResolverEndpoints = v + return s } -type ListResolverEndpointIpAddressesInput struct { +type ListResolverQueryLogConfigAssociationsInput struct { _ struct{} `type:"structure"` - // The maximum number of IP addresses that you want to return in the response - // to a ListResolverEndpointIpAddresses request. If you don't specify a value - // for MaxResults, Resolver returns up to 100 IP addresses. + // An optional specification to return a subset of query logging associations. + // + // If you submit a second or subsequent ListResolverQueryLogConfigAssociations + // request and specify the NextToken parameter, you must use the same values + // for Filters, if any, as in the previous request. + Filters []*Filter `type:"list"` + + // The maximum number of query logging associations that you want to return + // in the response to a ListResolverQueryLogConfigAssociations request. If you + // don't specify a value for MaxResults, Resolver returns up to 100 query logging + // associations. MaxResults *int64 `min:"1" type:"integer"` - // For the first ListResolverEndpointIpAddresses request, omit this value. + // For the first ListResolverQueryLogConfigAssociations request, omit this value. // - // If the specified resolver endpoint has more than MaxResults IP addresses, - // you can submit another ListResolverEndpointIpAddresses request to get the - // next group of IP addresses. In the next request, specify the value of NextToken - // from the previous response. + // If there are more than MaxResults query logging associations that match the + // values that you specify for Filters, you can submit another ListResolverQueryLogConfigAssociations + // request to get the next group of associations. In the next request, specify + // the value of NextToken from the previous response. NextToken *string `type:"string"` - // The ID of the resolver endpoint that you want to get IP addresses for. + // The element that you want Resolver to sort query logging associations by. // - // ResolverEndpointId is a required field - ResolverEndpointId *string `min:"1" type:"string" required:"true"` + // If you submit a second or subsequent ListResolverQueryLogConfigAssociations + // request and specify the NextToken parameter, you must use the same value + // for SortBy, if any, as in the previous request. + // + // Valid values include the following elements: + // + // * CreationTime: The ID of the query logging association. + // + // * Error: If the value of Status is FAILED, the value of Error indicates + // the cause: DESTINATION_NOT_FOUND: The specified destination (for example, + // an Amazon S3 bucket) was deleted. ACCESS_DENIED: Permissions don't allow + // sending logs to the destination. If Status is a value other than FAILED, + // ERROR is null. + // + // * Id: The ID of the query logging association + // + // * ResolverQueryLogConfigId: The ID of the query logging configuration + // + // * ResourceId: The ID of the VPC that is associated with the query logging + // configuration + // + // * Status: The current status of the configuration. Valid values include + // the following: CREATING: Resolver is creating an association between an + // Amazon VPC and a query logging configuration. CREATED: The association + // between an Amazon VPC and a query logging configuration was successfully + // created. Resolver is logging queries that originate in the specified VPC. + // DELETING: Resolver is deleting this query logging association. FAILED: + // Resolver either couldn't create or couldn't delete the query logging association. + // Here are two common causes: The specified destination (for example, an + // Amazon S3 bucket) was deleted. Permissions don't allow sending logs to + // the destination. + SortBy *string `min:"1" type:"string"` + + // If you specified a value for SortBy, the order that you want query logging + // associations to be listed in, ASCENDING or DESCENDING. + // + // If you submit a second or subsequent ListResolverQueryLogConfigAssociations + // request and specify the NextToken parameter, you must use the same value + // for SortOrder, if any, as in the previous request. + SortOrder *string `type:"string" enum:"SortOrder"` } // String returns the string representation -func (s ListResolverEndpointIpAddressesInput) String() string { +func (s ListResolverQueryLogConfigAssociationsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverEndpointIpAddressesInput) GoString() string { +func (s ListResolverQueryLogConfigAssociationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListResolverEndpointIpAddressesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListResolverEndpointIpAddressesInput"} +func (s *ListResolverQueryLogConfigAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverQueryLogConfigAssociationsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.ResolverEndpointId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + if s.SortBy != nil && len(*s.SortBy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SortBy", 1)) } - if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -4061,109 +6355,190 @@ func (s *ListResolverEndpointIpAddressesInput) Validate() error { return nil } +// SetFilters sets the Filters field's value. +func (s *ListResolverQueryLogConfigAssociationsInput) SetFilters(v []*Filter) *ListResolverQueryLogConfigAssociationsInput { + s.Filters = v + return s +} + // SetMaxResults sets the MaxResults field's value. -func (s *ListResolverEndpointIpAddressesInput) SetMaxResults(v int64) *ListResolverEndpointIpAddressesInput { +func (s *ListResolverQueryLogConfigAssociationsInput) SetMaxResults(v int64) *ListResolverQueryLogConfigAssociationsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListResolverEndpointIpAddressesInput) SetNextToken(v string) *ListResolverEndpointIpAddressesInput { +func (s *ListResolverQueryLogConfigAssociationsInput) SetNextToken(v string) *ListResolverQueryLogConfigAssociationsInput { s.NextToken = &v return s } -// SetResolverEndpointId sets the ResolverEndpointId field's value. -func (s *ListResolverEndpointIpAddressesInput) SetResolverEndpointId(v string) *ListResolverEndpointIpAddressesInput { - s.ResolverEndpointId = &v +// SetSortBy sets the SortBy field's value. +func (s *ListResolverQueryLogConfigAssociationsInput) SetSortBy(v string) *ListResolverQueryLogConfigAssociationsInput { + s.SortBy = &v return s } -type ListResolverEndpointIpAddressesOutput struct { - _ struct{} `type:"structure"` - - // The IP addresses that DNS queries pass through on their way to your network - // (outbound endpoint) or on the way to Resolver (inbound endpoint). - IpAddresses []*IpAddressResponse `type:"list"` +// SetSortOrder sets the SortOrder field's value. +func (s *ListResolverQueryLogConfigAssociationsInput) SetSortOrder(v string) *ListResolverQueryLogConfigAssociationsInput { + s.SortOrder = &v + return s +} - // The value that you specified for MaxResults in the request. - MaxResults *int64 `min:"1" type:"integer"` +type ListResolverQueryLogConfigAssociationsOutput struct { + _ struct{} `type:"structure"` - // If the specified endpoint has more than MaxResults IP addresses, you can - // submit another ListResolverEndpointIpAddresses request to get the next group - // of IP addresses. In the next request, specify the value of NextToken from + // If there are more than MaxResults query logging associations, you can submit + // another ListResolverQueryLogConfigAssociations request to get the next group + // of associations. In the next request, specify the value of NextToken from // the previous response. NextToken *string `type:"string"` + + // A list that contains one ResolverQueryLogConfigAssociations element for each + // query logging association that matches the values that you specified for + // Filter. + ResolverQueryLogConfigAssociations []*ResolverQueryLogConfigAssociation `type:"list"` + + // The total number of query logging associations that were created by the current + // account in the specified Region. This count can differ from the number of + // associations that are returned in a ListResolverQueryLogConfigAssociations + // response, depending on the values that you specify in the request. + TotalCount *int64 `type:"integer"` + + // The total number of query logging associations that were created by the current + // account in the specified Region and that match the filters that were specified + // in the ListResolverQueryLogConfigAssociations request. For the total number + // of associations that were created by the current account in the specified + // Region, see TotalCount. + TotalFilteredCount *int64 `type:"integer"` } // String returns the string representation -func (s ListResolverEndpointIpAddressesOutput) String() string { +func (s ListResolverQueryLogConfigAssociationsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverEndpointIpAddressesOutput) GoString() string { +func (s ListResolverQueryLogConfigAssociationsOutput) GoString() string { return s.String() } -// SetIpAddresses sets the IpAddresses field's value. -func (s *ListResolverEndpointIpAddressesOutput) SetIpAddresses(v []*IpAddressResponse) *ListResolverEndpointIpAddressesOutput { - s.IpAddresses = v +// SetNextToken sets the NextToken field's value. +func (s *ListResolverQueryLogConfigAssociationsOutput) SetNextToken(v string) *ListResolverQueryLogConfigAssociationsOutput { + s.NextToken = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListResolverEndpointIpAddressesOutput) SetMaxResults(v int64) *ListResolverEndpointIpAddressesOutput { - s.MaxResults = &v +// SetResolverQueryLogConfigAssociations sets the ResolverQueryLogConfigAssociations field's value. +func (s *ListResolverQueryLogConfigAssociationsOutput) SetResolverQueryLogConfigAssociations(v []*ResolverQueryLogConfigAssociation) *ListResolverQueryLogConfigAssociationsOutput { + s.ResolverQueryLogConfigAssociations = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListResolverEndpointIpAddressesOutput) SetNextToken(v string) *ListResolverEndpointIpAddressesOutput { - s.NextToken = &v +// SetTotalCount sets the TotalCount field's value. +func (s *ListResolverQueryLogConfigAssociationsOutput) SetTotalCount(v int64) *ListResolverQueryLogConfigAssociationsOutput { + s.TotalCount = &v return s } -type ListResolverEndpointsInput struct { +// SetTotalFilteredCount sets the TotalFilteredCount field's value. +func (s *ListResolverQueryLogConfigAssociationsOutput) SetTotalFilteredCount(v int64) *ListResolverQueryLogConfigAssociationsOutput { + s.TotalFilteredCount = &v + return s +} + +type ListResolverQueryLogConfigsInput struct { _ struct{} `type:"structure"` - // An optional specification to return a subset of resolver endpoints, such - // as all inbound resolver endpoints. + // An optional specification to return a subset of query logging configurations. // - // If you submit a second or subsequent ListResolverEndpoints request and specify - // the NextToken parameter, you must use the same values for Filters, if any, - // as in the previous request. + // If you submit a second or subsequent ListResolverQueryLogConfigs request + // and specify the NextToken parameter, you must use the same values for Filters, + // if any, as in the previous request. Filters []*Filter `type:"list"` - // The maximum number of resolver endpoints that you want to return in the response - // to a ListResolverEndpoints request. If you don't specify a value for MaxResults, - // Resolver returns up to 100 resolver endpoints. + // The maximum number of query logging configurations that you want to return + // in the response to a ListResolverQueryLogConfigs request. If you don't specify + // a value for MaxResults, Resolver returns up to 100 query logging configurations. MaxResults *int64 `min:"1" type:"integer"` - // For the first ListResolverEndpoints request, omit this value. + // For the first ListResolverQueryLogConfigs request, omit this value. // - // If you have more than MaxResults resolver endpoints, you can submit another - // ListResolverEndpoints request to get the next group of resolver endpoints. - // In the next request, specify the value of NextToken from the previous response. + // If there are more than MaxResults query logging configurations that match + // the values that you specify for Filters, you can submit another ListResolverQueryLogConfigs + // request to get the next group of configurations. In the next request, specify + // the value of NextToken from the previous response. NextToken *string `type:"string"` + + // The element that you want Resolver to sort query logging configurations by. + // + // If you submit a second or subsequent ListResolverQueryLogConfigs request + // and specify the NextToken parameter, you must use the same value for SortBy, + // if any, as in the previous request. + // + // Valid values include the following elements: + // + // * Arn: The ARN of the query logging configuration + // + // * AssociationCount: The number of VPCs that are associated with the specified + // configuration + // + // * CreationTime: The date and time that Resolver returned when the configuration + // was created + // + // * CreatorRequestId: The value that was specified for CreatorRequestId + // when the configuration was created + // + // * DestinationArn: The location that logs are sent to + // + // * Id: The ID of the configuration + // + // * Name: The name of the configuration + // + // * OwnerId: The AWS account number of the account that created the configuration + // + // * ShareStatus: Whether the configuration is shared with other AWS accounts + // or shared with the current account by another AWS account. Sharing is + // configured through AWS Resource Access Manager (AWS RAM). + // + // * Status: The current status of the configuration. Valid values include + // the following: CREATING: Resolver is creating the query logging configuration. + // CREATED: The query logging configuration was successfully created. Resolver + // is logging queries that originate in the specified VPC. DELETING: Resolver + // is deleting this query logging configuration. FAILED: Resolver either + // couldn't create or couldn't delete the query logging configuration. Here + // are two common causes: The specified destination (for example, an Amazon + // S3 bucket) was deleted. Permissions don't allow sending logs to the destination. + SortBy *string `min:"1" type:"string"` + + // If you specified a value for SortBy, the order that you want query logging + // configurations to be listed in, ASCENDING or DESCENDING. + // + // If you submit a second or subsequent ListResolverQueryLogConfigs request + // and specify the NextToken parameter, you must use the same value for SortOrder, + // if any, as in the previous request. + SortOrder *string `type:"string" enum:"SortOrder"` } // String returns the string representation -func (s ListResolverEndpointsInput) String() string { +func (s ListResolverQueryLogConfigsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverEndpointsInput) GoString() string { +func (s ListResolverQueryLogConfigsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListResolverEndpointsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListResolverEndpointsInput"} +func (s *ListResolverQueryLogConfigsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverQueryLogConfigsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.SortBy != nil && len(*s.SortBy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SortBy", 1)) + } if s.Filters != nil { for i, v := range s.Filters { if v == nil { @@ -4182,71 +6557,99 @@ func (s *ListResolverEndpointsInput) Validate() error { } // SetFilters sets the Filters field's value. -func (s *ListResolverEndpointsInput) SetFilters(v []*Filter) *ListResolverEndpointsInput { +func (s *ListResolverQueryLogConfigsInput) SetFilters(v []*Filter) *ListResolverQueryLogConfigsInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListResolverEndpointsInput) SetMaxResults(v int64) *ListResolverEndpointsInput { +func (s *ListResolverQueryLogConfigsInput) SetMaxResults(v int64) *ListResolverQueryLogConfigsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListResolverEndpointsInput) SetNextToken(v string) *ListResolverEndpointsInput { +func (s *ListResolverQueryLogConfigsInput) SetNextToken(v string) *ListResolverQueryLogConfigsInput { s.NextToken = &v return s } -type ListResolverEndpointsOutput struct { - _ struct{} `type:"structure"` +// SetSortBy sets the SortBy field's value. +func (s *ListResolverQueryLogConfigsInput) SetSortBy(v string) *ListResolverQueryLogConfigsInput { + s.SortBy = &v + return s +} - // The value that you specified for MaxResults in the request. - MaxResults *int64 `min:"1" type:"integer"` +// SetSortOrder sets the SortOrder field's value. +func (s *ListResolverQueryLogConfigsInput) SetSortOrder(v string) *ListResolverQueryLogConfigsInput { + s.SortOrder = &v + return s +} - // If more than MaxResults IP addresses match the specified criteria, you can - // submit another ListResolverEndpoint request to get the next group of results. +type ListResolverQueryLogConfigsOutput struct { + _ struct{} `type:"structure"` + + // If there are more than MaxResults query logging configurations, you can submit + // another ListResolverQueryLogConfigs request to get the next group of configurations. // In the next request, specify the value of NextToken from the previous response. NextToken *string `type:"string"` - // The resolver endpoints that were created by using the current AWS account, - // and that match the specified filters, if any. - ResolverEndpoints []*ResolverEndpoint `type:"list"` + // A list that contains one ResolverQueryLogConfig element for each query logging + // configuration that matches the values that you specified for Filter. + ResolverQueryLogConfigs []*ResolverQueryLogConfig `type:"list"` + + // The total number of query logging configurations that were created by the + // current account in the specified Region. This count can differ from the number + // of query logging configurations that are returned in a ListResolverQueryLogConfigs + // response, depending on the values that you specify in the request. + TotalCount *int64 `type:"integer"` + + // The total number of query logging configurations that were created by the + // current account in the specified Region and that match the filters that were + // specified in the ListResolverQueryLogConfigs request. For the total number + // of query logging configurations that were created by the current account + // in the specified Region, see TotalCount. + TotalFilteredCount *int64 `type:"integer"` } // String returns the string representation -func (s ListResolverEndpointsOutput) String() string { +func (s ListResolverQueryLogConfigsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverEndpointsOutput) GoString() string { +func (s ListResolverQueryLogConfigsOutput) GoString() string { return s.String() } -// SetMaxResults sets the MaxResults field's value. -func (s *ListResolverEndpointsOutput) SetMaxResults(v int64) *ListResolverEndpointsOutput { - s.MaxResults = &v +// SetNextToken sets the NextToken field's value. +func (s *ListResolverQueryLogConfigsOutput) SetNextToken(v string) *ListResolverQueryLogConfigsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListResolverEndpointsOutput) SetNextToken(v string) *ListResolverEndpointsOutput { - s.NextToken = &v +// SetResolverQueryLogConfigs sets the ResolverQueryLogConfigs field's value. +func (s *ListResolverQueryLogConfigsOutput) SetResolverQueryLogConfigs(v []*ResolverQueryLogConfig) *ListResolverQueryLogConfigsOutput { + s.ResolverQueryLogConfigs = v return s } -// SetResolverEndpoints sets the ResolverEndpoints field's value. -func (s *ListResolverEndpointsOutput) SetResolverEndpoints(v []*ResolverEndpoint) *ListResolverEndpointsOutput { - s.ResolverEndpoints = v +// SetTotalCount sets the TotalCount field's value. +func (s *ListResolverQueryLogConfigsOutput) SetTotalCount(v int64) *ListResolverQueryLogConfigsOutput { + s.TotalCount = &v + return s +} + +// SetTotalFilteredCount sets the TotalFilteredCount field's value. +func (s *ListResolverQueryLogConfigsOutput) SetTotalFilteredCount(v int64) *ListResolverQueryLogConfigsOutput { + s.TotalFilteredCount = &v return s } type ListResolverRuleAssociationsInput struct { _ struct{} `type:"structure"` - // An optional specification to return a subset of resolver rules, such as resolver + // An optional specification to return a subset of Resolver rules, such as Resolver // rules that are associated with the same VPC ID. // // If you submit a second or subsequent ListResolverRuleAssociations request @@ -4330,7 +6733,7 @@ type ListResolverRuleAssociationsOutput struct { // previous response. NextToken *string `type:"string"` - // The associations that were created between resolver rules and VPCs using + // The associations that were created between Resolver rules and VPCs using // the current AWS account, and that match the specified filters, if any. ResolverRuleAssociations []*ResolverRuleAssociation `type:"list"` } @@ -4366,23 +6769,23 @@ func (s *ListResolverRuleAssociationsOutput) SetResolverRuleAssociations(v []*Re type ListResolverRulesInput struct { _ struct{} `type:"structure"` - // An optional specification to return a subset of resolver rules, such as all - // resolver rules that are associated with the same resolver endpoint. + // An optional specification to return a subset of Resolver rules, such as all + // Resolver rules that are associated with the same Resolver endpoint. // // If you submit a second or subsequent ListResolverRules request and specify // the NextToken parameter, you must use the same values for Filters, if any, // as in the previous request. Filters []*Filter `type:"list"` - // The maximum number of resolver rules that you want to return in the response + // The maximum number of Resolver rules that you want to return in the response // to a ListResolverRules request. If you don't specify a value for MaxResults, - // Resolver returns up to 100 resolver rules. + // Resolver returns up to 100 Resolver rules. MaxResults *int64 `min:"1" type:"integer"` // For the first ListResolverRules request, omit this value. // - // If you have more than MaxResults resolver rules, you can submit another ListResolverRules - // request to get the next group of resolver rules. In the next request, specify + // If you have more than MaxResults Resolver rules, you can submit another ListResolverRules + // request to get the next group of Resolver rules. In the next request, specify // the value of NextToken from the previous response. NextToken *string `type:"string"` } @@ -4444,12 +6847,12 @@ type ListResolverRulesOutput struct { // The value that you specified for MaxResults in the request. MaxResults *int64 `min:"1" type:"integer"` - // If more than MaxResults resolver rules match the specified criteria, you + // If more than MaxResults Resolver rules match the specified criteria, you // can submit another ListResolverRules request to get the next group of results. // In the next request, specify the value of NextToken from the previous response. NextToken *string `type:"string"` - // The resolver rules that were created using the current AWS account and that + // The Resolver rules that were created using the current AWS account and that // match the specified filters, if any. ResolverRules []*ResolverRule `type:"list"` } @@ -4539,64 +6942,174 @@ func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceIn return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { - s.NextToken = &v +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { + s.NextToken = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // If more than MaxResults tags match the specified criteria, you can submit + // another ListTagsForResource request to get the next group of results. In + // the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` + + // The tags that are associated with the resource that you specified in the + // ListTagsForResource request. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { + s.NextToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type PutResolverQueryLogConfigPolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the account that you want to share rules + // with. + // + // Arn is a required field + Arn *string `min:"1" type:"string" required:"true"` + + // An AWS Identity and Access Management policy statement that lists the query + // logging configurations that you want to share with another AWS account and + // the operations that you want the account to be able to perform. You can specify + // the following operations in the Actions section of the statement: + // + // * route53resolver:AssociateResolverQueryLogConfig + // + // * route53resolver:DisassociateResolverQueryLogConfig + // + // * route53resolver:ListResolverQueryLogConfigAssociations + // + // * route53resolver:ListResolverQueryLogConfigs + // + // In the Resource section of the statement, you specify the ARNs for the query + // logging configurations that you want to share with the account that you specified + // in Arn. + // + // ResolverQueryLogConfigPolicy is a required field + ResolverQueryLogConfigPolicy *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s PutResolverQueryLogConfigPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResolverQueryLogConfigPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutResolverQueryLogConfigPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResolverQueryLogConfigPolicyInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.ResolverQueryLogConfigPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigPolicy")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *PutResolverQueryLogConfigPolicyInput) SetArn(v string) *PutResolverQueryLogConfigPolicyInput { + s.Arn = &v return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v +// SetResolverQueryLogConfigPolicy sets the ResolverQueryLogConfigPolicy field's value. +func (s *PutResolverQueryLogConfigPolicyInput) SetResolverQueryLogConfigPolicy(v string) *PutResolverQueryLogConfigPolicyInput { + s.ResolverQueryLogConfigPolicy = &v return s } -type ListTagsForResourceOutput struct { +// The response to a PutResolverQueryLogConfigPolicy request. +type PutResolverQueryLogConfigPolicyOutput struct { _ struct{} `type:"structure"` - // If more than MaxResults tags match the specified criteria, you can submit - // another ListTagsForResource request to get the next group of results. In - // the next request, specify the value of NextToken from the previous response. - NextToken *string `type:"string"` - - // The tags that are associated with the resource that you specified in the - // ListTagsForResource request. - Tags []*Tag `type:"list"` + // Whether the PutResolverQueryLogConfigPolicy request was successful. + ReturnValue *bool `type:"boolean"` } // String returns the string representation -func (s ListTagsForResourceOutput) String() string { +func (s PutResolverQueryLogConfigPolicyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceOutput) GoString() string { +func (s PutResolverQueryLogConfigPolicyOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { - s.NextToken = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { - s.Tags = v +// SetReturnValue sets the ReturnValue field's value. +func (s *PutResolverQueryLogConfigPolicyOutput) SetReturnValue(v bool) *PutResolverQueryLogConfigPolicyOutput { + s.ReturnValue = &v return s } type PutResolverRulePolicyInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the account that you want to grant permissions - // to. + // The Amazon Resource Name (ARN) of the account that you want to share rules + // with. // // Arn is a required field Arn *string `min:"1" type:"string" required:"true"` - // An AWS Identity and Access Management policy statement that lists the permissions - // that you want to grant to another AWS account. + // An AWS Identity and Access Management policy statement that lists the rules + // that you want to share with another AWS account and the operations that you + // want the account to be able to perform. You can specify the following operations + // in the Actions section of the statement: + // + // * route53resolver:GetResolverRule + // + // * route53resolver:AssociateResolverRule + // + // * route53resolver:DisassociateResolverRule + // + // * route53resolver:ListResolverRules + // + // * route53resolver:ListResolverRuleAssociations + // + // In the Resource section of the statement, you specify the ARNs for the rules + // that you want to share with the account that you specified in Arn. // // ResolverRulePolicy is a required field ResolverRulePolicy *string `type:"string" required:"true"` @@ -4667,58 +7180,95 @@ func (s *PutResolverRulePolicyOutput) SetReturnValue(v bool) *PutResolverRulePol return s } -// In the response to a CreateResolverEndpoint, DeleteResolverEndpoint, GetResolverEndpoint, -// ListResolverEndpoints, or UpdateResolverEndpoint request, a complex type -// that contains settings for an existing inbound or outbound resolver endpoint. +// In the response to a CreateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html), +// DeleteResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverEndpoint.html), +// GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html), +// ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html), +// or UpdateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html) +// request, a complex type that contains settings for an existing inbound or +// outbound Resolver endpoint. type ResolverEndpoint struct { _ struct{} `type:"structure"` - // The ARN (Amazon Resource Name) for the resolver endpoint. + // The ARN (Amazon Resource Name) for the Resolver endpoint. Arn *string `min:"1" type:"string"` // The date and time that the endpoint was created, in Unix time format and // Coordinated Universal Time (UTC). CreationTime *string `min:"20" type:"string"` - // A unique string that identifies the request that created the resolver endpoint. + // A unique string that identifies the request that created the Resolver endpoint. // The CreatorRequestId allows failed requests to be retried without the risk // of executing the operation twice. CreatorRequestId *string `min:"1" type:"string"` - // Indicates whether the resolver endpoint allows inbound or outbound DNS queries: + // Indicates whether the Resolver endpoint allows inbound or outbound DNS queries: // - // * INBOUND: allows DNS queries to your VPC from your network or another - // VPC + // * INBOUND: allows DNS queries to your VPC from your network // - // * OUTBOUND: allows DNS queries from your VPC to your network or another - // VPC + // * OUTBOUND: allows DNS queries from your VPC to your network Direction *string `type:"string" enum:"ResolverEndpointDirection"` - // The ID of the VPC that you want to create the resolver endpoint in. + // The ID of the VPC that you want to create the Resolver endpoint in. HostVPCId *string `min:"1" type:"string"` - // The ID of the resolver endpoint. + // The ID of the Resolver endpoint. Id *string `min:"1" type:"string"` - // The number of IP addresses that the resolver endpoint can use for DNS queries. + // The number of IP addresses that the Resolver endpoint can use for DNS queries. IpAddressCount *int64 `type:"integer"` // The date and time that the endpoint was last modified, in Unix time format // and Coordinated Universal Time (UTC). ModificationTime *string `min:"20" type:"string"` - // The name that you assigned to the resolver endpoint when you submitted a - // CreateResolverEndpoint request. + // The name that you assigned to the Resolver endpoint when you submitted a + // CreateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html) + // request. Name *string `type:"string"` // The ID of one or more security groups that control access to this VPC. The - // security group must include one or more inbound resolver rules. + // security group must include one or more inbound rules (for inbound endpoints) + // or outbound rules (for outbound endpoints). Inbound and outbound rules must + // allow TCP and UDP access. For inbound access, open port 53. For outbound + // access, open the port that you're using for DNS queries on your network. SecurityGroupIds []*string `type:"list"` - // A code that specifies the current status of the resolver endpoint. + // A code that specifies the current status of the Resolver endpoint. Valid + // values include the following: + // + // * CREATING: Resolver is creating and configuring one or more Amazon VPC + // network interfaces for this endpoint. + // + // * OPERATIONAL: The Amazon VPC network interfaces for this endpoint are + // correctly configured and able to pass inbound or outbound DNS queries + // between your network and Resolver. + // + // * UPDATING: Resolver is associating or disassociating one or more network + // interfaces with this endpoint. + // + // * AUTO_RECOVERING: Resolver is trying to recover one or more of the network + // interfaces that are associated with this endpoint. During the recovery + // process, the endpoint functions with limited capacity because of the limit + // on the number of DNS queries per IP address (per network interface). For + // the current limit, see Limits on Route 53 Resolver (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-entities-resolver). + // + // * ACTION_NEEDED: This endpoint is unhealthy, and Resolver can't automatically + // recover it. To resolve the problem, we recommend that you check each IP + // address that you associated with the endpoint. For each IP address that + // isn't available, add another IP address and then delete the IP address + // that isn't available. (An endpoint must always include at least two IP + // addresses.) A status of ACTION_NEEDED can have a variety of causes. Here + // are two common causes: One or more of the network interfaces that are + // associated with the endpoint were deleted using Amazon VPC. The network + // interface couldn't be created for some reason that's outside the control + // of Resolver. + // + // * DELETING: Resolver is deleting this endpoint and the associated network + // interfaces. Status *string `type:"string" enum:"ResolverEndpointStatus"` - // A detailed description of the status of the resolver endpoint. + // A detailed description of the status of the Resolver endpoint. StatusMessage *string `type:"string"` } @@ -4804,32 +7354,278 @@ func (s *ResolverEndpoint) SetStatusMessage(v string) *ResolverEndpoint { return s } -// For queries that originate in your VPC, detailed information about a resolver +// In the response to a CreateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverQueryLogConfig.html), +// DeleteResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverQueryLogConfig.html), +// GetResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverQueryLogConfig.html), +// or ListResolverQueryLogConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html) +// request, a complex type that contains settings for one query logging configuration. +type ResolverQueryLogConfig struct { + _ struct{} `type:"structure"` + + // The ARN for the query logging configuration. + Arn *string `min:"1" type:"string"` + + // The number of VPCs that are associated with the query logging configuration. + AssociationCount *int64 `type:"integer"` + + // The date and time that the query logging configuration was created, in Unix + // time format and Coordinated Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` + + // A unique string that identifies the request that created the query logging + // configuration. The CreatorRequestId allows failed requests to be retried + // without the risk of executing the operation twice. + CreatorRequestId *string `min:"1" type:"string"` + + // The ARN of the resource that you want Resolver to send query logs: an Amazon + // S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery + // stream. + DestinationArn *string `min:"1" type:"string"` + + // The ID for the query logging configuration. + Id *string `min:"1" type:"string"` + + // The name of the query logging configuration. + Name *string `min:"1" type:"string"` + + // The AWS account ID for the account that created the query logging configuration. + OwnerId *string `min:"12" type:"string"` + + // An indication of whether the query logging configuration is shared with other + // AWS accounts, or was shared with the current account by another AWS account. + // Sharing is configured through AWS Resource Access Manager (AWS RAM). + ShareStatus *string `type:"string" enum:"ShareStatus"` + + // The status of the specified query logging configuration. Valid values include + // the following: + // + // * CREATING: Resolver is creating the query logging configuration. + // + // * CREATED: The query logging configuration was successfully created. Resolver + // is logging queries that originate in the specified VPC. + // + // * DELETING: Resolver is deleting this query logging configuration. + // + // * FAILED: Resolver can't deliver logs to the location that is specified + // in the query logging configuration. Here are two common causes: The specified + // destination (for example, an Amazon S3 bucket) was deleted. Permissions + // don't allow sending logs to the destination. + Status *string `type:"string" enum:"ResolverQueryLogConfigStatus"` +} + +// String returns the string representation +func (s ResolverQueryLogConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResolverQueryLogConfig) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ResolverQueryLogConfig) SetArn(v string) *ResolverQueryLogConfig { + s.Arn = &v + return s +} + +// SetAssociationCount sets the AssociationCount field's value. +func (s *ResolverQueryLogConfig) SetAssociationCount(v int64) *ResolverQueryLogConfig { + s.AssociationCount = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ResolverQueryLogConfig) SetCreationTime(v string) *ResolverQueryLogConfig { + s.CreationTime = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *ResolverQueryLogConfig) SetCreatorRequestId(v string) *ResolverQueryLogConfig { + s.CreatorRequestId = &v + return s +} + +// SetDestinationArn sets the DestinationArn field's value. +func (s *ResolverQueryLogConfig) SetDestinationArn(v string) *ResolverQueryLogConfig { + s.DestinationArn = &v + return s +} + +// SetId sets the Id field's value. +func (s *ResolverQueryLogConfig) SetId(v string) *ResolverQueryLogConfig { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *ResolverQueryLogConfig) SetName(v string) *ResolverQueryLogConfig { + s.Name = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *ResolverQueryLogConfig) SetOwnerId(v string) *ResolverQueryLogConfig { + s.OwnerId = &v + return s +} + +// SetShareStatus sets the ShareStatus field's value. +func (s *ResolverQueryLogConfig) SetShareStatus(v string) *ResolverQueryLogConfig { + s.ShareStatus = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResolverQueryLogConfig) SetStatus(v string) *ResolverQueryLogConfig { + s.Status = &v + return s +} + +// In the response to an AssociateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverQueryLogConfig.html), +// DisassociateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverQueryLogConfig.html), +// GetResolverQueryLogConfigAssociation (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverQueryLogConfigAssociation.html), +// or ListResolverQueryLogConfigAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html), +// request, a complex type that contains settings for a specified association +// between an Amazon VPC and a query logging configuration. +type ResolverQueryLogConfigAssociation struct { + _ struct{} `type:"structure"` + + // The date and time that the VPC was associated with the query logging configuration, + // in Unix time format and Coordinated Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` + + // If the value of Status is FAILED, the value of Error indicates the cause: + // + // * DESTINATION_NOT_FOUND: The specified destination (for example, an Amazon + // S3 bucket) was deleted. + // + // * ACCESS_DENIED: Permissions don't allow sending logs to the destination. + // + // If the value of Status is a value other than FAILED, Error is null. + Error *string `type:"string" enum:"ResolverQueryLogConfigAssociationError"` + + // Contains additional information about the error. If the value or Error is + // null, the value of ErrorMessage also is null. + ErrorMessage *string `type:"string"` + + // The ID of the query logging association. + Id *string `min:"1" type:"string"` + + // The ID of the query logging configuration that a VPC is associated with. + ResolverQueryLogConfigId *string `min:"1" type:"string"` + + // The ID of the Amazon VPC that is associated with the query logging configuration. + ResourceId *string `min:"1" type:"string"` + + // The status of the specified query logging association. Valid values include + // the following: + // + // * CREATING: Resolver is creating an association between an Amazon VPC + // and a query logging configuration. + // + // * CREATED: The association between an Amazon VPC and a query logging configuration + // was successfully created. Resolver is logging queries that originate in + // the specified VPC. + // + // * DELETING: Resolver is deleting this query logging association. + // + // * FAILED: Resolver either couldn't create or couldn't delete the query + // logging association. + Status *string `type:"string" enum:"ResolverQueryLogConfigAssociationStatus"` +} + +// String returns the string representation +func (s ResolverQueryLogConfigAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResolverQueryLogConfigAssociation) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ResolverQueryLogConfigAssociation) SetCreationTime(v string) *ResolverQueryLogConfigAssociation { + s.CreationTime = &v + return s +} + +// SetError sets the Error field's value. +func (s *ResolverQueryLogConfigAssociation) SetError(v string) *ResolverQueryLogConfigAssociation { + s.Error = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *ResolverQueryLogConfigAssociation) SetErrorMessage(v string) *ResolverQueryLogConfigAssociation { + s.ErrorMessage = &v + return s +} + +// SetId sets the Id field's value. +func (s *ResolverQueryLogConfigAssociation) SetId(v string) *ResolverQueryLogConfigAssociation { + s.Id = &v + return s +} + +// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. +func (s *ResolverQueryLogConfigAssociation) SetResolverQueryLogConfigId(v string) *ResolverQueryLogConfigAssociation { + s.ResolverQueryLogConfigId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *ResolverQueryLogConfigAssociation) SetResourceId(v string) *ResolverQueryLogConfigAssociation { + s.ResourceId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResolverQueryLogConfigAssociation) SetStatus(v string) *ResolverQueryLogConfigAssociation { + s.Status = &v + return s +} + +// For queries that originate in your VPC, detailed information about a Resolver // rule, which specifies how to route DNS queries out of the VPC. The ResolverRule -// parameter appears in the response to a CreateResolverRule, DeleteResolverRule, -// GetResolverRule, ListResolverRules, or UpdateResolverRule request. +// parameter appears in the response to a CreateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html), +// DeleteResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverRule.html), +// GetResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html), +// ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html), +// or UpdateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverRule.html) +// request. type ResolverRule struct { _ struct{} `type:"structure"` - // The ARN (Amazon Resource Name) for the resolver rule specified by Id. + // The ARN (Amazon Resource Name) for the Resolver rule specified by Id. Arn *string `min:"1" type:"string"` - // A unique string that you specified when you created the resolver rule. CreatorRequestIdidentifies - // the request and allows failed requests to be retried without the risk of - // executing the operation twice. + // The date and time that the Resolver rule was created, in Unix time format + // and Coordinated Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` + + // A unique string that you specified when you created the Resolver rule. CreatorRequestId + // identifies the request and allows failed requests to be retried without the + // risk of executing the operation twice. CreatorRequestId *string `min:"1" type:"string"` // DNS queries for this domain name are forwarded to the IP addresses that are - // specified in TargetIps. If a query matches multiple resolver rules (example.com - // and www.example.com), the query is routed using the resolver rule that contains + // specified in TargetIps. If a query matches multiple Resolver rules (example.com + // and www.example.com), the query is routed using the Resolver rule that contains // the most specific domain name (www.example.com). DomainName *string `min:"1" type:"string"` - // The ID that Resolver assigned to the resolver rule when you created it. + // The ID that Resolver assigned to the Resolver rule when you created it. Id *string `min:"1" type:"string"` - // The name for the resolver rule, which you specified when you created the - // resolver rule. + // The date and time that the Resolver rule was last updated, in Unix time format + // and Coordinated Universal Time (UTC). + ModificationTime *string `min:"20" type:"string"` + + // The name for the Resolver rule, which you specified when you created the + // Resolver rule. Name *string `type:"string"` // When a rule is shared with another AWS account, the account ID of the account @@ -4839,7 +7635,20 @@ type ResolverRule struct { // The ID of the endpoint that the rule is associated with. ResolverEndpointId *string `min:"1" type:"string"` - // This value is always FORWARD. Other resolver rule types aren't supported. + // When you want to forward DNS queries for specified domain name to resolvers + // on your network, specify FORWARD. + // + // When you have a forwarding rule to forward DNS queries for a domain to your + // network and you want Resolver to process queries for a subdomain of that + // domain, specify SYSTEM. + // + // For example, to forward DNS queries for example.com to resolvers on your + // network, you create a rule and specify FORWARD for RuleType. To then have + // Resolver process queries for apex.example.com, you create a rule and specify + // SYSTEM for RuleType. + // + // Currently, only Resolver can create rules that have a value of RECURSIVE + // for RuleType. RuleType *string `type:"string" enum:"RuleTypeOption"` // Whether the rules is shared and, if so, whether the current account is sharing @@ -4847,13 +7656,15 @@ type ResolverRule struct { // the current account. ShareStatus *string `type:"string" enum:"ShareStatus"` - // A code that specifies the current status of the resolver rule. + // A code that specifies the current status of the Resolver rule. Status *string `type:"string" enum:"ResolverRuleStatus"` - // A detailed description of the status of a resolver rule. + // A detailed description of the status of a Resolver rule. StatusMessage *string `type:"string"` - // An array that contains the IP addresses and ports that you want to forward + // An array that contains the IP addresses and ports that an outbound endpoint + // forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers + // on your network. Specify IPv4 addresses. IPv6 is not supported. TargetIps []*TargetAddress `min:"1" type:"list"` } @@ -4873,6 +7684,12 @@ func (s *ResolverRule) SetArn(v string) *ResolverRule { return s } +// SetCreationTime sets the CreationTime field's value. +func (s *ResolverRule) SetCreationTime(v string) *ResolverRule { + s.CreationTime = &v + return s +} + // SetCreatorRequestId sets the CreatorRequestId field's value. func (s *ResolverRule) SetCreatorRequestId(v string) *ResolverRule { s.CreatorRequestId = &v @@ -4891,6 +7708,12 @@ func (s *ResolverRule) SetId(v string) *ResolverRule { return s } +// SetModificationTime sets the ModificationTime field's value. +func (s *ResolverRule) SetModificationTime(v string) *ResolverRule { + s.ModificationTime = &v + return s +} + // SetName sets the Name field's value. func (s *ResolverRule) SetName(v string) *ResolverRule { s.Name = &v @@ -4939,32 +7762,36 @@ func (s *ResolverRule) SetTargetIps(v []*TargetAddress) *ResolverRule { return s } -// In the response to an AssociateResolverRule, DisassociateResolverRule, or -// ListResolverRuleAssociations request, information about an association between -// a resolver rule and a VPC. +// In the response to an AssociateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html), +// DisassociateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html), +// or ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) +// request, provides information about an association between a Resolver rule +// and a VPC. The association determines which DNS queries that originate in +// the VPC are forwarded to your network. type ResolverRuleAssociation struct { _ struct{} `type:"structure"` - // The ID of the association between a resolver rule and a VPC. Resolver assigns - // this value when you submit an AssociateResolverRule request. + // The ID of the association between a Resolver rule and a VPC. Resolver assigns + // this value when you submit an AssociateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html) + // request. Id *string `min:"1" type:"string"` - // The name of an association between a resolver rule and a VPC. + // The name of an association between a Resolver rule and a VPC. Name *string `type:"string"` - // The ID of the resolver rule that you associated with the VPC that is specified + // The ID of the Resolver rule that you associated with the VPC that is specified // by VPCId. ResolverRuleId *string `min:"1" type:"string"` - // A code that specifies the current status of the association between a resolver + // A code that specifies the current status of the association between a Resolver // rule and a VPC. Status *string `type:"string" enum:"ResolverRuleAssociationStatus"` - // A detailed description of the status of the association between a resolver + // A detailed description of the status of the association between a Resolver // rule and a VPC. StatusMessage *string `type:"string"` - // The ID of the VPC that you associated the resolver rule with. + // The ID of the VPC that you associated the Resolver rule with. VPCId *string `min:"1" type:"string"` } @@ -5014,16 +7841,16 @@ func (s *ResolverRuleAssociation) SetVPCId(v string) *ResolverRuleAssociation { return s } -// In an UpdateResolverRule request, information about the changes that you -// want to make. +// In an UpdateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverRule.html) +// request, information about the changes that you want to make. type ResolverRuleConfig struct { _ struct{} `type:"structure"` - // The new name for the resolver rule. The name that you specify appears in + // The new name for the Resolver rule. The name that you specify appears in // the Resolver dashboard in the Route 53 console. Name *string `type:"string"` - // The ID of the new outbound resolver endpoint that you want to use to route + // The ID of the new outbound Resolver endpoint that you want to use to route // DNS queries to the IP addresses that you specify in TargetIps. ResolverEndpointId *string `min:"1" type:"string"` @@ -5334,11 +8161,15 @@ type Tag struct { // The name for the tag. For example, if you want to associate Resolver resources // with the account IDs of your customers for billing purposes, the value of // Key might be account-id. - Key *string `type:"string"` + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` // The value for the tag. For example, if Key is account-id, then Value might // be the ID of the customer account that you're creating the resource for. - Value *string `type:"string"` + // + // Value is a required field + Value *string `type:"string" required:"true"` } // String returns the string representation @@ -5351,6 +8182,25 @@ func (s Tag) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + 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 *Tag) SetKey(v string) *Tag { s.Key = &v @@ -5369,17 +8219,17 @@ type TagResourceInput struct { // The Amazon Resource Name (ARN) for the resource that you want to add tags // to. To get the ARN for a resource, use the applicable Get or List command: // - // * GetResolverEndpoint + // * GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html) // - // * GetResolverRule + // * GetResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html) // - // * GetResolverRuleAssociation + // * GetResolverRuleAssociation (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRuleAssociation.html) // - // * ListResolverEndpoints + // * ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html) // - // * ListResolverRuleAssociations + // * ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) // - // * ListResolverRules + // * ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html) // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` @@ -5412,6 +8262,16 @@ func (s *TagResourceInput) Validate() error { if s.Tags == nil { invalidParams.Add(request.NewErrParamRequired("Tags")) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -5445,8 +8305,8 @@ func (s TagResourceOutput) GoString() string { return s.String() } -// In a CreateResolverRule request, an array of the IPs that you want to forward -// DNS queries to. +// In a CreateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html) +// request, an array of the IPs that you want to forward DNS queries to. type TargetAddress struct { _ struct{} `type:"structure"` @@ -5616,17 +8476,17 @@ type UntagResourceInput struct { // The Amazon Resource Name (ARN) for the resource that you want to remove tags // from. To get the ARN for a resource, use the applicable Get or List command: // - // * GetResolverEndpoint + // * GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html) // - // * GetResolverRule + // * GetResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html) // - // * GetResolverRuleAssociation + // * GetResolverRuleAssociation (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRuleAssociation.html) // - // * ListResolverEndpoints + // * ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html) // - // * ListResolverRuleAssociations + // * ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) // - // * ListResolverRules + // * ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html) // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` @@ -5695,10 +8555,10 @@ func (s UntagResourceOutput) GoString() string { type UpdateResolverEndpointInput struct { _ struct{} `type:"structure"` - // The name of the resolver endpoint that you want to update. + // The name of the Resolver endpoint that you want to update. Name *string `type:"string"` - // The ID of the resolver endpoint that you want to update. + // The ID of the Resolver endpoint that you want to update. // // ResolverEndpointId is a required field ResolverEndpointId *string `min:"1" type:"string" required:"true"` @@ -5768,12 +8628,12 @@ func (s *UpdateResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) type UpdateResolverRuleInput struct { _ struct{} `type:"structure"` - // The new settings for the resolver rule. + // The new settings for the Resolver rule. // // Config is a required field Config *ResolverRuleConfig `type:"structure" required:"true"` - // The ID of the resolver rule that you want to update. + // The ID of the Resolver rule that you want to update. // // ResolverRuleId is a required field ResolverRuleId *string `min:"1" type:"string" required:"true"` @@ -5944,6 +8804,82 @@ func ResolverEndpointStatus_Values() []string { } } +const ( + // ResolverQueryLogConfigAssociationErrorNone is a ResolverQueryLogConfigAssociationError enum value + ResolverQueryLogConfigAssociationErrorNone = "NONE" + + // ResolverQueryLogConfigAssociationErrorDestinationNotFound is a ResolverQueryLogConfigAssociationError enum value + ResolverQueryLogConfigAssociationErrorDestinationNotFound = "DESTINATION_NOT_FOUND" + + // ResolverQueryLogConfigAssociationErrorAccessDenied is a ResolverQueryLogConfigAssociationError enum value + ResolverQueryLogConfigAssociationErrorAccessDenied = "ACCESS_DENIED" + + // ResolverQueryLogConfigAssociationErrorInternalServiceError is a ResolverQueryLogConfigAssociationError enum value + ResolverQueryLogConfigAssociationErrorInternalServiceError = "INTERNAL_SERVICE_ERROR" +) + +// ResolverQueryLogConfigAssociationError_Values returns all elements of the ResolverQueryLogConfigAssociationError enum +func ResolverQueryLogConfigAssociationError_Values() []string { + return []string{ + ResolverQueryLogConfigAssociationErrorNone, + ResolverQueryLogConfigAssociationErrorDestinationNotFound, + ResolverQueryLogConfigAssociationErrorAccessDenied, + ResolverQueryLogConfigAssociationErrorInternalServiceError, + } +} + +const ( + // ResolverQueryLogConfigAssociationStatusCreating is a ResolverQueryLogConfigAssociationStatus enum value + ResolverQueryLogConfigAssociationStatusCreating = "CREATING" + + // ResolverQueryLogConfigAssociationStatusActive is a ResolverQueryLogConfigAssociationStatus enum value + ResolverQueryLogConfigAssociationStatusActive = "ACTIVE" + + // ResolverQueryLogConfigAssociationStatusActionNeeded is a ResolverQueryLogConfigAssociationStatus enum value + ResolverQueryLogConfigAssociationStatusActionNeeded = "ACTION_NEEDED" + + // ResolverQueryLogConfigAssociationStatusDeleting is a ResolverQueryLogConfigAssociationStatus enum value + ResolverQueryLogConfigAssociationStatusDeleting = "DELETING" + + // ResolverQueryLogConfigAssociationStatusFailed is a ResolverQueryLogConfigAssociationStatus enum value + ResolverQueryLogConfigAssociationStatusFailed = "FAILED" +) + +// ResolverQueryLogConfigAssociationStatus_Values returns all elements of the ResolverQueryLogConfigAssociationStatus enum +func ResolverQueryLogConfigAssociationStatus_Values() []string { + return []string{ + ResolverQueryLogConfigAssociationStatusCreating, + ResolverQueryLogConfigAssociationStatusActive, + ResolverQueryLogConfigAssociationStatusActionNeeded, + ResolverQueryLogConfigAssociationStatusDeleting, + ResolverQueryLogConfigAssociationStatusFailed, + } +} + +const ( + // ResolverQueryLogConfigStatusCreating is a ResolverQueryLogConfigStatus enum value + ResolverQueryLogConfigStatusCreating = "CREATING" + + // ResolverQueryLogConfigStatusCreated is a ResolverQueryLogConfigStatus enum value + ResolverQueryLogConfigStatusCreated = "CREATED" + + // ResolverQueryLogConfigStatusDeleting is a ResolverQueryLogConfigStatus enum value + ResolverQueryLogConfigStatusDeleting = "DELETING" + + // ResolverQueryLogConfigStatusFailed is a ResolverQueryLogConfigStatus enum value + ResolverQueryLogConfigStatusFailed = "FAILED" +) + +// ResolverQueryLogConfigStatus_Values returns all elements of the ResolverQueryLogConfigStatus enum +func ResolverQueryLogConfigStatus_Values() []string { + return []string{ + ResolverQueryLogConfigStatusCreating, + ResolverQueryLogConfigStatusCreated, + ResolverQueryLogConfigStatusDeleting, + ResolverQueryLogConfigStatusFailed, + } +} + const ( // ResolverRuleAssociationStatusCreating is a ResolverRuleAssociationStatus enum value ResolverRuleAssociationStatusCreating = "CREATING" @@ -6035,3 +8971,19 @@ func ShareStatus_Values() []string { ShareStatusSharedByMe, } } + +const ( + // SortOrderAscending is a SortOrder enum value + SortOrderAscending = "ASCENDING" + + // SortOrderDescending is a SortOrder enum value + SortOrderDescending = "DESCENDING" +) + +// SortOrder_Values returns all elements of the SortOrder enum +func SortOrder_Values() []string { + return []string{ + SortOrderAscending, + SortOrderDescending, + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53resolver/doc.go b/vendor/github.com/aws/aws-sdk-go/service/route53resolver/doc.go index 02d332e9d1e..3ca543fbcb3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53resolver/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53resolver/doc.go @@ -3,41 +3,42 @@ // Package route53resolver provides the client and types for making API // requests to Amazon Route 53 Resolver. // -// Here's how you set up to query an Amazon Route 53 private hosted zone from -// your network: -// -// Connect your network to a VPC using AWS Direct Connect or a VPN. -// -// Run the following AWS CLI command to create a Resolver endpoint: -// -// create-resolver-endpoint --name [endpoint_name] --direction INBOUND --creator-request-id -// [unique_string] --security-group-ids [security_group_with_inbound_rules] -// --ip-addresses SubnetId=[subnet_id] SubnetId=[subnet_id_in_different_AZ] -// -// Note the resolver endpoint ID that appears in the response. You'll use it -// in step 3. -// -// Get the IP addresses for the Resolver endpoints: -// -// get-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id] -// -// In your network configuration, define the IP addresses that you got in step -// 3 as DNS servers. -// -// You can now query instance names in your VPCs and the names of records in -// your private hosted zone. -// -// You can also perform the following operations using the AWS CLI: -// -// * list-resolver-endpoints: List all endpoints. The syntax includes options -// for pagination and filtering. -// -// * update-resolver-endpoints: Add IP addresses to an endpoint or remove -// IP addresses from an endpoint. -// -// To delete an endpoint, use the following AWS CLI command: -// -// delete-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id] +// When you create a VPC using Amazon VPC, you automatically get DNS resolution +// within the VPC from Route 53 Resolver. By default, Resolver answers DNS queries +// for VPC domain names such as domain names for EC2 instances or ELB load balancers. +// Resolver performs recursive lookups against public name servers for all other +// domain names. +// +// You can also configure DNS resolution between your VPC and your network over +// a Direct Connect or VPN connection: +// +// Forward DNS queries from resolvers on your network to Route 53 Resolver +// +// DNS resolvers on your network can forward DNS queries to Resolver in a specified +// VPC. This allows your DNS resolvers to easily resolve domain names for AWS +// resources such as EC2 instances or records in a Route 53 private hosted zone. +// For more information, see How DNS Resolvers on Your Network Forward DNS Queries +// to Route 53 Resolver (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html#resolver-overview-forward-network-to-vpc) +// in the Amazon Route 53 Developer Guide. +// +// Conditionally forward queries from a VPC to resolvers on your network +// +// You can configure Resolver to forward queries that it receives from EC2 instances +// in your VPCs to DNS resolvers on your network. To forward selected queries, +// you create Resolver rules that specify the domain names for the DNS queries +// that you want to forward (such as example.com), and the IP addresses of the +// DNS resolvers on your network that you want to forward the queries to. If +// a query matches multiple rules (example.com, acme.example.com), Resolver +// chooses the rule with the most specific match (acme.example.com) and forwards +// the query to the IP addresses that you specified in that rule. For more information, +// see How Route 53 Resolver Forwards DNS Queries from Your VPCs to Your Network +// (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html#resolver-overview-forward-vpc-to-network) +// in the Amazon Route 53 Developer Guide. +// +// Like Amazon VPC, Resolver is regional. In each region where you have VPCs, +// you can choose whether to forward queries from your VPCs to your network +// (outbound queries), from your network to your VPCs (inbound queries), or +// both. // // See https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53resolver/errors.go b/vendor/github.com/aws/aws-sdk-go/service/route53resolver/errors.go index a27e58d72e6..deb0b1a0dcb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53resolver/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53resolver/errors.go @@ -8,6 +8,13 @@ import ( const ( + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // The current account doesn't have the IAM permissions required to perform + // the specified Resolver operation. + ErrCodeAccessDeniedException = "AccessDeniedException" + // ErrCodeInternalServiceErrorException for service response error code // "InternalServiceErrorException". // @@ -29,7 +36,7 @@ const ( // ErrCodeInvalidPolicyDocument for service response error code // "InvalidPolicyDocument". // - // The specified resolver rule policy is invalid. + // The specified Resolver rule policy is invalid. ErrCodeInvalidPolicyDocument = "InvalidPolicyDocument" // ErrCodeInvalidRequestException for service response error code @@ -88,6 +95,7 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, "InternalServiceErrorException": newErrorInternalServiceErrorException, "InvalidNextTokenException": newErrorInvalidNextTokenException, "InvalidParameterException": newErrorInvalidParameterException, diff --git a/vendor/modules.txt b/vendor/modules.txt index d9b740b193a..d4f0707830a 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -29,7 +29,7 @@ github.com/apparentlymart/go-cidr/cidr github.com/apparentlymart/go-textseg/textseg # github.com/armon/go-radix v1.0.0 github.com/armon/go-radix -# github.com/aws/aws-sdk-go v1.34.10 +# github.com/aws/aws-sdk-go v1.34.13 ## explicit github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn