diff --git a/go.mod b/go.mod index d3d0a7a960d4..576cbf69aa72 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ require ( github.com/apparentlymart/go-cidr v1.0.0 // indirect github.com/apparentlymart/go-textseg v1.0.0 // indirect github.com/armon/go-radix v1.0.0 // indirect - github.com/aws/aws-sdk-go v1.19.1 + github.com/aws/aws-sdk-go v1.19.4 github.com/beevik/etree v1.0.1 github.com/bgentry/speakeasy v0.1.0 // indirect github.com/blang/semver v3.5.1+incompatible // indirect diff --git a/go.sum b/go.sum index 4222e25741f8..fe8e70a7c9c1 100644 --- a/go.sum +++ b/go.sum @@ -36,8 +36,8 @@ github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aws/aws-sdk-go v1.14.31/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.16.36/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.19.1 h1:8kOP0/XGJwXIFlYoD1DAtA39cAjc15Iv/QiDMKitD9U= -github.com/aws/aws-sdk-go v1.19.1/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.19.4 h1:TcCgjX1fscA9WKg/vxzvL28evDWsLd5oOS5WpS90u3A= +github.com/aws/aws-sdk-go v1.19.4/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/beevik/etree v0.0.0-20171015221209-af219c0c7ea1/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/beevik/etree v1.0.1 h1:lWzdj5v/Pj1X360EV7bUudox5SRipy4qZLjY0rhb0ck= github.com/beevik/etree v1.0.1/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= 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 a694cb415220..4a2277917206 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 @@ -2544,6 +2544,9 @@ var awsPartition = partition{ "eu-west-2": endpoint{ Protocols: []string{"https"}, }, + "eu-west-3": endpoint{ + Protocols: []string{"https"}, + }, "sa-east-1": endpoint{ Protocols: []string{"https"}, }, 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 cd95b1bfce26..5a3f1ffc18a3 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.19.1" +const SDKVersion = "1.19.4" diff --git a/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go b/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go index 07d1a4bdb4d7..fc69ab8e8815 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go @@ -9,6 +9,8 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" ) const opCreateMesh = "CreateMesh" @@ -55,7 +57,7 @@ func (c *AppMesh) CreateMeshRequest(input *CreateMeshInput) (req *request.Reques // CreateMesh API operation for AWS App Mesh. // -// Creates a new service mesh. A service mesh is a logical boundary for network +// Creates a service mesh. A service mesh is a logical boundary for network // traffic between the services that reside within it. // // After you create your service mesh, you can create virtual services, virtual @@ -167,12 +169,12 @@ func (c *AppMesh) CreateRouteRequest(input *CreateRouteInput) (req *request.Requ // CreateRoute API operation for AWS App Mesh. // -// Creates a new route that is associated with a virtual router. +// Creates a route that is associated with a virtual router. // // You can use the prefix parameter in your route specification for path-based -// routing of requests. For example, if your virtual router service name is -// my-service.local, and you want the route to match requests to my-service.local/metrics, -// then your prefix should be /metrics. +// routing of requests. For example, if your virtual service name is my-service.local +// and you want the route to match requests to my-service.local/metrics, your +// prefix should be /metrics. // // If your route matches a request, you can distribute traffic to one or more // target virtual nodes with relative weighting. @@ -282,10 +284,10 @@ func (c *AppMesh) CreateVirtualNodeRequest(input *CreateVirtualNodeInput) (req * // CreateVirtualNode API operation for AWS App Mesh. // -// Creates a new virtual node within a service mesh. +// Creates a virtual node within a service mesh. // -// A virtual node acts as logical pointer to a particular task group, such as -// an Amazon ECS service or a Kubernetes deployment. When you create a virtual +// A virtual node acts as a logical pointer to a particular task group, such +// as an Amazon ECS service or a Kubernetes deployment. When you create a virtual // node, you must specify the DNS service discovery hostname for your task group. // // Any inbound traffic that your virtual node expects should be specified as @@ -294,7 +296,7 @@ func (c *AppMesh) CreateVirtualNodeRequest(input *CreateVirtualNodeInput) (req * // // The response metadata for your new virtual node contains the arn that is // associated with the virtual node. Set this value (either the full ARN or -// the truncated resource name, for example, mesh/default/virtualNode/simpleapp, +// the truncated resource name: for example, mesh/default/virtualNode/simpleapp) // as the APPMESH_VIRTUAL_NODE_NAME environment variable for your task group's // Envoy proxy container in your task definition or pod spec. This is then mapped // to the node.id and node.cluster Envoy parameters. @@ -408,12 +410,12 @@ func (c *AppMesh) CreateVirtualRouterRequest(input *CreateVirtualRouterInput) (r // CreateVirtualRouter API operation for AWS App Mesh. // -// Creates a new virtual router within a service mesh. +// Creates a virtual router within a service mesh. // // Any inbound traffic that your virtual router expects should be specified // as a listener. // -// Virtual routers handle traffic for one or more service names within your +// Virtual routers handle traffic for one or more virtual services within your // mesh. After you create your virtual router, create and associate routes for // your virtual router that direct incoming requests to different virtual nodes. // @@ -524,8 +526,8 @@ func (c *AppMesh) CreateVirtualServiceRequest(input *CreateVirtualServiceInput) // // Creates a virtual service within a service mesh. // -// A virtual service is an abstraction of a real service that is either provided -// by a virtual node directly, or indirectly by means of a virtual router. Dependent +// A virtual service is an abstraction of a real service that is provided by +// a virtual node directly or indirectly by means of a virtual router. Dependent // services call your virtual service by its virtualServiceName, and those requests // are routed to the virtual node or virtual router that is specified as the // provider for the virtual service. @@ -638,7 +640,7 @@ func (c *AppMesh) DeleteMeshRequest(input *DeleteMeshInput) (req *request.Reques // Deletes an existing service mesh. // // You must delete all resources (virtual services, routes, virtual routers, -// virtual nodes) in the service mesh before you can delete the mesh itself. +// and virtual nodes) in the service mesh before you can delete the mesh itself. // // 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 @@ -1892,6 +1894,151 @@ func (c *AppMesh) ListRoutesPagesWithContext(ctx aws.Context, input *ListRoutesI return p.Err() } +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource +// 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 ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource +func (c *AppMesh) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/v20190125/tags", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS App Mesh. +// +// List the tags for an App Mesh resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request syntax was malformed. Check your request syntax and try again. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * ErrCodeNotFoundException "NotFoundException" +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request has failed due to a temporary failure of the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource +func (c *AppMesh) 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 *AppMesh) 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 *ListTagsForResourceOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *AppMesh) 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 *AppMesh) 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 + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListVirtualNodes = "ListVirtualNodes" // ListVirtualNodesRequest generates a "aws/request.Request" representing the @@ -2351,272 +2498,246 @@ func (c *AppMesh) ListVirtualServicesPagesWithContext(ctx aws.Context, input *Li return p.Err() } -const opUpdateRoute = "UpdateRoute" +const opTagResource = "TagResource" -// UpdateRouteRequest generates a "aws/request.Request" representing the -// client's request for the UpdateRoute operation. The "output" return +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource 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 UpdateRoute for more information on using the UpdateRoute +// See TagResource for more information on using the TagResource // 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 UpdateRouteRequest method. -// req, resp := client.UpdateRouteRequest(params) +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute -func (c *AppMesh) UpdateRouteRequest(input *UpdateRouteInput) (req *request.Request, output *UpdateRouteOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResource +func (c *AppMesh) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUpdateRoute, + Name: opTagResource, HTTPMethod: "PUT", - HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", + HTTPPath: "/v20190125/tag", } if input == nil { - input = &UpdateRouteInput{} + input = &TagResourceInput{} } - output = &UpdateRouteOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateRoute API operation for AWS App Mesh. +// TagResource API operation for AWS App Mesh. // -// Updates an existing route for a specified service mesh and virtual router. +// Associates the specified tags to a resource with the specified resourceArn. +// If existing tags on a resource aren't specified in the request parameters, +// they aren't changed. When a resource is deleted, the tags associated with +// that resource are also deleted. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS App Mesh's -// API operation UpdateRoute for usage and error information. +// API operation TagResource for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" // The request syntax was malformed. Check your request syntax and try again. // -// * ErrCodeConflictException "ConflictException" -// The request contains a client token that was used for a previous update resource -// call with different specifications. Try the request again with a new client -// token. -// -// * ErrCodeForbiddenException "ForbiddenException" -// You don't have permissions to perform this action. -// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // The request processing has failed because of an unknown error, exception, // or failure. // -// * ErrCodeLimitExceededException "LimitExceededException" -// You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) -// in the AWS App Mesh User Guide. -// // * ErrCodeNotFoundException "NotFoundException" // The specified resource doesn't exist. Check your request syntax and try again. // // * ErrCodeServiceUnavailableException "ServiceUnavailableException" // The request has failed due to a temporary failure of the service. // -// * ErrCodeTooManyRequestsException "TooManyRequestsException" -// The maximum request rate permitted by the App Mesh APIs has been exceeded -// for your account. For best results, use an increasing or variable sleep interval -// between requests. +// * ErrCodeTooManyTagsException "TooManyTagsException" +// The request exceeds the maximum allowed number of tags allowed per resource. +// The current limit is 50 user tags per resource. You must reduce the number +// of tags in the request. None of the tags in this request were applied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute -func (c *AppMesh) UpdateRoute(input *UpdateRouteInput) (*UpdateRouteOutput, error) { - req, out := c.UpdateRouteRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResource +func (c *AppMesh) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } -// UpdateRouteWithContext is the same as UpdateRoute with the addition of +// TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateRoute for details on how to use this API operation. +// See TagResource 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 *AppMesh) UpdateRouteWithContext(ctx aws.Context, input *UpdateRouteInput, opts ...request.Option) (*UpdateRouteOutput, error) { - req, out := c.UpdateRouteRequest(input) +func (c *AppMesh) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateVirtualNode = "UpdateVirtualNode" +const opUntagResource = "UntagResource" -// UpdateVirtualNodeRequest generates a "aws/request.Request" representing the -// client's request for the UpdateVirtualNode operation. The "output" return +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource 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 UpdateVirtualNode for more information on using the UpdateVirtualNode +// See UntagResource for more information on using the UntagResource // 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 UpdateVirtualNodeRequest method. -// req, resp := client.UpdateVirtualNodeRequest(params) +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode -func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req *request.Request, output *UpdateVirtualNodeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource +func (c *AppMesh) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ - Name: opUpdateVirtualNode, + Name: opUntagResource, HTTPMethod: "PUT", - HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", + HTTPPath: "/v20190125/untag", } if input == nil { - input = &UpdateVirtualNodeInput{} + input = &UntagResourceInput{} } - output = &UpdateVirtualNodeOutput{} + output = &UntagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateVirtualNode API operation for AWS App Mesh. +// UntagResource API operation for AWS App Mesh. // -// Updates an existing virtual node in a specified service mesh. +// Deletes specified tags from a resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS App Mesh's -// API operation UpdateVirtualNode for usage and error information. +// API operation UntagResource for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" // The request syntax was malformed. Check your request syntax and try again. // -// * ErrCodeConflictException "ConflictException" -// The request contains a client token that was used for a previous update resource -// call with different specifications. Try the request again with a new client -// token. -// -// * ErrCodeForbiddenException "ForbiddenException" -// You don't have permissions to perform this action. -// // * ErrCodeInternalServerErrorException "InternalServerErrorException" // The request processing has failed because of an unknown error, exception, // or failure. // -// * ErrCodeLimitExceededException "LimitExceededException" -// You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) -// in the AWS App Mesh User Guide. -// // * ErrCodeNotFoundException "NotFoundException" // The specified resource doesn't exist. Check your request syntax and try again. // // * ErrCodeServiceUnavailableException "ServiceUnavailableException" // The request has failed due to a temporary failure of the service. // -// * ErrCodeTooManyRequestsException "TooManyRequestsException" -// The maximum request rate permitted by the App Mesh APIs has been exceeded -// for your account. For best results, use an increasing or variable sleep interval -// between requests. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode -func (c *AppMesh) UpdateVirtualNode(input *UpdateVirtualNodeInput) (*UpdateVirtualNodeOutput, error) { - req, out := c.UpdateVirtualNodeRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource +func (c *AppMesh) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) return out, req.Send() } -// UpdateVirtualNodeWithContext is the same as UpdateVirtualNode with the addition of +// UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateVirtualNode for details on how to use this API operation. +// See UntagResource 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 *AppMesh) UpdateVirtualNodeWithContext(ctx aws.Context, input *UpdateVirtualNodeInput, opts ...request.Option) (*UpdateVirtualNodeOutput, error) { - req, out := c.UpdateVirtualNodeRequest(input) +func (c *AppMesh) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateVirtualRouter = "UpdateVirtualRouter" +const opUpdateMesh = "UpdateMesh" -// UpdateVirtualRouterRequest generates a "aws/request.Request" representing the -// client's request for the UpdateVirtualRouter operation. The "output" return +// UpdateMeshRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMesh 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 UpdateVirtualRouter for more information on using the UpdateVirtualRouter +// See UpdateMesh for more information on using the UpdateMesh // 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 UpdateVirtualRouterRequest method. -// req, resp := client.UpdateVirtualRouterRequest(params) +// // Example sending a request using the UpdateMeshRequest method. +// req, resp := client.UpdateMeshRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter -func (c *AppMesh) UpdateVirtualRouterRequest(input *UpdateVirtualRouterInput) (req *request.Request, output *UpdateVirtualRouterOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh +func (c *AppMesh) UpdateMeshRequest(input *UpdateMeshInput) (req *request.Request, output *UpdateMeshOutput) { op := &request.Operation{ - Name: opUpdateVirtualRouter, + Name: opUpdateMesh, HTTPMethod: "PUT", - HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", + HTTPPath: "/v20190125/meshes/{meshName}", } if input == nil { - input = &UpdateVirtualRouterInput{} + input = &UpdateMeshInput{} } - output = &UpdateVirtualRouterOutput{} + output = &UpdateMeshOutput{} req = c.newRequest(op, input, output) return } -// UpdateVirtualRouter API operation for AWS App Mesh. +// UpdateMesh API operation for AWS App Mesh. // -// Updates an existing virtual router in a specified service mesh. +// Updates an existing service mesh. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS App Mesh's -// API operation UpdateVirtualRouter for usage and error information. +// API operation UpdateMesh for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2634,11 +2755,6 @@ func (c *AppMesh) UpdateVirtualRouterRequest(input *UpdateVirtualRouterInput) (r // The request processing has failed because of an unknown error, exception, // or failure. // -// * ErrCodeLimitExceededException "LimitExceededException" -// You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) -// in the AWS App Mesh User Guide. -// // * ErrCodeNotFoundException "NotFoundException" // The specified resource doesn't exist. Check your request syntax and try again. // @@ -2650,80 +2766,80 @@ func (c *AppMesh) UpdateVirtualRouterRequest(input *UpdateVirtualRouterInput) (r // for your account. For best results, use an increasing or variable sleep interval // between requests. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter -func (c *AppMesh) UpdateVirtualRouter(input *UpdateVirtualRouterInput) (*UpdateVirtualRouterOutput, error) { - req, out := c.UpdateVirtualRouterRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh +func (c *AppMesh) UpdateMesh(input *UpdateMeshInput) (*UpdateMeshOutput, error) { + req, out := c.UpdateMeshRequest(input) return out, req.Send() } -// UpdateVirtualRouterWithContext is the same as UpdateVirtualRouter with the addition of +// UpdateMeshWithContext is the same as UpdateMesh with the addition of // the ability to pass a context and additional request options. // -// See UpdateVirtualRouter for details on how to use this API operation. +// See UpdateMesh 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 *AppMesh) UpdateVirtualRouterWithContext(ctx aws.Context, input *UpdateVirtualRouterInput, opts ...request.Option) (*UpdateVirtualRouterOutput, error) { - req, out := c.UpdateVirtualRouterRequest(input) +func (c *AppMesh) UpdateMeshWithContext(ctx aws.Context, input *UpdateMeshInput, opts ...request.Option) (*UpdateMeshOutput, error) { + req, out := c.UpdateMeshRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateVirtualService = "UpdateVirtualService" +const opUpdateRoute = "UpdateRoute" -// UpdateVirtualServiceRequest generates a "aws/request.Request" representing the -// client's request for the UpdateVirtualService operation. The "output" return +// UpdateRouteRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRoute 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 UpdateVirtualService for more information on using the UpdateVirtualService +// See UpdateRoute for more information on using the UpdateRoute // 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 UpdateVirtualServiceRequest method. -// req, resp := client.UpdateVirtualServiceRequest(params) +// // Example sending a request using the UpdateRouteRequest method. +// req, resp := client.UpdateRouteRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService -func (c *AppMesh) UpdateVirtualServiceRequest(input *UpdateVirtualServiceInput) (req *request.Request, output *UpdateVirtualServiceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute +func (c *AppMesh) UpdateRouteRequest(input *UpdateRouteInput) (req *request.Request, output *UpdateRouteOutput) { op := &request.Operation{ - Name: opUpdateVirtualService, + Name: opUpdateRoute, HTTPMethod: "PUT", - HTTPPath: "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", + HTTPPath: "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", } if input == nil { - input = &UpdateVirtualServiceInput{} + input = &UpdateRouteInput{} } - output = &UpdateVirtualServiceOutput{} + output = &UpdateRouteOutput{} req = c.newRequest(op, input, output) return } -// UpdateVirtualService API operation for AWS App Mesh. +// UpdateRoute API operation for AWS App Mesh. // -// Updates an existing virtual service in a specified service mesh. +// Updates an existing route for a specified service mesh and virtual router. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS App Mesh's -// API operation UpdateVirtualService for usage and error information. +// API operation UpdateRoute for usage and error information. // // Returned Error Codes: // * ErrCodeBadRequestException "BadRequestException" @@ -2757,53 +2873,895 @@ func (c *AppMesh) UpdateVirtualServiceRequest(input *UpdateVirtualServiceInput) // for your account. For best results, use an increasing or variable sleep interval // between requests. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService -func (c *AppMesh) UpdateVirtualService(input *UpdateVirtualServiceInput) (*UpdateVirtualServiceOutput, error) { - req, out := c.UpdateVirtualServiceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute +func (c *AppMesh) UpdateRoute(input *UpdateRouteInput) (*UpdateRouteOutput, error) { + req, out := c.UpdateRouteRequest(input) return out, req.Send() } -// UpdateVirtualServiceWithContext is the same as UpdateVirtualService with the addition of +// UpdateRouteWithContext is the same as UpdateRoute with the addition of // the ability to pass a context and additional request options. // -// See UpdateVirtualService for details on how to use this API operation. +// See UpdateRoute 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 *AppMesh) UpdateVirtualServiceWithContext(ctx aws.Context, input *UpdateVirtualServiceInput, opts ...request.Option) (*UpdateVirtualServiceOutput, error) { - req, out := c.UpdateVirtualServiceRequest(input) +func (c *AppMesh) UpdateRouteWithContext(ctx aws.Context, input *UpdateRouteInput, opts ...request.Option) (*UpdateRouteOutput, error) { + req, out := c.UpdateRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateVirtualNode = "UpdateVirtualNode" + +// UpdateVirtualNodeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateVirtualNode 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 UpdateVirtualNode for more information on using the UpdateVirtualNode +// 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 UpdateVirtualNodeRequest method. +// req, resp := client.UpdateVirtualNodeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode +func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req *request.Request, output *UpdateVirtualNodeOutput) { + op := &request.Operation{ + Name: opUpdateVirtualNode, + HTTPMethod: "PUT", + HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", + } + + if input == nil { + input = &UpdateVirtualNodeInput{} + } + + output = &UpdateVirtualNodeOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateVirtualNode API operation for AWS App Mesh. +// +// Updates an existing virtual node in a specified service mesh. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation UpdateVirtualNode for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request syntax was malformed. Check your request syntax and try again. +// +// * ErrCodeConflictException "ConflictException" +// The request contains a client token that was used for a previous update resource +// call with different specifications. Try the request again with a new client +// token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You don't have permissions to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) +// in the AWS App Mesh User Guide. +// +// * ErrCodeNotFoundException "NotFoundException" +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request has failed due to a temporary failure of the service. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode +func (c *AppMesh) UpdateVirtualNode(input *UpdateVirtualNodeInput) (*UpdateVirtualNodeOutput, error) { + req, out := c.UpdateVirtualNodeRequest(input) + return out, req.Send() +} + +// UpdateVirtualNodeWithContext is the same as UpdateVirtualNode with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateVirtualNode 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 *AppMesh) UpdateVirtualNodeWithContext(ctx aws.Context, input *UpdateVirtualNodeInput, opts ...request.Option) (*UpdateVirtualNodeOutput, error) { + req, out := c.UpdateVirtualNodeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateVirtualRouter = "UpdateVirtualRouter" + +// UpdateVirtualRouterRequest generates a "aws/request.Request" representing the +// client's request for the UpdateVirtualRouter 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 UpdateVirtualRouter for more information on using the UpdateVirtualRouter +// 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 UpdateVirtualRouterRequest method. +// req, resp := client.UpdateVirtualRouterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter +func (c *AppMesh) UpdateVirtualRouterRequest(input *UpdateVirtualRouterInput) (req *request.Request, output *UpdateVirtualRouterOutput) { + op := &request.Operation{ + Name: opUpdateVirtualRouter, + HTTPMethod: "PUT", + HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", + } + + if input == nil { + input = &UpdateVirtualRouterInput{} + } + + output = &UpdateVirtualRouterOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateVirtualRouter API operation for AWS App Mesh. +// +// Updates an existing virtual router in a specified service mesh. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation UpdateVirtualRouter for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request syntax was malformed. Check your request syntax and try again. +// +// * ErrCodeConflictException "ConflictException" +// The request contains a client token that was used for a previous update resource +// call with different specifications. Try the request again with a new client +// token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You don't have permissions to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) +// in the AWS App Mesh User Guide. +// +// * ErrCodeNotFoundException "NotFoundException" +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request has failed due to a temporary failure of the service. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter +func (c *AppMesh) UpdateVirtualRouter(input *UpdateVirtualRouterInput) (*UpdateVirtualRouterOutput, error) { + req, out := c.UpdateVirtualRouterRequest(input) + return out, req.Send() +} + +// UpdateVirtualRouterWithContext is the same as UpdateVirtualRouter with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateVirtualRouter 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 *AppMesh) UpdateVirtualRouterWithContext(ctx aws.Context, input *UpdateVirtualRouterInput, opts ...request.Option) (*UpdateVirtualRouterOutput, error) { + req, out := c.UpdateVirtualRouterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// An object representing the backends that a virtual node is expected to send -// outbound traffic to. -type Backend struct { +const opUpdateVirtualService = "UpdateVirtualService" + +// UpdateVirtualServiceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateVirtualService 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 UpdateVirtualService for more information on using the UpdateVirtualService +// 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 UpdateVirtualServiceRequest method. +// req, resp := client.UpdateVirtualServiceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService +func (c *AppMesh) UpdateVirtualServiceRequest(input *UpdateVirtualServiceInput) (req *request.Request, output *UpdateVirtualServiceOutput) { + op := &request.Operation{ + Name: opUpdateVirtualService, + HTTPMethod: "PUT", + HTTPPath: "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", + } + + if input == nil { + input = &UpdateVirtualServiceInput{} + } + + output = &UpdateVirtualServiceOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateVirtualService API operation for AWS App Mesh. +// +// Updates an existing virtual service in a specified service mesh. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation UpdateVirtualService for usage and error information. +// +// Returned Error Codes: +// * ErrCodeBadRequestException "BadRequestException" +// The request syntax was malformed. Check your request syntax and try again. +// +// * ErrCodeConflictException "ConflictException" +// The request contains a client token that was used for a previous update resource +// call with different specifications. Try the request again with a new client +// token. +// +// * ErrCodeForbiddenException "ForbiddenException" +// You don't have permissions to perform this action. +// +// * ErrCodeInternalServerErrorException "InternalServerErrorException" +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * ErrCodeLimitExceededException "LimitExceededException" +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) +// in the AWS App Mesh User Guide. +// +// * ErrCodeNotFoundException "NotFoundException" +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ErrCodeServiceUnavailableException "ServiceUnavailableException" +// The request has failed due to a temporary failure of the service. +// +// * ErrCodeTooManyRequestsException "TooManyRequestsException" +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService +func (c *AppMesh) UpdateVirtualService(input *UpdateVirtualServiceInput) (*UpdateVirtualServiceOutput, error) { + req, out := c.UpdateVirtualServiceRequest(input) + return out, req.Send() +} + +// UpdateVirtualServiceWithContext is the same as UpdateVirtualService with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateVirtualService 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 *AppMesh) UpdateVirtualServiceWithContext(ctx aws.Context, input *UpdateVirtualServiceInput, opts ...request.Option) (*UpdateVirtualServiceOutput, error) { + req, out := c.UpdateVirtualServiceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// An object representing the access logging information for a virtual node. +type AccessLog struct { + _ struct{} `type:"structure"` + + // The file object to send virtual node access logs to. + File *FileAccessLog `locationName:"file" type:"structure"` +} + +// String returns the string representation +func (s AccessLog) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessLog) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AccessLog) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AccessLog"} + if s.File != nil { + if err := s.File.Validate(); err != nil { + invalidParams.AddNested("File", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFile sets the File field's value. +func (s *AccessLog) SetFile(v *FileAccessLog) *AccessLog { + s.File = v + return s +} + +// An object representing the backends that a virtual node is expected to send +// outbound traffic to. +type Backend struct { + _ struct{} `type:"structure"` + + // Specifies a virtual service to use as a backend for a virtual node. + VirtualService *VirtualServiceBackend `locationName:"virtualService" type:"structure"` +} + +// String returns the string representation +func (s Backend) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Backend) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Backend) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Backend"} + if s.VirtualService != nil { + if err := s.VirtualService.Validate(); err != nil { + invalidParams.AddNested("VirtualService", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetVirtualService sets the VirtualService field's value. +func (s *Backend) SetVirtualService(v *VirtualServiceBackend) *Backend { + s.VirtualService = v + return s +} + +type CreateMeshInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The name to use for the service mesh. + // + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // The service mesh specification to apply. + Spec *MeshSpec `locationName:"spec" type:"structure"` + + // Optional metadata that you can apply to the service mesh to assist with categorization + // and organization. Each tag consists of a key and an optional value, both + // of which you define. Tag keys can have a maximum character length of 128 + // characters, and tag values can have a maximum length of 256 characters. + Tags []*TagRef `locationName:"tags" type:"list"` +} + +// String returns the string representation +func (s CreateMeshInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMeshInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMeshInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMeshInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + 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 +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateMeshInput) SetClientToken(v string) *CreateMeshInput { + s.ClientToken = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *CreateMeshInput) SetMeshName(v string) *CreateMeshInput { + s.MeshName = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *CreateMeshInput) SetSpec(v *MeshSpec) *CreateMeshInput { + s.Spec = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateMeshInput) SetTags(v []*TagRef) *CreateMeshInput { + s.Tags = v + return s +} + +type CreateMeshOutput struct { + _ struct{} `type:"structure" payload:"Mesh"` + + // The full description of your service mesh following the create call. + // + // Mesh is a required field + Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateMeshOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMeshOutput) GoString() string { + return s.String() +} + +// SetMesh sets the Mesh field's value. +func (s *CreateMeshOutput) SetMesh(v *MeshData) *CreateMeshOutput { + s.Mesh = v + return s +} + +type CreateRouteInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The name of the service mesh to create the route in. + // + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + // The name to use for the route. + // + // RouteName is a required field + RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` + + // The route specification to apply. + // + // Spec is a required field + Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` + + // Optional metadata that you can apply to the route to assist with categorization + // and organization. Each tag consists of a key and an optional value, both + // of which you define. Tag keys can have a maximum character length of 128 + // characters, and tag values can have a maximum length of 256 characters. + Tags []*TagRef `locationName:"tags" type:"list"` + + // The name of the virtual router in which to create the route. + // + // VirtualRouterName is a required field + VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.RouteName == nil { + invalidParams.Add(request.NewErrParamRequired("RouteName")) + } + if s.RouteName != nil && len(*s.RouteName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualRouterName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + } + if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + 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 +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateRouteInput) SetClientToken(v string) *CreateRouteInput { + s.ClientToken = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *CreateRouteInput) SetMeshName(v string) *CreateRouteInput { + s.MeshName = &v + return s +} + +// SetRouteName sets the RouteName field's value. +func (s *CreateRouteInput) SetRouteName(v string) *CreateRouteInput { + s.RouteName = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *CreateRouteInput) SetSpec(v *RouteSpec) *CreateRouteInput { + s.Spec = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateRouteInput) SetTags(v []*TagRef) *CreateRouteInput { + s.Tags = v + return s +} + +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *CreateRouteInput) SetVirtualRouterName(v string) *CreateRouteInput { + s.VirtualRouterName = &v + return s +} + +type CreateRouteOutput struct { + _ struct{} `type:"structure" payload:"Route"` + + // The full description of your mesh following the create call. + // + // Route is a required field + Route *RouteData `locationName:"route" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRouteOutput) GoString() string { + return s.String() +} + +// SetRoute sets the Route field's value. +func (s *CreateRouteOutput) SetRoute(v *RouteData) *CreateRouteOutput { + s.Route = v + return s +} + +type CreateVirtualNodeInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The name of the service mesh to create the virtual node in. + // + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + // The virtual node specification to apply. + // + // Spec is a required field + Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` + + // Optional metadata that you can apply to the virtual node to assist with categorization + // and organization. Each tag consists of a key and an optional value, both + // of which you define. Tag keys can have a maximum character length of 128 + // characters, and tag values can have a maximum length of 256 characters. + Tags []*TagRef `locationName:"tags" type:"list"` + + // The name to use for the virtual node. + // + // VirtualNodeName is a required field + VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateVirtualNodeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVirtualNodeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateVirtualNodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVirtualNodeInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualNodeName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) + } + if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + 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 +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateVirtualNodeInput) SetClientToken(v string) *CreateVirtualNodeInput { + s.ClientToken = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *CreateVirtualNodeInput) SetMeshName(v string) *CreateVirtualNodeInput { + s.MeshName = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *CreateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *CreateVirtualNodeInput { + s.Spec = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateVirtualNodeInput) SetTags(v []*TagRef) *CreateVirtualNodeInput { + s.Tags = v + return s +} + +// SetVirtualNodeName sets the VirtualNodeName field's value. +func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNodeInput { + s.VirtualNodeName = &v + return s +} + +type CreateVirtualNodeOutput struct { + _ struct{} `type:"structure" payload:"VirtualNode"` + + // The full description of your virtual node following the create call. + // + // VirtualNode is a required field + VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateVirtualNodeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVirtualNodeOutput) GoString() string { + return s.String() +} + +// SetVirtualNode sets the VirtualNode field's value. +func (s *CreateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *CreateVirtualNodeOutput { + s.VirtualNode = v + return s +} + +type CreateVirtualRouterInput struct { _ struct{} `type:"structure"` - // Specifies a virtual service to use as a backend for a virtual node. - VirtualService *VirtualServiceBackend `locationName:"virtualService" type:"structure"` + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The name of the service mesh to create the virtual router in. + // + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + // The virtual router specification to apply. + // + // Spec is a required field + Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` + + // Optional metadata that you can apply to the virtual router to assist with + // categorization and organization. Each tag consists of a key and an optional + // value, both of which you define. Tag keys can have a maximum character length + // of 128 characters, and tag values can have a maximum length of 256 characters. + Tags []*TagRef `locationName:"tags" type:"list"` + + // The name to use for the virtual router. + // + // VirtualRouterName is a required field + VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s Backend) String() string { +func (s CreateVirtualRouterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Backend) GoString() string { +func (s CreateVirtualRouterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Backend) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Backend"} - if s.VirtualService != nil { - if err := s.VirtualService.Validate(); err != nil { - invalidParams.AddNested("VirtualService", err.(request.ErrInvalidParams)) +func (s *CreateVirtualRouterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVirtualRouterInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualRouterName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + } + if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + 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)) + } } } @@ -2813,38 +3771,214 @@ func (s *Backend) Validate() error { return nil } -// SetVirtualService sets the VirtualService field's value. -func (s *Backend) SetVirtualService(v *VirtualServiceBackend) *Backend { - s.VirtualService = v +// SetClientToken sets the ClientToken field's value. +func (s *CreateVirtualRouterInput) SetClientToken(v string) *CreateVirtualRouterInput { + s.ClientToken = &v return s } -type CreateMeshInput struct { +// SetMeshName sets the MeshName field's value. +func (s *CreateVirtualRouterInput) SetMeshName(v string) *CreateVirtualRouterInput { + s.MeshName = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *CreateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *CreateVirtualRouterInput { + s.Spec = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateVirtualRouterInput) SetTags(v []*TagRef) *CreateVirtualRouterInput { + s.Tags = v + return s +} + +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *CreateVirtualRouterInput) SetVirtualRouterName(v string) *CreateVirtualRouterInput { + s.VirtualRouterName = &v + return s +} + +type CreateVirtualRouterOutput struct { + _ struct{} `type:"structure" payload:"VirtualRouter"` + + // The full description of your virtual router following the create call. + // + // VirtualRouter is a required field + VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateVirtualRouterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVirtualRouterOutput) GoString() string { + return s.String() +} + +// SetVirtualRouter sets the VirtualRouter field's value. +func (s *CreateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *CreateVirtualRouterOutput { + s.VirtualRouter = v + return s +} + +type CreateVirtualServiceInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // The name to use for the service mesh. + // The name of the service mesh to create the virtual service in. + // + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + // The virtual service specification to apply. + // + // Spec is a required field + Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` + + // Optional metadata that you can apply to the virtual service to assist with + // categorization and organization. Each tag consists of a key and an optional + // value, both of which you define. Tag keys can have a maximum character length + // of 128 characters, and tag values can have a maximum length of 256 characters. + Tags []*TagRef `locationName:"tags" type:"list"` + + // The name to use for the virtual service. + // + // VirtualServiceName is a required field + VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateVirtualServiceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVirtualServiceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateVirtualServiceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVirtualServiceInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + 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 +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateVirtualServiceInput) SetClientToken(v string) *CreateVirtualServiceInput { + s.ClientToken = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *CreateVirtualServiceInput) SetMeshName(v string) *CreateVirtualServiceInput { + s.MeshName = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *CreateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *CreateVirtualServiceInput { + s.Spec = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateVirtualServiceInput) SetTags(v []*TagRef) *CreateVirtualServiceInput { + s.Tags = v + return s +} + +// SetVirtualServiceName sets the VirtualServiceName field's value. +func (s *CreateVirtualServiceInput) SetVirtualServiceName(v string) *CreateVirtualServiceInput { + s.VirtualServiceName = &v + return s +} + +type CreateVirtualServiceOutput struct { + _ struct{} `type:"structure" payload:"VirtualService"` + + // The full description of your virtual service following the create call. + // + // VirtualService is a required field + VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateVirtualServiceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVirtualServiceOutput) GoString() string { + return s.String() +} + +// SetVirtualService sets the VirtualService field's value. +func (s *CreateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *CreateVirtualServiceOutput { + s.VirtualService = v + return s +} + +type DeleteMeshInput struct { + _ struct{} `type:"structure"` + + // The name of the service mesh to delete. // // MeshName is a required field - MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateMeshInput) String() string { +func (s DeleteMeshInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateMeshInput) GoString() string { +func (s DeleteMeshInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateMeshInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateMeshInput"} +func (s *DeleteMeshInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMeshInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -2858,84 +3992,69 @@ func (s *CreateMeshInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *CreateMeshInput) SetClientToken(v string) *CreateMeshInput { - s.ClientToken = &v - return s -} - // SetMeshName sets the MeshName field's value. -func (s *CreateMeshInput) SetMeshName(v string) *CreateMeshInput { +func (s *DeleteMeshInput) SetMeshName(v string) *DeleteMeshInput { s.MeshName = &v return s } -type CreateMeshOutput struct { +type DeleteMeshOutput struct { _ struct{} `type:"structure" payload:"Mesh"` - // The full description of your service mesh following the create call. + // The service mesh that was deleted. // // Mesh is a required field Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` } // String returns the string representation -func (s CreateMeshOutput) String() string { +func (s DeleteMeshOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateMeshOutput) GoString() string { +func (s DeleteMeshOutput) GoString() string { return s.String() } // SetMesh sets the Mesh field's value. -func (s *CreateMeshOutput) SetMesh(v *MeshData) *CreateMeshOutput { +func (s *DeleteMeshOutput) SetMesh(v *MeshData) *DeleteMeshOutput { s.Mesh = v return s } -type CreateRouteInput struct { +type DeleteRouteInput struct { _ struct{} `type:"structure"` - // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // The name of the service mesh in which to create the route. + // The name of the service mesh to delete the route in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // The name to use for the route. + // The name of the route to delete. // // RouteName is a required field - RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` - - // The route specification to apply. - // - // Spec is a required field - Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` + RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` - // The name of the virtual router in which to create the route. + // The name of the virtual router to delete the route in. // // VirtualRouterName is a required field VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateRouteInput) String() string { +func (s DeleteRouteInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRouteInput) GoString() string { +func (s DeleteRouteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateRouteInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"} +func (s *DeleteRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -2948,20 +4067,12 @@ func (s *CreateRouteInput) Validate() error { if s.RouteName != nil && len(*s.RouteName) < 1 { invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) } - if s.Spec == nil { - invalidParams.Add(request.NewErrParamRequired("Spec")) - } if s.VirtualRouterName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -2969,117 +4080,88 @@ func (s *CreateRouteInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *CreateRouteInput) SetClientToken(v string) *CreateRouteInput { - s.ClientToken = &v - return s -} - // SetMeshName sets the MeshName field's value. -func (s *CreateRouteInput) SetMeshName(v string) *CreateRouteInput { +func (s *DeleteRouteInput) SetMeshName(v string) *DeleteRouteInput { s.MeshName = &v return s } // SetRouteName sets the RouteName field's value. -func (s *CreateRouteInput) SetRouteName(v string) *CreateRouteInput { +func (s *DeleteRouteInput) SetRouteName(v string) *DeleteRouteInput { s.RouteName = &v return s } -// SetSpec sets the Spec field's value. -func (s *CreateRouteInput) SetSpec(v *RouteSpec) *CreateRouteInput { - s.Spec = v - return s -} - // SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *CreateRouteInput) SetVirtualRouterName(v string) *CreateRouteInput { +func (s *DeleteRouteInput) SetVirtualRouterName(v string) *DeleteRouteInput { s.VirtualRouterName = &v return s } -type CreateRouteOutput struct { +type DeleteRouteOutput struct { _ struct{} `type:"structure" payload:"Route"` - // The full description of your mesh following the create call. + // The route that was deleted. // // Route is a required field Route *RouteData `locationName:"route" type:"structure" required:"true"` } // String returns the string representation -func (s CreateRouteOutput) String() string { +func (s DeleteRouteOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRouteOutput) GoString() string { +func (s DeleteRouteOutput) GoString() string { return s.String() } // SetRoute sets the Route field's value. -func (s *CreateRouteOutput) SetRoute(v *RouteData) *CreateRouteOutput { +func (s *DeleteRouteOutput) SetRoute(v *RouteData) *DeleteRouteOutput { s.Route = v return s } -type CreateVirtualNodeInput struct { +type DeleteVirtualNodeInput struct { _ struct{} `type:"structure"` - // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // The name of the service mesh in which to create the virtual node. + // The name of the service mesh to delete the virtual node in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // The virtual node specification to apply. - // - // Spec is a required field - Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` - - // The name to use for the virtual node. + // The name of the virtual node to delete. // // VirtualNodeName is a required field - VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` + VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateVirtualNodeInput) String() string { +func (s DeleteVirtualNodeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateVirtualNodeInput) GoString() string { +func (s DeleteVirtualNodeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateVirtualNodeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateVirtualNodeInput"} +func (s *DeleteVirtualNodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualNodeInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } - if s.Spec == nil { - invalidParams.Add(request.NewErrParamRequired("Spec")) - } if s.VirtualNodeName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) } if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -3087,111 +4169,82 @@ func (s *CreateVirtualNodeInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *CreateVirtualNodeInput) SetClientToken(v string) *CreateVirtualNodeInput { - s.ClientToken = &v - return s -} - // SetMeshName sets the MeshName field's value. -func (s *CreateVirtualNodeInput) SetMeshName(v string) *CreateVirtualNodeInput { +func (s *DeleteVirtualNodeInput) SetMeshName(v string) *DeleteVirtualNodeInput { s.MeshName = &v return s } -// SetSpec sets the Spec field's value. -func (s *CreateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *CreateVirtualNodeInput { - s.Spec = v - return s -} - // SetVirtualNodeName sets the VirtualNodeName field's value. -func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNodeInput { +func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNodeInput { s.VirtualNodeName = &v return s } -type CreateVirtualNodeOutput struct { +type DeleteVirtualNodeOutput struct { _ struct{} `type:"structure" payload:"VirtualNode"` - // The full description of your virtual node following the create call. + // The virtual node that was deleted. // // VirtualNode is a required field VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` } // String returns the string representation -func (s CreateVirtualNodeOutput) String() string { +func (s DeleteVirtualNodeOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateVirtualNodeOutput) GoString() string { +func (s DeleteVirtualNodeOutput) GoString() string { return s.String() } // SetVirtualNode sets the VirtualNode field's value. -func (s *CreateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *CreateVirtualNodeOutput { +func (s *DeleteVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DeleteVirtualNodeOutput { s.VirtualNode = v return s } -type CreateVirtualRouterInput struct { +type DeleteVirtualRouterInput struct { _ struct{} `type:"structure"` - // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // The name of the service mesh to create the virtual router in. + // The name of the service mesh to delete the virtual router in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // The virtual router specification to apply. - // - // Spec is a required field - Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` - - // The name to use for the virtual router. + // The name of the virtual router to delete. // // VirtualRouterName is a required field - VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateVirtualRouterInput) String() string { +func (s DeleteVirtualRouterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateVirtualRouterInput) GoString() string { +func (s DeleteVirtualRouterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateVirtualRouterInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateVirtualRouterInput"} +func (s *DeleteVirtualRouterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualRouterInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } - if s.Spec == nil { - invalidParams.Add(request.NewErrParamRequired("Spec")) - } if s.VirtualRouterName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -3199,107 +4252,81 @@ func (s *CreateVirtualRouterInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *CreateVirtualRouterInput) SetClientToken(v string) *CreateVirtualRouterInput { - s.ClientToken = &v - return s -} - // SetMeshName sets the MeshName field's value. -func (s *CreateVirtualRouterInput) SetMeshName(v string) *CreateVirtualRouterInput { +func (s *DeleteVirtualRouterInput) SetMeshName(v string) *DeleteVirtualRouterInput { s.MeshName = &v return s } -// SetSpec sets the Spec field's value. -func (s *CreateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *CreateVirtualRouterInput { - s.Spec = v - return s -} - // SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *CreateVirtualRouterInput) SetVirtualRouterName(v string) *CreateVirtualRouterInput { +func (s *DeleteVirtualRouterInput) SetVirtualRouterName(v string) *DeleteVirtualRouterInput { s.VirtualRouterName = &v return s } -type CreateVirtualRouterOutput struct { +type DeleteVirtualRouterOutput struct { _ struct{} `type:"structure" payload:"VirtualRouter"` - // The full description of your virtual router following the create call. + // The virtual router that was deleted. // // VirtualRouter is a required field VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` } // String returns the string representation -func (s CreateVirtualRouterOutput) String() string { +func (s DeleteVirtualRouterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateVirtualRouterOutput) GoString() string { +func (s DeleteVirtualRouterOutput) GoString() string { return s.String() } // SetVirtualRouter sets the VirtualRouter field's value. -func (s *CreateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *CreateVirtualRouterOutput { +func (s *DeleteVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *DeleteVirtualRouterOutput { s.VirtualRouter = v return s } -type CreateVirtualServiceInput struct { +type DeleteVirtualServiceInput struct { _ struct{} `type:"structure"` - // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // The name of the service mesh in which to create the virtual service. + // The name of the service mesh to delete the virtual service in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // The virtual service specification to apply. - // - // Spec is a required field - Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` - - // The name to use for the virtual service. + // The name of the virtual service to delete. // // VirtualServiceName is a required field - VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` + VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` } // String returns the string representation -func (s CreateVirtualServiceInput) String() string { +func (s DeleteVirtualServiceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateVirtualServiceInput) GoString() string { +func (s DeleteVirtualServiceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateVirtualServiceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateVirtualServiceInput"} +func (s *DeleteVirtualServiceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualServiceInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } - if s.Spec == nil { - invalidParams.Add(request.NewErrParamRequired("Spec")) - } if s.VirtualServiceName == nil { invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) - } + if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) } if invalidParams.Len() > 0 { @@ -3308,77 +4335,65 @@ func (s *CreateVirtualServiceInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *CreateVirtualServiceInput) SetClientToken(v string) *CreateVirtualServiceInput { - s.ClientToken = &v - return s -} - // SetMeshName sets the MeshName field's value. -func (s *CreateVirtualServiceInput) SetMeshName(v string) *CreateVirtualServiceInput { +func (s *DeleteVirtualServiceInput) SetMeshName(v string) *DeleteVirtualServiceInput { s.MeshName = &v return s } -// SetSpec sets the Spec field's value. -func (s *CreateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *CreateVirtualServiceInput { - s.Spec = v - return s -} - // SetVirtualServiceName sets the VirtualServiceName field's value. -func (s *CreateVirtualServiceInput) SetVirtualServiceName(v string) *CreateVirtualServiceInput { +func (s *DeleteVirtualServiceInput) SetVirtualServiceName(v string) *DeleteVirtualServiceInput { s.VirtualServiceName = &v return s } -type CreateVirtualServiceOutput struct { +type DeleteVirtualServiceOutput struct { _ struct{} `type:"structure" payload:"VirtualService"` - // The full description of your virtual service following the create call. + // The virtual service that was deleted. // // VirtualService is a required field VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` } // String returns the string representation -func (s CreateVirtualServiceOutput) String() string { +func (s DeleteVirtualServiceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateVirtualServiceOutput) GoString() string { +func (s DeleteVirtualServiceOutput) GoString() string { return s.String() } // SetVirtualService sets the VirtualService field's value. -func (s *CreateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *CreateVirtualServiceOutput { +func (s *DeleteVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *DeleteVirtualServiceOutput { s.VirtualService = v return s } -type DeleteMeshInput struct { +type DescribeMeshInput struct { _ struct{} `type:"structure"` - // The name of the service mesh to delete. + // The name of the service mesh to describe. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteMeshInput) String() string { +func (s DescribeMeshInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteMeshInput) GoString() string { +func (s DescribeMeshInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteMeshInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteMeshInput"} +func (s *DescribeMeshInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMeshInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -3393,68 +4408,68 @@ func (s *DeleteMeshInput) Validate() error { } // SetMeshName sets the MeshName field's value. -func (s *DeleteMeshInput) SetMeshName(v string) *DeleteMeshInput { +func (s *DescribeMeshInput) SetMeshName(v string) *DescribeMeshInput { s.MeshName = &v return s } -type DeleteMeshOutput struct { +type DescribeMeshOutput struct { _ struct{} `type:"structure" payload:"Mesh"` - // The service mesh that was deleted. + // The full description of your service mesh. // // Mesh is a required field Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` } // String returns the string representation -func (s DeleteMeshOutput) String() string { +func (s DescribeMeshOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteMeshOutput) GoString() string { +func (s DescribeMeshOutput) GoString() string { return s.String() } // SetMesh sets the Mesh field's value. -func (s *DeleteMeshOutput) SetMesh(v *MeshData) *DeleteMeshOutput { +func (s *DescribeMeshOutput) SetMesh(v *MeshData) *DescribeMeshOutput { s.Mesh = v return s } -type DeleteRouteInput struct { +type DescribeRouteInput struct { _ struct{} `type:"structure"` - // The name of the service mesh to delete the route in. + // The name of the service mesh that the route resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // The name of the route to delete. + // The name of the route to describe. // // RouteName is a required field RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` - // The name of the virtual router to delete the route in. + // The name of the virtual router that the route is associated with. // // VirtualRouterName is a required field VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteRouteInput) String() string { +func (s DescribeRouteInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteRouteInput) GoString() string { +func (s DescribeRouteInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteRouteInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"} +func (s *DescribeRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeRouteInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -3481,75 +4496,75 @@ func (s *DeleteRouteInput) Validate() error { } // SetMeshName sets the MeshName field's value. -func (s *DeleteRouteInput) SetMeshName(v string) *DeleteRouteInput { +func (s *DescribeRouteInput) SetMeshName(v string) *DescribeRouteInput { s.MeshName = &v return s } // SetRouteName sets the RouteName field's value. -func (s *DeleteRouteInput) SetRouteName(v string) *DeleteRouteInput { +func (s *DescribeRouteInput) SetRouteName(v string) *DescribeRouteInput { s.RouteName = &v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *DeleteRouteInput) SetVirtualRouterName(v string) *DeleteRouteInput { +func (s *DescribeRouteInput) SetVirtualRouterName(v string) *DescribeRouteInput { s.VirtualRouterName = &v return s } -type DeleteRouteOutput struct { +type DescribeRouteOutput struct { _ struct{} `type:"structure" payload:"Route"` - // The route that was deleted. + // The full description of your route. // // Route is a required field Route *RouteData `locationName:"route" type:"structure" required:"true"` } // String returns the string representation -func (s DeleteRouteOutput) String() string { +func (s DescribeRouteOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteRouteOutput) GoString() string { +func (s DescribeRouteOutput) GoString() string { return s.String() } // SetRoute sets the Route field's value. -func (s *DeleteRouteOutput) SetRoute(v *RouteData) *DeleteRouteOutput { +func (s *DescribeRouteOutput) SetRoute(v *RouteData) *DescribeRouteOutput { s.Route = v return s } -type DeleteVirtualNodeInput struct { +type DescribeVirtualNodeInput struct { _ struct{} `type:"structure"` - // The name of the service mesh to delete the virtual node in. + // The name of the service mesh that the virtual node resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // The name of the virtual node to delete. + // The name of the virtual node to describe. // // VirtualNodeName is a required field VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteVirtualNodeInput) String() string { +func (s DescribeVirtualNodeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVirtualNodeInput) GoString() string { +func (s DescribeVirtualNodeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteVirtualNodeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualNodeInput"} +func (s *DescribeVirtualNodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualNodeInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -3570,69 +4585,69 @@ func (s *DeleteVirtualNodeInput) Validate() error { } // SetMeshName sets the MeshName field's value. -func (s *DeleteVirtualNodeInput) SetMeshName(v string) *DeleteVirtualNodeInput { +func (s *DescribeVirtualNodeInput) SetMeshName(v string) *DescribeVirtualNodeInput { s.MeshName = &v return s } // SetVirtualNodeName sets the VirtualNodeName field's value. -func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNodeInput { +func (s *DescribeVirtualNodeInput) SetVirtualNodeName(v string) *DescribeVirtualNodeInput { s.VirtualNodeName = &v return s } -type DeleteVirtualNodeOutput struct { +type DescribeVirtualNodeOutput struct { _ struct{} `type:"structure" payload:"VirtualNode"` - // The virtual node that was deleted. + // The full description of your virtual node. // // VirtualNode is a required field VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` } // String returns the string representation -func (s DeleteVirtualNodeOutput) String() string { +func (s DescribeVirtualNodeOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVirtualNodeOutput) GoString() string { +func (s DescribeVirtualNodeOutput) GoString() string { return s.String() } // SetVirtualNode sets the VirtualNode field's value. -func (s *DeleteVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DeleteVirtualNodeOutput { +func (s *DescribeVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DescribeVirtualNodeOutput { s.VirtualNode = v return s } -type DeleteVirtualRouterInput struct { +type DescribeVirtualRouterInput struct { _ struct{} `type:"structure"` - // The name of the service mesh to delete the virtual router in. + // The name of the service mesh that the virtual router resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // The name of the virtual router to delete. + // The name of the virtual router to describe. // // VirtualRouterName is a required field VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteVirtualRouterInput) String() string { +func (s DescribeVirtualRouterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVirtualRouterInput) GoString() string { +func (s DescribeVirtualRouterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteVirtualRouterInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualRouterInput"} +func (s *DescribeVirtualRouterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualRouterInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -3653,69 +4668,69 @@ func (s *DeleteVirtualRouterInput) Validate() error { } // SetMeshName sets the MeshName field's value. -func (s *DeleteVirtualRouterInput) SetMeshName(v string) *DeleteVirtualRouterInput { +func (s *DescribeVirtualRouterInput) SetMeshName(v string) *DescribeVirtualRouterInput { s.MeshName = &v return s } // SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *DeleteVirtualRouterInput) SetVirtualRouterName(v string) *DeleteVirtualRouterInput { +func (s *DescribeVirtualRouterInput) SetVirtualRouterName(v string) *DescribeVirtualRouterInput { s.VirtualRouterName = &v return s } -type DeleteVirtualRouterOutput struct { +type DescribeVirtualRouterOutput struct { _ struct{} `type:"structure" payload:"VirtualRouter"` - // The virtual router that was deleted. + // The full description of your virtual router. // // VirtualRouter is a required field VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` } // String returns the string representation -func (s DeleteVirtualRouterOutput) String() string { +func (s DescribeVirtualRouterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVirtualRouterOutput) GoString() string { +func (s DescribeVirtualRouterOutput) GoString() string { return s.String() } // SetVirtualRouter sets the VirtualRouter field's value. -func (s *DeleteVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *DeleteVirtualRouterOutput { +func (s *DescribeVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *DescribeVirtualRouterOutput { s.VirtualRouter = v return s } -type DeleteVirtualServiceInput struct { +type DescribeVirtualServiceInput struct { _ struct{} `type:"structure"` - // The name of the service mesh to delete the virtual service in. + // The name of the service mesh that the virtual service resides in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // The name of the virtual service to delete. + // The name of the virtual service to describe. // // VirtualServiceName is a required field VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteVirtualServiceInput) String() string { +func (s DescribeVirtualServiceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVirtualServiceInput) GoString() string { +func (s DescribeVirtualServiceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteVirtualServiceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualServiceInput"} +func (s *DescribeVirtualServiceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualServiceInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -3736,69 +4751,68 @@ func (s *DeleteVirtualServiceInput) Validate() error { } // SetMeshName sets the MeshName field's value. -func (s *DeleteVirtualServiceInput) SetMeshName(v string) *DeleteVirtualServiceInput { +func (s *DescribeVirtualServiceInput) SetMeshName(v string) *DescribeVirtualServiceInput { s.MeshName = &v return s } // SetVirtualServiceName sets the VirtualServiceName field's value. -func (s *DeleteVirtualServiceInput) SetVirtualServiceName(v string) *DeleteVirtualServiceInput { +func (s *DescribeVirtualServiceInput) SetVirtualServiceName(v string) *DescribeVirtualServiceInput { s.VirtualServiceName = &v return s } -type DeleteVirtualServiceOutput struct { +type DescribeVirtualServiceOutput struct { _ struct{} `type:"structure" payload:"VirtualService"` - // The virtual service that was deleted. + // The full description of your virtual service. // // VirtualService is a required field VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` } // String returns the string representation -func (s DeleteVirtualServiceOutput) String() string { +func (s DescribeVirtualServiceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVirtualServiceOutput) GoString() string { +func (s DescribeVirtualServiceOutput) GoString() string { return s.String() } // SetVirtualService sets the VirtualService field's value. -func (s *DeleteVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *DeleteVirtualServiceOutput { +func (s *DescribeVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *DescribeVirtualServiceOutput { s.VirtualService = v return s } -type DescribeMeshInput struct { +// An object representing the DNS service discovery information for your virtual +// node. +type DnsServiceDiscovery struct { _ struct{} `type:"structure"` - // The name of the service mesh to describe. + // Specifies the DNS service discovery hostname for the virtual node. // - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + // Hostname is a required field + Hostname *string `locationName:"hostname" type:"string" required:"true"` } // String returns the string representation -func (s DescribeMeshInput) String() string { +func (s DnsServiceDiscovery) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeMeshInput) GoString() string { +func (s DnsServiceDiscovery) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeMeshInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeMeshInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) +func (s *DnsServiceDiscovery) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DnsServiceDiscovery"} + if s.Hostname == nil { + invalidParams.Add(request.NewErrParamRequired("Hostname")) } if invalidParams.Len() > 0 { @@ -3807,175 +4821,188 @@ func (s *DescribeMeshInput) Validate() error { return nil } -// SetMeshName sets the MeshName field's value. -func (s *DescribeMeshInput) SetMeshName(v string) *DescribeMeshInput { - s.MeshName = &v - return s -} - -type DescribeMeshOutput struct { - _ struct{} `type:"structure" payload:"Mesh"` - - // The full description of your service mesh. - // - // Mesh is a required field - Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` -} - -// String returns the string representation -func (s DescribeMeshOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeMeshOutput) GoString() string { - return s.String() -} - -// SetMesh sets the Mesh field's value. -func (s *DescribeMeshOutput) SetMesh(v *MeshData) *DescribeMeshOutput { - s.Mesh = v +// SetHostname sets the Hostname field's value. +func (s *DnsServiceDiscovery) SetHostname(v string) *DnsServiceDiscovery { + s.Hostname = &v return s } -type DescribeRouteInput struct { +// An object representing the egress filter rules for a service mesh. +type EgressFilter struct { _ struct{} `type:"structure"` - // The name of the service mesh that the route resides in. - // - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - // The name of the route to describe. - // - // RouteName is a required field - RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` - - // The name of the virtual router that the route is associated with. + // The egress filter type. By default, the type is DROP_ALL, which allows egress + // only from virtual nodes to other defined resources in the service mesh (and + // any traffic to *.amazonaws.com for AWS API calls). You can set the egress + // filter type to ALLOW_ALL to allow egress to any endpoint inside or outside + // of the service mesh. // - // VirtualRouterName is a required field - VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"EgressFilterType"` } // String returns the string representation -func (s DescribeRouteInput) String() string { +func (s EgressFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeRouteInput) GoString() string { +func (s EgressFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeRouteInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeRouteInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.RouteName == nil { - invalidParams.Add(request.NewErrParamRequired("RouteName")) - } - if s.RouteName != nil && len(*s.RouteName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) - } - if s.VirtualRouterName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) - } - if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) +func (s *EgressFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EgressFilter"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { return invalidParams } - return nil -} - -// SetMeshName sets the MeshName field's value. -func (s *DescribeRouteInput) SetMeshName(v string) *DescribeRouteInput { - s.MeshName = &v - return s -} - -// SetRouteName sets the RouteName field's value. -func (s *DescribeRouteInput) SetRouteName(v string) *DescribeRouteInput { - s.RouteName = &v - return s + return nil } -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *DescribeRouteInput) SetVirtualRouterName(v string) *DescribeRouteInput { - s.VirtualRouterName = &v +// SetType sets the Type field's value. +func (s *EgressFilter) SetType(v string) *EgressFilter { + s.Type = &v return s } -type DescribeRouteOutput struct { - _ struct{} `type:"structure" payload:"Route"` +// An object representing an access log file. +type FileAccessLog struct { + _ struct{} `type:"structure"` - // The full description of your route. + // The file path to write access logs to. You can use /dev/stdout to send access + // logs to standard out and configure your Envoy container to use a log driver, + // such as awslogs, to export the access logs to a log storage service such + // as Amazon CloudWatch Logs. You can also specify a path in the Envoy container's + // file system to write the files to disk. // - // Route is a required field - Route *RouteData `locationName:"route" type:"structure" required:"true"` + // The Envoy process must have write permissions to the path that you specify + // here. Otherwise, Envoy fails to bootstrap properly. + // + // Path is a required field + Path *string `locationName:"path" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DescribeRouteOutput) String() string { +func (s FileAccessLog) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeRouteOutput) GoString() string { +func (s FileAccessLog) GoString() string { return s.String() } -// SetRoute sets the Route field's value. -func (s *DescribeRouteOutput) SetRoute(v *RouteData) *DescribeRouteOutput { - s.Route = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *FileAccessLog) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FileAccessLog"} + if s.Path == nil { + invalidParams.Add(request.NewErrParamRequired("Path")) + } + if s.Path != nil && len(*s.Path) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Path", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPath sets the Path field's value. +func (s *FileAccessLog) SetPath(v string) *FileAccessLog { + s.Path = &v return s } -type DescribeVirtualNodeInput struct { +// An object representing the health check policy for a virtual node's listener. +type HealthCheckPolicy struct { _ struct{} `type:"structure"` - // The name of the service mesh that the virtual node resides in. + // The number of consecutive successful health checks that must occur before + // declaring listener healthy. // - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + // HealthyThreshold is a required field + HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` - // The name of the virtual node to describe. + // The time period in milliseconds between each health check execution. // - // VirtualNodeName is a required field - VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` + // IntervalMillis is a required field + IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` + + // The destination path for the health check request. This is required only + // if the specified protocol is HTTP. If the protocol is TCP, this parameter + // is ignored. + Path *string `locationName:"path" type:"string"` + + // The destination port for the health check request. This port must match the + // port defined in the PortMapping for the listener. + Port *int64 `locationName:"port" min:"1" type:"integer"` + + // The protocol for the health check request. + // + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` + + // The amount of time to wait when receiving a response from the health check, + // in milliseconds. + // + // TimeoutMillis is a required field + TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` + + // The number of consecutive failed health checks that must occur before declaring + // a virtual node unhealthy. + // + // UnhealthyThreshold is a required field + UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` } // String returns the string representation -func (s DescribeVirtualNodeInput) String() string { +func (s HealthCheckPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeVirtualNodeInput) GoString() string { +func (s HealthCheckPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeVirtualNodeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualNodeInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) +func (s *HealthCheckPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"} + if s.HealthyThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { + invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) } - if s.VirtualNodeName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) + if s.IntervalMillis == nil { + invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) } - if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) + if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { + invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.TimeoutMillis == nil { + invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) + } + if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) + } + if s.UnhealthyThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) + } + if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { + invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) } if invalidParams.Len() > 0 { @@ -3984,81 +5011,91 @@ func (s *DescribeVirtualNodeInput) Validate() error { return nil } -// SetMeshName sets the MeshName field's value. -func (s *DescribeVirtualNodeInput) SetMeshName(v string) *DescribeVirtualNodeInput { - s.MeshName = &v +// SetHealthyThreshold sets the HealthyThreshold field's value. +func (s *HealthCheckPolicy) SetHealthyThreshold(v int64) *HealthCheckPolicy { + s.HealthyThreshold = &v return s } -// SetVirtualNodeName sets the VirtualNodeName field's value. -func (s *DescribeVirtualNodeInput) SetVirtualNodeName(v string) *DescribeVirtualNodeInput { - s.VirtualNodeName = &v +// SetIntervalMillis sets the IntervalMillis field's value. +func (s *HealthCheckPolicy) SetIntervalMillis(v int64) *HealthCheckPolicy { + s.IntervalMillis = &v return s } -type DescribeVirtualNodeOutput struct { - _ struct{} `type:"structure" payload:"VirtualNode"` +// SetPath sets the Path field's value. +func (s *HealthCheckPolicy) SetPath(v string) *HealthCheckPolicy { + s.Path = &v + return s +} - // The full description of your virtual node. - // - // VirtualNode is a required field - VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` +// SetPort sets the Port field's value. +func (s *HealthCheckPolicy) SetPort(v int64) *HealthCheckPolicy { + s.Port = &v + return s } -// String returns the string representation -func (s DescribeVirtualNodeOutput) String() string { - return awsutil.Prettify(s) +// SetProtocol sets the Protocol field's value. +func (s *HealthCheckPolicy) SetProtocol(v string) *HealthCheckPolicy { + s.Protocol = &v + return s } -// GoString returns the string representation -func (s DescribeVirtualNodeOutput) GoString() string { - return s.String() +// SetTimeoutMillis sets the TimeoutMillis field's value. +func (s *HealthCheckPolicy) SetTimeoutMillis(v int64) *HealthCheckPolicy { + s.TimeoutMillis = &v + return s } -// SetVirtualNode sets the VirtualNode field's value. -func (s *DescribeVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DescribeVirtualNodeOutput { - s.VirtualNode = v +// SetUnhealthyThreshold sets the UnhealthyThreshold field's value. +func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy { + s.UnhealthyThreshold = &v return s } -type DescribeVirtualRouterInput struct { +// An object representing the HTTP routing specification for a route. +type HttpRoute struct { _ struct{} `type:"structure"` - // The name of the service mesh that the virtual router resides in. + // The action to take if a match is determined. // - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + // Action is a required field + Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"` - // The name of the virtual router to describe. + // The criteria for determining an HTTP request match. // - // VirtualRouterName is a required field - VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // Match is a required field + Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"` } // String returns the string representation -func (s DescribeVirtualRouterInput) String() string { +func (s HttpRoute) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeVirtualRouterInput) GoString() string { +func (s HttpRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeVirtualRouterInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualRouterInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) +func (s *HttpRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRoute"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + if s.Match == nil { + invalidParams.Add(request.NewErrParamRequired("Match")) } - if s.VirtualRouterName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } } - if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -4067,81 +5104,103 @@ func (s *DescribeVirtualRouterInput) Validate() error { return nil } -// SetMeshName sets the MeshName field's value. -func (s *DescribeVirtualRouterInput) SetMeshName(v string) *DescribeVirtualRouterInput { - s.MeshName = &v +// SetAction sets the Action field's value. +func (s *HttpRoute) SetAction(v *HttpRouteAction) *HttpRoute { + s.Action = v return s } -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *DescribeVirtualRouterInput) SetVirtualRouterName(v string) *DescribeVirtualRouterInput { - s.VirtualRouterName = &v +// SetMatch sets the Match field's value. +func (s *HttpRoute) SetMatch(v *HttpRouteMatch) *HttpRoute { + s.Match = v return s } -type DescribeVirtualRouterOutput struct { - _ struct{} `type:"structure" payload:"VirtualRouter"` +// An object representing the traffic distribution requirements for matched +// HTTP requests. +type HttpRouteAction struct { + _ struct{} `type:"structure"` - // The full description of your virtual router. + // The targets that traffic is routed to when a request matches the route. You + // can specify one or more targets and their relative weights to distribute + // traffic with. // - // VirtualRouter is a required field - VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` + // WeightedTargets is a required field + WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` } // String returns the string representation -func (s DescribeVirtualRouterOutput) String() string { +func (s HttpRouteAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeVirtualRouterOutput) GoString() string { +func (s HttpRouteAction) GoString() string { return s.String() } -// SetVirtualRouter sets the VirtualRouter field's value. -func (s *DescribeVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *DescribeVirtualRouterOutput { - s.VirtualRouter = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRouteAction"} + if s.WeightedTargets == nil { + invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) + } + if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) + } + if s.WeightedTargets != nil { + for i, v := range s.WeightedTargets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWeightedTargets sets the WeightedTargets field's value. +func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteAction { + s.WeightedTargets = v return s } -type DescribeVirtualServiceInput struct { +// An object representing the requirements for a route to match HTTP requests +// for a virtual router. +type HttpRouteMatch struct { _ struct{} `type:"structure"` - // The name of the service mesh that the virtual service resides in. - // - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - // The name of the virtual service to describe. + // Specifies the path to match requests with. This parameter must always start + // with /, which by itself matches all requests to the virtual service name. + // You can also match for path-based routing of requests. For example, if your + // virtual service name is my-service.local and you want the route to match + // requests to my-service.local/metrics, your prefix should be /metrics. // - // VirtualServiceName is a required field - VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` + // Prefix is a required field + Prefix *string `locationName:"prefix" type:"string" required:"true"` } // String returns the string representation -func (s DescribeVirtualServiceInput) String() string { +func (s HttpRouteMatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeVirtualServiceInput) GoString() string { +func (s HttpRouteMatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeVirtualServiceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualServiceInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.VirtualServiceName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) - } - if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) +func (s *HttpRouteMatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"} + if s.Prefix == nil { + invalidParams.Add(request.NewErrParamRequired("Prefix")) } if invalidParams.Len() > 0 { @@ -4150,167 +5209,162 @@ func (s *DescribeVirtualServiceInput) Validate() error { return nil } -// SetMeshName sets the MeshName field's value. -func (s *DescribeVirtualServiceInput) SetMeshName(v string) *DescribeVirtualServiceInput { - s.MeshName = &v +// SetPrefix sets the Prefix field's value. +func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch { + s.Prefix = &v return s } -// SetVirtualServiceName sets the VirtualServiceName field's value. -func (s *DescribeVirtualServiceInput) SetVirtualServiceName(v string) *DescribeVirtualServiceInput { - s.VirtualServiceName = &v - return s -} +type ListMeshesInput struct { + _ struct{} `type:"structure"` -type DescribeVirtualServiceOutput struct { - _ struct{} `type:"structure" payload:"VirtualService"` + // The maximum number of results returned by ListMeshes in paginated output. + // When you use this parameter, ListMeshes returns only limit results in a single + // page along with a nextToken response element. You can see the remaining results + // of the initial request by sending another ListMeshes request with the returned + // nextToken value. This value can be between 1 and 100. If you don't use this + // parameter, ListMeshes returns up to 100 results and a nextToken value if + // applicable. + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - // The full description of your virtual service. + // The nextToken value returned from a previous paginated ListMeshes request + // where limit was used and the results exceeded the value of that parameter. + // Pagination continues from the end of the previous results that returned the + // nextToken value. // - // VirtualService is a required field - VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` + // This token should be treated as an opaque identifier that is used only to + // retrieve the next items in a list and not for other programmatic purposes. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s DescribeVirtualServiceOutput) String() string { +func (s ListMeshesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeVirtualServiceOutput) GoString() string { +func (s ListMeshesInput) GoString() string { return s.String() } -// SetVirtualService sets the VirtualService field's value. -func (s *DescribeVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *DescribeVirtualServiceOutput { - s.VirtualService = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMeshesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMeshesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListMeshesInput) SetLimit(v int64) *ListMeshesInput { + s.Limit = &v return s } -// An object representing the DNS service discovery information for your virtual -// node. -type DnsServiceDiscovery struct { +// SetNextToken sets the NextToken field's value. +func (s *ListMeshesInput) SetNextToken(v string) *ListMeshesInput { + s.NextToken = &v + return s +} + +type ListMeshesOutput struct { _ struct{} `type:"structure"` - // Specifies the DNS service discovery hostname for the virtual node. + // The list of existing service meshes. // - // Hostname is a required field - Hostname *string `locationName:"hostname" type:"string" required:"true"` + // Meshes is a required field + Meshes []*MeshRef `locationName:"meshes" type:"list" required:"true"` + + // The nextToken value to include in a future ListMeshes request. When the results + // of a ListMeshes request exceed limit, you can use this value to retrieve + // the next page of results. This value is null when there are no more results + // to return. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s DnsServiceDiscovery) String() string { +func (s ListMeshesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DnsServiceDiscovery) GoString() string { +func (s ListMeshesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DnsServiceDiscovery) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DnsServiceDiscovery"} - if s.Hostname == nil { - invalidParams.Add(request.NewErrParamRequired("Hostname")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMeshes sets the Meshes field's value. +func (s *ListMeshesOutput) SetMeshes(v []*MeshRef) *ListMeshesOutput { + s.Meshes = v + return s } -// SetHostname sets the Hostname field's value. -func (s *DnsServiceDiscovery) SetHostname(v string) *DnsServiceDiscovery { - s.Hostname = &v +// SetNextToken sets the NextToken field's value. +func (s *ListMeshesOutput) SetNextToken(v string) *ListMeshesOutput { + s.NextToken = &v return s } -// An object representing the health check policy for a virtual node's listener. -type HealthCheckPolicy struct { +type ListRoutesInput struct { _ struct{} `type:"structure"` - // The number of consecutive successful health checks that must occur before - // declaring listener healthy. - // - // HealthyThreshold is a required field - HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` - - // The time period in milliseconds between each health check execution. - // - // IntervalMillis is a required field - IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` - - // The destination path for the health check request. This is required only - // if the specified protocol is HTTP. If the protocol is TCP, this parameter - // is ignored. - Path *string `locationName:"path" type:"string"` - - // The destination port for the health check request. This port must match the - // port defined in the PortMapping for the listener. - Port *int64 `locationName:"port" min:"1" type:"integer"` + // The maximum number of results returned by ListRoutes in paginated output. + // When you use this parameter, ListRoutes returns only limit results in a single + // page along with a nextToken response element. You can see the remaining results + // of the initial request by sending another ListRoutes request with the returned + // nextToken value. This value can be between 1 and 100. If you don't use this + // parameter, ListRoutes returns up to 100 results and a nextToken value if + // applicable. + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - // The protocol for the health check request. + // The name of the service mesh to list routes in. // - // Protocol is a required field - Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // The amount of time to wait when receiving a response from the health check, - // in milliseconds. - // - // TimeoutMillis is a required field - TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` + // The nextToken value returned from a previous paginated ListRoutes request + // where limit was used and the results exceeded the value of that parameter. + // Pagination continues from the end of the previous results that returned the + // nextToken value. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - // The number of consecutive failed health checks that must occur before declaring - // a virtual node unhealthy. + // The name of the virtual router to list routes in. // - // UnhealthyThreshold is a required field - UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` + // VirtualRouterName is a required field + VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s HealthCheckPolicy) String() string { +func (s ListRoutesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HealthCheckPolicy) GoString() string { +func (s ListRoutesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HealthCheckPolicy) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"} - if s.HealthyThreshold == nil { - invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) - } - if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { - invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) - } - if s.IntervalMillis == nil { - invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) - } - if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { - invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) - } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) - } - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) +func (s *ListRoutesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRoutesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } - if s.TimeoutMillis == nil { - invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) } - if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { - invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } - if s.UnhealthyThreshold == nil { - invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) + if s.VirtualRouterName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) } - if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { - invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) + if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if invalidParams.Len() > 0 { @@ -4319,149 +5373,110 @@ func (s *HealthCheckPolicy) Validate() error { return nil } -// SetHealthyThreshold sets the HealthyThreshold field's value. -func (s *HealthCheckPolicy) SetHealthyThreshold(v int64) *HealthCheckPolicy { - s.HealthyThreshold = &v - return s -} - -// SetIntervalMillis sets the IntervalMillis field's value. -func (s *HealthCheckPolicy) SetIntervalMillis(v int64) *HealthCheckPolicy { - s.IntervalMillis = &v - return s -} - -// SetPath sets the Path field's value. -func (s *HealthCheckPolicy) SetPath(v string) *HealthCheckPolicy { - s.Path = &v - return s -} - -// SetPort sets the Port field's value. -func (s *HealthCheckPolicy) SetPort(v int64) *HealthCheckPolicy { - s.Port = &v +// SetLimit sets the Limit field's value. +func (s *ListRoutesInput) SetLimit(v int64) *ListRoutesInput { + s.Limit = &v return s } -// SetProtocol sets the Protocol field's value. -func (s *HealthCheckPolicy) SetProtocol(v string) *HealthCheckPolicy { - s.Protocol = &v +// SetMeshName sets the MeshName field's value. +func (s *ListRoutesInput) SetMeshName(v string) *ListRoutesInput { + s.MeshName = &v return s } -// SetTimeoutMillis sets the TimeoutMillis field's value. -func (s *HealthCheckPolicy) SetTimeoutMillis(v int64) *HealthCheckPolicy { - s.TimeoutMillis = &v +// SetNextToken sets the NextToken field's value. +func (s *ListRoutesInput) SetNextToken(v string) *ListRoutesInput { + s.NextToken = &v return s } -// SetUnhealthyThreshold sets the UnhealthyThreshold field's value. -func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy { - s.UnhealthyThreshold = &v +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *ListRoutesInput) SetVirtualRouterName(v string) *ListRoutesInput { + s.VirtualRouterName = &v return s } -// An object representing the HTTP routing specification for a route. -type HttpRoute struct { +type ListRoutesOutput struct { _ struct{} `type:"structure"` - // The action to take if a match is determined. - // - // Action is a required field - Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"` + // The nextToken value to include in a future ListRoutes request. When the results + // of a ListRoutes request exceed limit, you can use this value to retrieve + // the next page of results. This value is null when there are no more results + // to return. + NextToken *string `locationName:"nextToken" type:"string"` - // The criteria for determining an HTTP request match. + // The list of existing routes for the specified service mesh and virtual router. // - // Match is a required field - Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"` + // Routes is a required field + Routes []*RouteRef `locationName:"routes" type:"list" required:"true"` } // String returns the string representation -func (s HttpRoute) String() string { +func (s ListRoutesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpRoute) GoString() string { +func (s ListRoutesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRoute) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRoute"} - if s.Action == nil { - invalidParams.Add(request.NewErrParamRequired("Action")) - } - if s.Match == nil { - invalidParams.Add(request.NewErrParamRequired("Match")) - } - if s.Action != nil { - if err := s.Action.Validate(); err != nil { - invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) - } - } - if s.Match != nil { - if err := s.Match.Validate(); err != nil { - invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAction sets the Action field's value. -func (s *HttpRoute) SetAction(v *HttpRouteAction) *HttpRoute { - s.Action = v +// SetNextToken sets the NextToken field's value. +func (s *ListRoutesOutput) SetNextToken(v string) *ListRoutesOutput { + s.NextToken = &v return s } -// SetMatch sets the Match field's value. -func (s *HttpRoute) SetMatch(v *HttpRouteMatch) *HttpRoute { - s.Match = v +// SetRoutes sets the Routes field's value. +func (s *ListRoutesOutput) SetRoutes(v []*RouteRef) *ListRoutesOutput { + s.Routes = v return s } -// An object representing the traffic distribution requirements for matched -// HTTP requests. -type HttpRouteAction struct { +type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // The targets that traffic is routed to when a request matches the route. You - // can specify one or more targets and their relative weights to distribute - // traffic with. + // The maximum number of tag results returned by ListTagsForResource in paginated + // output. When this parameter is used, ListTagsForResource returns only limit + // results in a single page along with a nextToken response element. You can + // see the remaining results of the initial request by sending another ListTagsForResource + // request with the returned nextToken value. This value can be between 1 and + // 100. If you don't use this parameter, ListTagsForResource returns up to 100 + // results and a nextToken value if applicable. + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + + // The nextToken value returned from a previous paginated ListTagsForResource + // request where limit was used and the results exceeded the value of that parameter. + // Pagination continues from the end of the previous results that returned the + // nextToken value. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The Amazon Resource Name (ARN) that identifies the resource to list the tags + // for. // - // WeightedTargets is a required field - WeightedTargets []*WeightedTarget `locationName:"weightedTargets" type:"list" required:"true"` + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` } // String returns the string representation -func (s HttpRouteAction) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpRouteAction) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRouteAction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRouteAction"} - if s.WeightedTargets == nil { - invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } - if s.WeightedTargets != nil { - for i, v := range s.WeightedTargets { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) - } - } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if invalidParams.Len() > 0 { @@ -4470,95 +5485,107 @@ func (s *HttpRouteAction) Validate() error { return nil } -// SetWeightedTargets sets the WeightedTargets field's value. -func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteAction { - s.WeightedTargets = v +// SetLimit sets the Limit field's value. +func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput { + s.Limit = &v return s } -// An object representing the requirements for a route to match HTTP requests -// for a virtual router. -type HttpRouteMatch struct { +// 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"` - // Specifies the path to match requests with. This parameter must always start - // with /, which by itself matches all requests to the virtual router service - // name. You can also match for path-based routing of requests. For example, - // if your virtual router service name is my-service.local and you want the - // route to match requests to my-service.local/metrics, your prefix should be - // /metrics. + // The nextToken value to include in a future ListTagsForResource request. When + // the results of a ListTagsForResource request exceed limit, you can use this + // value to retrieve the next page of results. This value is null when there + // are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // The tags for the resource. // - // Prefix is a required field - Prefix *string `locationName:"prefix" type:"string" required:"true"` + // Tags is a required field + Tags []*TagRef `locationName:"tags" type:"list" required:"true"` } // String returns the string representation -func (s HttpRouteMatch) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpRouteMatch) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRouteMatch) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"} - if s.Prefix == nil { - invalidParams.Add(request.NewErrParamRequired("Prefix")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { + s.NextToken = &v + return s } -// SetPrefix sets the Prefix field's value. -func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch { - s.Prefix = &v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*TagRef) *ListTagsForResourceOutput { + s.Tags = v return s } -type ListMeshesInput struct { +type ListVirtualNodesInput struct { _ struct{} `type:"structure"` - // The maximum number of results returned by ListMeshes in paginated output. - // When you use this parameter, ListMeshes returns only limit results in a single - // page along with a nextToken response element. You can see the remaining results - // of the initial request by sending another ListMeshes request with the returned - // nextToken value. This value can be between 1 and 100. If you don't use this - // parameter, ListMeshes returns up to 100 results and a nextToken value if - // applicable. + // The maximum number of results returned by ListVirtualNodes in paginated output. + // When you use this parameter, ListVirtualNodes returns only limit results + // in a single page along with a nextToken response element. You can see the + // remaining results of the initial request by sending another ListVirtualNodes + // request with the returned nextToken value. This value can be between 1 and + // 100. If you don't use this parameter, ListVirtualNodes returns up to 100 + // results and a nextToken value if applicable. Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - // The nextToken value returned from a previous paginated ListMeshes request + // The name of the service mesh to list virtual nodes in. + // + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + // The nextToken value returned from a previous paginated ListVirtualNodes request // where limit was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. - // - // This token should be treated as an opaque identifier that is only used to - // retrieve the next items in a list and not for other programmatic purposes. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s ListMeshesInput) String() string { +func (s ListVirtualNodesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListMeshesInput) GoString() string { +func (s ListVirtualNodesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListMeshesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListMeshesInput"} +func (s *ListVirtualNodesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVirtualNodesInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -4567,96 +5594,97 @@ func (s *ListMeshesInput) Validate() error { } // SetLimit sets the Limit field's value. -func (s *ListMeshesInput) SetLimit(v int64) *ListMeshesInput { +func (s *ListVirtualNodesInput) SetLimit(v int64) *ListVirtualNodesInput { s.Limit = &v return s } +// SetMeshName sets the MeshName field's value. +func (s *ListVirtualNodesInput) SetMeshName(v string) *ListVirtualNodesInput { + s.MeshName = &v + return s +} + // SetNextToken sets the NextToken field's value. -func (s *ListMeshesInput) SetNextToken(v string) *ListMeshesInput { +func (s *ListVirtualNodesInput) SetNextToken(v string) *ListVirtualNodesInput { s.NextToken = &v return s } -type ListMeshesOutput struct { +type ListVirtualNodesOutput struct { _ struct{} `type:"structure"` - // The list of existing service meshes. - // - // Meshes is a required field - Meshes []*MeshRef `locationName:"meshes" type:"list" required:"true"` - - // The nextToken value to include in a future ListMeshes request. When the results - // of a ListMeshes request exceed limit, you can use this value to retrieve - // the next page of results. This value is null when there are no more results - // to return. + // The nextToken value to include in a future ListVirtualNodes request. When + // the results of a ListVirtualNodes request exceed limit, you can use this + // value to retrieve the next page of results. This value is null when there + // are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` + + // The list of existing virtual nodes for the specified service mesh. + // + // VirtualNodes is a required field + VirtualNodes []*VirtualNodeRef `locationName:"virtualNodes" type:"list" required:"true"` } // String returns the string representation -func (s ListMeshesOutput) String() string { +func (s ListVirtualNodesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListMeshesOutput) GoString() string { +func (s ListVirtualNodesOutput) GoString() string { return s.String() } -// SetMeshes sets the Meshes field's value. -func (s *ListMeshesOutput) SetMeshes(v []*MeshRef) *ListMeshesOutput { - s.Meshes = v +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualNodesOutput) SetNextToken(v string) *ListVirtualNodesOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListMeshesOutput) SetNextToken(v string) *ListMeshesOutput { - s.NextToken = &v +// SetVirtualNodes sets the VirtualNodes field's value. +func (s *ListVirtualNodesOutput) SetVirtualNodes(v []*VirtualNodeRef) *ListVirtualNodesOutput { + s.VirtualNodes = v return s } -type ListRoutesInput struct { +type ListVirtualRoutersInput struct { _ struct{} `type:"structure"` - // The maximum number of results returned by ListRoutes in paginated output. - // When you use this parameter, ListRoutes returns only limit results in a single - // page along with a nextToken response element. You can see the remaining results - // of the initial request by sending another ListRoutes request with the returned - // nextToken value. This value can be between 1 and 100. If you don't use this - // parameter, ListRoutes returns up to 100 results and a nextToken value if - // applicable. + // The maximum number of results returned by ListVirtualRouters in paginated + // output. When you use this parameter, ListVirtualRouters returns only limit + // results in a single page along with a nextToken response element. You can + // see the remaining results of the initial request by sending another ListVirtualRouters + // request with the returned nextToken value. This value can be between 1 and + // 100. If you don't use this parameter, ListVirtualRouters returns up to 100 + // results and a nextToken value if applicable. Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - // The name of the service mesh in which to list routes. + // The name of the service mesh to list virtual routers in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // The nextToken value returned from a previous paginated ListRoutes request - // where limit was used and the results exceeded the value of that parameter. + // The nextToken value returned from a previous paginated ListVirtualRouters + // request where limit was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - - // The name of the virtual router to list routes in. - // - // VirtualRouterName is a required field - VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListRoutesInput) String() string { +func (s ListVirtualRoutersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListRoutesInput) GoString() string { +func (s ListVirtualRoutersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListRoutesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListRoutesInput"} +func (s *ListVirtualRoutersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVirtualRoutersInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } @@ -4666,12 +5694,6 @@ func (s *ListRoutesInput) Validate() error { if s.MeshName != nil && len(*s.MeshName) < 1 { invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } - if s.VirtualRouterName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) - } - if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -4680,103 +5702,97 @@ func (s *ListRoutesInput) Validate() error { } // SetLimit sets the Limit field's value. -func (s *ListRoutesInput) SetLimit(v int64) *ListRoutesInput { +func (s *ListVirtualRoutersInput) SetLimit(v int64) *ListVirtualRoutersInput { s.Limit = &v return s } // SetMeshName sets the MeshName field's value. -func (s *ListRoutesInput) SetMeshName(v string) *ListRoutesInput { +func (s *ListVirtualRoutersInput) SetMeshName(v string) *ListVirtualRoutersInput { s.MeshName = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListRoutesInput) SetNextToken(v string) *ListRoutesInput { +func (s *ListVirtualRoutersInput) SetNextToken(v string) *ListVirtualRoutersInput { s.NextToken = &v return s } -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *ListRoutesInput) SetVirtualRouterName(v string) *ListRoutesInput { - s.VirtualRouterName = &v - return s -} - -type ListRoutesOutput struct { +type ListVirtualRoutersOutput struct { _ struct{} `type:"structure"` - // The nextToken value to include in a future ListRoutes request. When the results - // of a ListRoutes request exceed limit, you can use this value to retrieve - // the next page of results. This value is null when there are no more results - // to return. + // The nextToken value to include in a future ListVirtualRouters request. When + // the results of a ListVirtualRouters request exceed limit, you can use this + // value to retrieve the next page of results. This value is null when there + // are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` - // The list of existing routes for the specified service mesh and virtual router. + // The list of existing virtual routers for the specified service mesh. // - // Routes is a required field - Routes []*RouteRef `locationName:"routes" type:"list" required:"true"` + // VirtualRouters is a required field + VirtualRouters []*VirtualRouterRef `locationName:"virtualRouters" type:"list" required:"true"` } // String returns the string representation -func (s ListRoutesOutput) String() string { +func (s ListVirtualRoutersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListRoutesOutput) GoString() string { +func (s ListVirtualRoutersOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListRoutesOutput) SetNextToken(v string) *ListRoutesOutput { +func (s *ListVirtualRoutersOutput) SetNextToken(v string) *ListVirtualRoutersOutput { s.NextToken = &v return s } -// SetRoutes sets the Routes field's value. -func (s *ListRoutesOutput) SetRoutes(v []*RouteRef) *ListRoutesOutput { - s.Routes = v +// SetVirtualRouters sets the VirtualRouters field's value. +func (s *ListVirtualRoutersOutput) SetVirtualRouters(v []*VirtualRouterRef) *ListVirtualRoutersOutput { + s.VirtualRouters = v return s } -type ListVirtualNodesInput struct { +type ListVirtualServicesInput struct { _ struct{} `type:"structure"` - // The maximum number of results returned by ListVirtualNodes in paginated output. - // When you use this parameter, ListVirtualNodes returns only limit results - // in a single page along with a nextToken response element. You can see the - // remaining results of the initial request by sending another ListVirtualNodes + // The maximum number of results returned by ListVirtualServices in paginated + // output. When you use this parameter, ListVirtualServices returns only limit + // results in a single page along with a nextToken response element. You can + // see the remaining results of the initial request by sending another ListVirtualServices // request with the returned nextToken value. This value can be between 1 and - // 100. If you don't use this parameter, ListVirtualNodes returns up to 100 + // 100. If you don't use this parameter, ListVirtualServices returns up to 100 // results and a nextToken value if applicable. Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - // The name of the service mesh to list virtual nodes in. + // The name of the service mesh to list virtual services in. // // MeshName is a required field MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // The nextToken value returned from a previous paginated ListVirtualNodes request - // where limit was used and the results exceeded the value of that parameter. + // The nextToken value returned from a previous paginated ListVirtualServices + // request where limit was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s ListVirtualNodesInput) String() string { +func (s ListVirtualServicesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualNodesInput) GoString() string { +func (s ListVirtualServicesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListVirtualNodesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListVirtualNodesInput"} +func (s *ListVirtualServicesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVirtualServicesInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } @@ -4794,105 +5810,98 @@ func (s *ListVirtualNodesInput) Validate() error { } // SetLimit sets the Limit field's value. -func (s *ListVirtualNodesInput) SetLimit(v int64) *ListVirtualNodesInput { +func (s *ListVirtualServicesInput) SetLimit(v int64) *ListVirtualServicesInput { s.Limit = &v return s } // SetMeshName sets the MeshName field's value. -func (s *ListVirtualNodesInput) SetMeshName(v string) *ListVirtualNodesInput { +func (s *ListVirtualServicesInput) SetMeshName(v string) *ListVirtualServicesInput { s.MeshName = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListVirtualNodesInput) SetNextToken(v string) *ListVirtualNodesInput { +func (s *ListVirtualServicesInput) SetNextToken(v string) *ListVirtualServicesInput { s.NextToken = &v return s } -type ListVirtualNodesOutput struct { +type ListVirtualServicesOutput struct { _ struct{} `type:"structure"` - // The nextToken value to include in a future ListVirtualNodes request. When - // the results of a ListVirtualNodes request exceed limit, you can use this + // The nextToken value to include in a future ListVirtualServices request. When + // the results of a ListVirtualServices request exceed limit, you can use this // value to retrieve the next page of results. This value is null when there // are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` - // The list of existing virtual nodes for the specified service mesh. + // The list of existing virtual services for the specified service mesh. // - // VirtualNodes is a required field - VirtualNodes []*VirtualNodeRef `locationName:"virtualNodes" type:"list" required:"true"` + // VirtualServices is a required field + VirtualServices []*VirtualServiceRef `locationName:"virtualServices" type:"list" required:"true"` } // String returns the string representation -func (s ListVirtualNodesOutput) String() string { +func (s ListVirtualServicesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualNodesOutput) GoString() string { +func (s ListVirtualServicesOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListVirtualNodesOutput) SetNextToken(v string) *ListVirtualNodesOutput { +func (s *ListVirtualServicesOutput) SetNextToken(v string) *ListVirtualServicesOutput { s.NextToken = &v return s } -// SetVirtualNodes sets the VirtualNodes field's value. -func (s *ListVirtualNodesOutput) SetVirtualNodes(v []*VirtualNodeRef) *ListVirtualNodesOutput { - s.VirtualNodes = v +// SetVirtualServices sets the VirtualServices field's value. +func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) *ListVirtualServicesOutput { + s.VirtualServices = v return s } -type ListVirtualRoutersInput struct { +// An object representing a listener for a virtual node. +type Listener struct { _ struct{} `type:"structure"` - // The maximum number of results returned by ListVirtualRouters in paginated - // output. When you use this parameter, ListVirtualRouters returns only limit - // results in a single page along with a nextToken response element. You can - // see the remaining results of the initial request by sending another ListVirtualRouters - // request with the returned nextToken value. This value can be between 1 and - // 100. If you don't use this parameter, ListVirtualRouters returns up to 100 - // results and a nextToken value if applicable. - Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + // The health check information for the listener. + HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"` - // The name of the service mesh to list virtual routers in. + // The port mapping information for the listener. // - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - // The nextToken value returned from a previous paginated ListVirtualRouters - // request where limit was used and the results exceeded the value of that parameter. - // Pagination continues from the end of the previous results that returned the - // nextToken value. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // PortMapping is a required field + PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` } // String returns the string representation -func (s ListVirtualRoutersInput) String() string { +func (s Listener) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualRoutersInput) GoString() string { +func (s Listener) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListVirtualRoutersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListVirtualRoutersInput"} - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) +func (s *Listener) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Listener"} + if s.PortMapping == nil { + invalidParams.Add(request.NewErrParamRequired("PortMapping")) } - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) + if s.HealthCheck != nil { + if err := s.HealthCheck.Validate(); err != nil { + invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) + } } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + if s.PortMapping != nil { + if err := s.PortMapping.Validate(); err != nil { + invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -4901,106 +5910,178 @@ func (s *ListVirtualRoutersInput) Validate() error { return nil } -// SetLimit sets the Limit field's value. -func (s *ListVirtualRoutersInput) SetLimit(v int64) *ListVirtualRoutersInput { - s.Limit = &v +// SetHealthCheck sets the HealthCheck field's value. +func (s *Listener) SetHealthCheck(v *HealthCheckPolicy) *Listener { + s.HealthCheck = v + return s +} + +// SetPortMapping sets the PortMapping field's value. +func (s *Listener) SetPortMapping(v *PortMapping) *Listener { + s.PortMapping = v + return s +} + +// An object representing the logging information for a virtual node. +type Logging struct { + _ struct{} `type:"structure"` + + // The access log configuration for a virtual node. + AccessLog *AccessLog `locationName:"accessLog" type:"structure"` +} + +// String returns the string representation +func (s Logging) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Logging) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Logging) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Logging"} + if s.AccessLog != nil { + if err := s.AccessLog.Validate(); err != nil { + invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessLog sets the AccessLog field's value. +func (s *Logging) SetAccessLog(v *AccessLog) *Logging { + s.AccessLog = v return s } +// An object representing a service mesh returned by a describe operation. +type MeshData struct { + _ struct{} `type:"structure"` + + // The name of the service mesh. + // + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // The associated metadata for the service mesh. + // + // Metadata is a required field + Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` + + // The associated specification for the service mesh. + // + // Spec is a required field + Spec *MeshSpec `locationName:"spec" type:"structure" required:"true"` + + // The status of the service mesh. + // + // Status is a required field + Status *MeshStatus `locationName:"status" type:"structure" required:"true"` +} + +// String returns the string representation +func (s MeshData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MeshData) GoString() string { + return s.String() +} + // SetMeshName sets the MeshName field's value. -func (s *ListVirtualRoutersInput) SetMeshName(v string) *ListVirtualRoutersInput { +func (s *MeshData) SetMeshName(v string) *MeshData { s.MeshName = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualRoutersInput) SetNextToken(v string) *ListVirtualRoutersInput { - s.NextToken = &v +// SetMetadata sets the Metadata field's value. +func (s *MeshData) SetMetadata(v *ResourceMetadata) *MeshData { + s.Metadata = v + return s +} + +// SetSpec sets the Spec field's value. +func (s *MeshData) SetSpec(v *MeshSpec) *MeshData { + s.Spec = v + return s +} + +// SetStatus sets the Status field's value. +func (s *MeshData) SetStatus(v *MeshStatus) *MeshData { + s.Status = v return s } -type ListVirtualRoutersOutput struct { +// An object representing a service mesh returned by a list operation. +type MeshRef struct { _ struct{} `type:"structure"` - // The nextToken value to include in a future ListVirtualRouters request. When - // the results of a ListVirtualRouters request exceed limit, you can use this - // value to retrieve the next page of results. This value is null when there - // are no more results to return. - NextToken *string `locationName:"nextToken" type:"string"` + // The full Amazon Resource Name (ARN) of the service mesh. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // The list of existing virtual routers for the specified service mesh. + // The name of the service mesh. // - // VirtualRouters is a required field - VirtualRouters []*VirtualRouterRef `locationName:"virtualRouters" type:"list" required:"true"` + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListVirtualRoutersOutput) String() string { +func (s MeshRef) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualRoutersOutput) GoString() string { +func (s MeshRef) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualRoutersOutput) SetNextToken(v string) *ListVirtualRoutersOutput { - s.NextToken = &v +// SetArn sets the Arn field's value. +func (s *MeshRef) SetArn(v string) *MeshRef { + s.Arn = &v return s } -// SetVirtualRouters sets the VirtualRouters field's value. -func (s *ListVirtualRoutersOutput) SetVirtualRouters(v []*VirtualRouterRef) *ListVirtualRoutersOutput { - s.VirtualRouters = v +// SetMeshName sets the MeshName field's value. +func (s *MeshRef) SetMeshName(v string) *MeshRef { + s.MeshName = &v return s } -type ListVirtualServicesInput struct { +// An object representing the specification of a service mesh. +type MeshSpec struct { _ struct{} `type:"structure"` - // The maximum number of results returned by ListVirtualServices in paginated - // output. When you use this parameter, ListVirtualServices returns only limit - // results in a single page along with a nextToken response element. You can - // see the remaining results of the initial request by sending another ListVirtualServices - // request with the returned nextToken value. This value can be between 1 and - // 100. If you don't use this parameter, ListVirtualServices returns up to 100 - // results and a nextToken value if applicable. - Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - - // The name of the service mesh to list virtual services in. - // - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - // The nextToken value returned from a previous paginated ListVirtualServices - // request where limit was used and the results exceeded the value of that parameter. - // Pagination continues from the end of the previous results that returned the - // nextToken value. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // The egress filter rules for the service mesh. + EgressFilter *EgressFilter `locationName:"egressFilter" type:"structure"` } // String returns the string representation -func (s ListVirtualServicesInput) String() string { +func (s MeshSpec) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualServicesInput) GoString() string { +func (s MeshSpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListVirtualServicesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListVirtualServicesInput"} - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) +func (s *MeshSpec) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MeshSpec"} + if s.EgressFilter != nil { + if err := s.EgressFilter.Validate(); err != nil { + invalidParams.AddNested("EgressFilter", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -5009,264 +6090,336 @@ func (s *ListVirtualServicesInput) Validate() error { return nil } -// SetLimit sets the Limit field's value. -func (s *ListVirtualServicesInput) SetLimit(v int64) *ListVirtualServicesInput { - s.Limit = &v +// SetEgressFilter sets the EgressFilter field's value. +func (s *MeshSpec) SetEgressFilter(v *EgressFilter) *MeshSpec { + s.EgressFilter = v return s } -// SetMeshName sets the MeshName field's value. -func (s *ListVirtualServicesInput) SetMeshName(v string) *ListVirtualServicesInput { - s.MeshName = &v - return s +// An object representing the status of a service mesh. +type MeshStatus struct { + _ struct{} `type:"structure"` + + // The current mesh status. + Status *string `locationName:"status" type:"string" enum:"MeshStatusCode"` } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualServicesInput) SetNextToken(v string) *ListVirtualServicesInput { - s.NextToken = &v +// String returns the string representation +func (s MeshStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MeshStatus) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *MeshStatus) SetStatus(v string) *MeshStatus { + s.Status = &v return s } -type ListVirtualServicesOutput struct { +// An object representing a virtual node or virtual router listener port mapping. +type PortMapping struct { _ struct{} `type:"structure"` - // The nextToken value to include in a future ListVirtualServices request. When - // the results of a ListVirtualServices request exceed limit, you can use this - // value to retrieve the next page of results. This value is null when there - // are no more results to return. - NextToken *string `locationName:"nextToken" type:"string"` + // The port used for the port mapping. + // + // Port is a required field + Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` - // The list of existing virtual services for the specified service mesh. + // The protocol used for the port mapping. // - // VirtualServices is a required field - VirtualServices []*VirtualServiceRef `locationName:"virtualServices" type:"list" required:"true"` + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` } // String returns the string representation -func (s ListVirtualServicesOutput) String() string { +func (s PortMapping) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualServicesOutput) GoString() string { +func (s PortMapping) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualServicesOutput) SetNextToken(v string) *ListVirtualServicesOutput { - s.NextToken = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *PortMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PortMapping"} + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPort sets the Port field's value. +func (s *PortMapping) SetPort(v int64) *PortMapping { + s.Port = &v return s } -// SetVirtualServices sets the VirtualServices field's value. -func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) *ListVirtualServicesOutput { - s.VirtualServices = v +// SetProtocol sets the Protocol field's value. +func (s *PortMapping) SetProtocol(v string) *PortMapping { + s.Protocol = &v return s } -// An object representing a listener for a virtual node. -type Listener struct { +// An object representing metadata for a resource. +type ResourceMetadata struct { _ struct{} `type:"structure"` - // The health check information for the listener. - HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"` + // The full Amazon Resource Name (ARN) for the resource. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // The port mapping information for the listener. + // The Unix epoch timestamp in seconds for when the resource was created. // - // PortMapping is a required field - PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // The Unix epoch timestamp in seconds for when the resource was last updated. + // + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + + // The unique identifier for the resource. + // + // Uid is a required field + Uid *string `locationName:"uid" type:"string" required:"true"` + + // The version of the resource. Resources are created at version 1, and this + // version is incremented each time that they're updated. + // + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` } // String returns the string representation -func (s Listener) String() string { +func (s ResourceMetadata) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Listener) GoString() string { +func (s ResourceMetadata) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Listener) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Listener"} - if s.PortMapping == nil { - invalidParams.Add(request.NewErrParamRequired("PortMapping")) - } - if s.HealthCheck != nil { - if err := s.HealthCheck.Validate(); err != nil { - invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) - } - } - if s.PortMapping != nil { - if err := s.PortMapping.Validate(); err != nil { - invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) - } - } +// SetArn sets the Arn field's value. +func (s *ResourceMetadata) SetArn(v string) *ResourceMetadata { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreatedAt sets the CreatedAt field's value. +func (s *ResourceMetadata) SetCreatedAt(v time.Time) *ResourceMetadata { + s.CreatedAt = &v + return s } -// SetHealthCheck sets the HealthCheck field's value. -func (s *Listener) SetHealthCheck(v *HealthCheckPolicy) *Listener { - s.HealthCheck = v +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *ResourceMetadata) SetLastUpdatedAt(v time.Time) *ResourceMetadata { + s.LastUpdatedAt = &v return s } -// SetPortMapping sets the PortMapping field's value. -func (s *Listener) SetPortMapping(v *PortMapping) *Listener { - s.PortMapping = v +// SetUid sets the Uid field's value. +func (s *ResourceMetadata) SetUid(v string) *ResourceMetadata { + s.Uid = &v return s } -// An object representing a service mesh returned by a describe operation. -type MeshData struct { +// SetVersion sets the Version field's value. +func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata { + s.Version = &v + return s +} + +// An object representing a route returned by a describe operation. +type RouteData struct { _ struct{} `type:"structure"` - // The name of the service mesh. + // The name of the service mesh that the route resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - // The associated metadata for the service mesh. + // The associated metadata for the route. // // Metadata is a required field Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` - // The status of the service mesh. + // The name of the route. + // + // RouteName is a required field + RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` + + // The specifications of the route. + // + // Spec is a required field + Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` + + // The status of the route. // // Status is a required field - Status *MeshStatus `locationName:"status" type:"structure" required:"true"` + Status *RouteStatus `locationName:"status" type:"structure" required:"true"` + + // The virtual router that the route is associated with. + // + // VirtualRouterName is a required field + VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s MeshData) String() string { +func (s RouteData) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MeshData) GoString() string { +func (s RouteData) GoString() string { return s.String() } // SetMeshName sets the MeshName field's value. -func (s *MeshData) SetMeshName(v string) *MeshData { +func (s *RouteData) SetMeshName(v string) *RouteData { s.MeshName = &v return s } // SetMetadata sets the Metadata field's value. -func (s *MeshData) SetMetadata(v *ResourceMetadata) *MeshData { +func (s *RouteData) SetMetadata(v *ResourceMetadata) *RouteData { s.Metadata = v return s } +// SetRouteName sets the RouteName field's value. +func (s *RouteData) SetRouteName(v string) *RouteData { + s.RouteName = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *RouteData) SetSpec(v *RouteSpec) *RouteData { + s.Spec = v + return s +} + // SetStatus sets the Status field's value. -func (s *MeshData) SetStatus(v *MeshStatus) *MeshData { +func (s *RouteData) SetStatus(v *RouteStatus) *RouteData { s.Status = v return s } -// An object representing a service mesh returned by a list operation. -type MeshRef struct { +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *RouteData) SetVirtualRouterName(v string) *RouteData { + s.VirtualRouterName = &v + return s +} + +// An object representing a route returned by a list operation. +type RouteRef struct { _ struct{} `type:"structure"` - // The full Amazon Resource Name (ARN) of the service mesh. + // The full Amazon Resource Name (ARN) for the route. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // The name of the service mesh. + // The name of the service mesh that the route resides in. // // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // The name of the route. + // + // RouteName is a required field + RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` + + // The virtual router that the route is associated with. + // + // VirtualRouterName is a required field + VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s MeshRef) String() string { +func (s RouteRef) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MeshRef) GoString() string { +func (s RouteRef) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *MeshRef) SetArn(v string) *MeshRef { +func (s *RouteRef) SetArn(v string) *RouteRef { s.Arn = &v return s } // SetMeshName sets the MeshName field's value. -func (s *MeshRef) SetMeshName(v string) *MeshRef { +func (s *RouteRef) SetMeshName(v string) *RouteRef { s.MeshName = &v return s } -// An object representing the status of a service mesh. -type MeshStatus struct { - _ struct{} `type:"structure"` - - // The current mesh status. - Status *string `locationName:"status" type:"string" enum:"MeshStatusCode"` -} - -// String returns the string representation -func (s MeshStatus) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s MeshStatus) GoString() string { - return s.String() +// SetRouteName sets the RouteName field's value. +func (s *RouteRef) SetRouteName(v string) *RouteRef { + s.RouteName = &v + return s } -// SetStatus sets the Status field's value. -func (s *MeshStatus) SetStatus(v string) *MeshStatus { - s.Status = &v +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef { + s.VirtualRouterName = &v return s } -// An object representing a virtual node or virtual router listener port mapping. -type PortMapping struct { +// An object representing the specification of a route. +type RouteSpec struct { _ struct{} `type:"structure"` - // The port used for the port mapping. - // - // Port is a required field - Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` + // The HTTP routing information for the route. + HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"` - // The protocol used for the port mapping. - // - // Protocol is a required field - Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` + // The TCP routing information for the route. + TcpRoute *TcpRoute `locationName:"tcpRoute" type:"structure"` } // String returns the string representation -func (s PortMapping) String() string { +func (s RouteSpec) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PortMapping) GoString() string { +func (s RouteSpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PortMapping) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PortMapping"} - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) - } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) +func (s *RouteSpec) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RouteSpec"} + if s.HttpRoute != nil { + if err := s.HttpRoute.Validate(); err != nil { + invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) + } } - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) + if s.TcpRoute != nil { + if err := s.TcpRoute.Validate(); err != nil { + invalidParams.AddNested("TcpRoute", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -5275,263 +6428,301 @@ func (s *PortMapping) Validate() error { return nil } -// SetPort sets the Port field's value. -func (s *PortMapping) SetPort(v int64) *PortMapping { - s.Port = &v +// SetHttpRoute sets the HttpRoute field's value. +func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec { + s.HttpRoute = v return s } -// SetProtocol sets the Protocol field's value. -func (s *PortMapping) SetProtocol(v string) *PortMapping { - s.Protocol = &v +// SetTcpRoute sets the TcpRoute field's value. +func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec { + s.TcpRoute = v return s } -// An object representing metadata for a resource. -type ResourceMetadata struct { +// An object representing the current status of a route. +type RouteStatus struct { _ struct{} `type:"structure"` - // The full Amazon Resource Name (ARN) for the resource. - // - // After you create a virtual node, set this value (either the full ARN or the - // truncated resource name, for example, mesh/default/virtualNode/simpleapp, - // as the APPMESH_VIRTUAL_NODE_NAME environment variable for your task group's - // Envoy proxy container in your task definition or pod spec. This is then mapped - // to the node.id and node.cluster Envoy parameters. - // - // If you require your Envoy stats or tracing to use a different name, you can - // override the node.cluster value that is set by APPMESH_VIRTUAL_NODE_NAME - // with the APPMESH_VIRTUAL_NODE_CLUSTER environment variable. + // The current status for the route. // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"RouteStatusCode"` +} - // The Unix epoch timestamp in seconds for when the resource was created. - // - // CreatedAt is a required field - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` +// String returns the string representation +func (s RouteStatus) String() string { + return awsutil.Prettify(s) +} - // The Unix epoch timestamp in seconds for when the resource was last updated. - // - // LastUpdatedAt is a required field - LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` +// GoString returns the string representation +func (s RouteStatus) GoString() string { + return s.String() +} - // The unique identifier for the resource. - // - // Uid is a required field - Uid *string `locationName:"uid" type:"string" required:"true"` +// SetStatus sets the Status field's value. +func (s *RouteStatus) SetStatus(v string) *RouteStatus { + s.Status = &v + return s +} - // The version of the resource. Resources are created at version 1, and this - // version is incremented each time that they're updated. - // - // Version is a required field - Version *int64 `locationName:"version" type:"long" required:"true"` +// An object representing the service discovery information for a virtual node. +type ServiceDiscovery struct { + _ struct{} `type:"structure"` + + // Specifies the DNS information for the virtual node. + Dns *DnsServiceDiscovery `locationName:"dns" type:"structure"` } // String returns the string representation -func (s ResourceMetadata) String() string { +func (s ServiceDiscovery) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceMetadata) GoString() string { +func (s ServiceDiscovery) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ResourceMetadata) SetArn(v string) *ResourceMetadata { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ServiceDiscovery) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ServiceDiscovery"} + if s.Dns != nil { + if err := s.Dns.Validate(); err != nil { + invalidParams.AddNested("Dns", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCreatedAt sets the CreatedAt field's value. -func (s *ResourceMetadata) SetCreatedAt(v time.Time) *ResourceMetadata { - s.CreatedAt = &v +// SetDns sets the Dns field's value. +func (s *ServiceDiscovery) SetDns(v *DnsServiceDiscovery) *ServiceDiscovery { + s.Dns = v return s } -// SetLastUpdatedAt sets the LastUpdatedAt field's value. -func (s *ResourceMetadata) SetLastUpdatedAt(v time.Time) *ResourceMetadata { - s.LastUpdatedAt = &v - return s +// Optional metadata that you apply to a resource to assist with categorization +// and organization. Each tag consists of a key and an optional value, both +// of which you define. Tag keys can have a maximum character length of 128 +// characters, and tag values can have a maximum length of 256 characters. +type TagRef struct { + _ struct{} `type:"structure"` + + // One part of a key-value pair that make up a tag. A key is a general label + // that acts like a category for more specific tag values. + // + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` + + // The optional part of a key-value pair that make up a tag. A value acts as + // a descriptor within a tag category (key). + Value *string `locationName:"value" type:"string"` } -// SetUid sets the Uid field's value. -func (s *ResourceMetadata) SetUid(v string) *ResourceMetadata { - s.Uid = &v - return s +// String returns the string representation +func (s TagRef) String() string { + return awsutil.Prettify(s) } -// SetVersion sets the Version field's value. -func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata { - s.Version = &v - return s +// GoString returns the string representation +func (s TagRef) GoString() string { + return s.String() } -// An object representing a route returned by a describe operation. -type RouteData struct { - _ struct{} `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagRef) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagRef"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } - // The name of the service mesh that the route resides in. - // - // MeshName is a required field - MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The associated metadata for the route. - // - // Metadata is a required field - Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` +// SetKey sets the Key field's value. +func (s *TagRef) SetKey(v string) *TagRef { + s.Key = &v + return s +} - // The name of the route. - // - // RouteName is a required field - RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` +// SetValue sets the Value field's value. +func (s *TagRef) SetValue(v string) *TagRef { + s.Value = &v + return s +} - // The specifications of the route. - // - // Spec is a required field - Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` +type TagResourceInput struct { + _ struct{} `type:"structure"` - // The status of the route. + // The Amazon Resource Name (ARN) of the resource to add tags to. // - // Status is a required field - Status *RouteStatus `locationName:"status" type:"structure" required:"true"` + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` - // The virtual router that the route is associated with. + // The tags to add to the resource. A tag is an array of key-value pairs. Tag + // keys can have a maximum character length of 128 characters, and tag values + // can have a maximum length of 256 characters. // - // VirtualRouterName is a required field - VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // Tags is a required field + Tags []*TagRef `locationName:"tags" type:"list" required:"true"` } // String returns the string representation -func (s RouteData) String() string { +func (s TagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RouteData) GoString() string { +func (s TagResourceInput) GoString() string { return s.String() } -// SetMeshName sets the MeshName field's value. -func (s *RouteData) SetMeshName(v string) *RouteData { - s.MeshName = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + 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 + } + return nil } -// SetMetadata sets the Metadata field's value. -func (s *RouteData) SetMetadata(v *ResourceMetadata) *RouteData { - s.Metadata = v +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v return s } -// SetRouteName sets the RouteName field's value. -func (s *RouteData) SetRouteName(v string) *RouteData { - s.RouteName = &v +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*TagRef) *TagResourceInput { + s.Tags = v return s } -// SetSpec sets the Spec field's value. -func (s *RouteData) SetSpec(v *RouteSpec) *RouteData { - s.Spec = v - return s +type TagResourceOutput struct { + _ struct{} `type:"structure"` } -// SetStatus sets the Status field's value. -func (s *RouteData) SetStatus(v *RouteStatus) *RouteData { - s.Status = v - return s +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) } -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *RouteData) SetVirtualRouterName(v string) *RouteData { - s.VirtualRouterName = &v - return s +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() } -// An object representing a route returned by a list operation. -type RouteRef struct { +// An object representing the TCP routing specification for a route. +type TcpRoute struct { _ struct{} `type:"structure"` - // The full Amazon Resource Name (ARN) for the route. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // The name of the service mesh that the route resides in. - // - // MeshName is a required field - MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - - // The name of the route. - // - // RouteName is a required field - RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` - - // The virtual router that the route is associated with. + // The action to take if a match is determined. // - // VirtualRouterName is a required field - VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // Action is a required field + Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"` } // String returns the string representation -func (s RouteRef) String() string { +func (s TcpRoute) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RouteRef) GoString() string { +func (s TcpRoute) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *RouteRef) SetArn(v string) *RouteRef { - s.Arn = &v - return s -} - -// SetMeshName sets the MeshName field's value. -func (s *RouteRef) SetMeshName(v string) *RouteRef { - s.MeshName = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *TcpRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TcpRoute"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } -// SetRouteName sets the RouteName field's value. -func (s *RouteRef) SetRouteName(v string) *RouteRef { - s.RouteName = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef { - s.VirtualRouterName = &v +// SetAction sets the Action field's value. +func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute { + s.Action = v return s } -// An object representing the specification of a route. -type RouteSpec struct { +// An object representing the traffic distribution requirements for matched +// TCP requests. +type TcpRouteAction struct { _ struct{} `type:"structure"` - // The HTTP routing information for the route. - HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"` + // The targets that traffic is routed to when a request matches the route. You + // can specify one or more targets and their relative weights to distribute + // traffic with. + // + // WeightedTargets is a required field + WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` } // String returns the string representation -func (s RouteSpec) String() string { +func (s TcpRouteAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RouteSpec) GoString() string { +func (s TcpRouteAction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RouteSpec) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RouteSpec"} - if s.HttpRoute != nil { - if err := s.HttpRoute.Validate(); err != nil { - invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) +func (s *TcpRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TcpRouteAction"} + if s.WeightedTargets == nil { + invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) + } + if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) + } + if s.WeightedTargets != nil { + for i, v := range s.WeightedTargets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) + } } } @@ -5541,62 +6732,116 @@ func (s *RouteSpec) Validate() error { return nil } -// SetHttpRoute sets the HttpRoute field's value. -func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec { - s.HttpRoute = v +// SetWeightedTargets sets the WeightedTargets field's value. +func (s *TcpRouteAction) SetWeightedTargets(v []*WeightedTarget) *TcpRouteAction { + s.WeightedTargets = v return s } -// An object representing the current status of a route. -type RouteStatus struct { +type UntagResourceInput struct { _ struct{} `type:"structure"` - // The current status for the route. + // The Amazon Resource Name (ARN) of the resource to delete tags from. // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"RouteStatusCode"` + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` + + // The keys of the tags to be removed. + // + // TagKeys is a required field + TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` } // String returns the string representation -func (s RouteStatus) String() string { +func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RouteStatus) GoString() string { +func (s UntagResourceInput) GoString() string { return s.String() } -// SetStatus sets the Status field's value. -func (s *RouteStatus) SetStatus(v string) *RouteStatus { - s.Status = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v return s } -// An object representing the service discovery information for a virtual node. -type ServiceDiscovery struct { +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { _ struct{} `type:"structure"` +} - // Specifies the DNS information for the virtual node. - Dns *DnsServiceDiscovery `locationName:"dns" type:"structure"` +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateMeshInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of therequest. Up to 36 letters, numbers, hyphens, and underscores are allowed. + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // The name of the service mesh to update. + // + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + // The service mesh specification to apply. + Spec *MeshSpec `locationName:"spec" type:"structure"` } // String returns the string representation -func (s ServiceDiscovery) String() string { +func (s UpdateMeshInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ServiceDiscovery) GoString() string { +func (s UpdateMeshInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ServiceDiscovery) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ServiceDiscovery"} - if s.Dns != nil { - if err := s.Dns.Validate(); err != nil { - invalidParams.AddNested("Dns", err.(request.ErrInvalidParams)) +func (s *UpdateMeshInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMeshInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } @@ -5606,9 +6851,46 @@ func (s *ServiceDiscovery) Validate() error { return nil } -// SetDns sets the Dns field's value. -func (s *ServiceDiscovery) SetDns(v *DnsServiceDiscovery) *ServiceDiscovery { - s.Dns = v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateMeshInput) SetClientToken(v string) *UpdateMeshInput { + s.ClientToken = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *UpdateMeshInput) SetMeshName(v string) *UpdateMeshInput { + s.MeshName = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *UpdateMeshInput) SetSpec(v *MeshSpec) *UpdateMeshInput { + s.Spec = v + return s +} + +type UpdateMeshOutput struct { + _ struct{} `type:"structure" payload:"Mesh"` + + // An object representing a service mesh returned by a describe operation. + // + // Mesh is a required field + Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` +} + +// String returns the string representation +func (s UpdateMeshOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMeshOutput) GoString() string { + return s.String() +} + +// SetMesh sets the Mesh field's value. +func (s *UpdateMeshOutput) SetMesh(v *MeshData) *UpdateMeshOutput { + s.Mesh = v return s } @@ -6251,7 +7533,11 @@ type VirtualNodeSpec struct { // from. Currently only one listener is supported per virtual node. Listeners []*Listener `locationName:"listeners" type:"list"` - // The service discovery information for the virtual node. + // The inbound and outbound access logging information for the virtual node. + Logging *Logging `locationName:"logging" type:"structure"` + + // The service discovery information for the virtual node. If your virtual node + // does not expect ingress traffic, you can omit this parameter. ServiceDiscovery *ServiceDiscovery `locationName:"serviceDiscovery" type:"structure"` } @@ -6288,6 +7574,11 @@ func (s *VirtualNodeSpec) Validate() error { } } } + if s.Logging != nil { + if err := s.Logging.Validate(); err != nil { + invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) + } + } if s.ServiceDiscovery != nil { if err := s.ServiceDiscovery.Validate(); err != nil { invalidParams.AddNested("ServiceDiscovery", err.(request.ErrInvalidParams)) @@ -6312,6 +7603,12 @@ func (s *VirtualNodeSpec) SetListeners(v []*Listener) *VirtualNodeSpec { return s } +// SetLogging sets the Logging field's value. +func (s *VirtualNodeSpec) SetLogging(v *Logging) *VirtualNodeSpec { + s.Logging = v + return s +} + // SetServiceDiscovery sets the ServiceDiscovery field's value. func (s *VirtualNodeSpec) SetServiceDiscovery(v *ServiceDiscovery) *VirtualNodeSpec { s.ServiceDiscovery = v @@ -6556,7 +7853,7 @@ type VirtualRouterSpec struct { // from. Currently only one listener is supported per virtual router. // // Listeners is a required field - Listeners []*VirtualRouterListener `locationName:"listeners" type:"list" required:"true"` + Listeners []*VirtualRouterListener `locationName:"listeners" min:"1" type:"list" required:"true"` } // String returns the string representation @@ -6575,6 +7872,9 @@ func (s *VirtualRouterSpec) Validate() error { if s.Listeners == nil { invalidParams.Add(request.NewErrParamRequired("Listeners")) } + if s.Listeners != nil && len(s.Listeners) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Listeners", 1)) + } if s.Listeners != nil { for i, v := range s.Listeners { if v == nil { @@ -6959,6 +8259,14 @@ func (s *WeightedTarget) SetWeight(v int64) *WeightedTarget { return s } +const ( + // EgressFilterTypeAllowAll is a EgressFilterType enum value + EgressFilterTypeAllowAll = "ALLOW_ALL" + + // EgressFilterTypeDropAll is a EgressFilterType enum value + EgressFilterTypeDropAll = "DROP_ALL" +) + const ( // MeshStatusCodeActive is a MeshStatusCode enum value MeshStatusCodeActive = "ACTIVE" diff --git a/vendor/github.com/aws/aws-sdk-go/service/appmesh/doc.go b/vendor/github.com/aws/aws-sdk-go/service/appmesh/doc.go index 36d7924b1dde..c855b6985685 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appmesh/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appmesh/doc.go @@ -4,19 +4,19 @@ // requests to AWS App Mesh. // // AWS App Mesh is a service mesh based on the Envoy proxy that makes it easy -// to monitor and control containerized microservices. App Mesh standardizes -// how your microservices communicate, giving you end-to-end visibility and -// helping to ensure high-availability for your applications. +// to monitor and control microservices. App Mesh standardizes how your microservices +// communicate, giving you end-to-end visibility and helping to ensure high +// availability for your applications. // // App Mesh gives you consistent visibility and network traffic controls for -// every microservice in an application. You can use App Mesh with Amazon ECS -// (using the Amazon EC2 launch type), Amazon EKS, and Kubernetes on AWS. -// -// App Mesh supports containerized microservice applications that use service -// discovery naming for their components. To use App Mesh, you must have a containerized -// application running on Amazon EC2 instances, hosted in either Amazon ECS, -// Amazon EKS, or Kubernetes on AWS. For more information about service discovery -// on Amazon ECS, see Service Discovery (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) +// every microservice in an application. You can use App Mesh with AWS Fargate, +// Amazon ECS, Amazon EKS, and Kubernetes on AWS. +// +// App Mesh supports microservice applications that use service discovery naming +// for their components. To use App Mesh, you must have an application running +// on Amazon EC2 instances, hosted in either Amazon ECS, Amazon EKS, or Kubernetes +// on AWS. For more information about service discovery on Amazon ECS, see Service +// Discovery (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) // in the Amazon Elastic Container Service Developer Guide. Kubernetes kube-dns // and coredns are supported. For more information, see DNS for Services and // Pods (https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/) diff --git a/vendor/github.com/aws/aws-sdk-go/service/appmesh/errors.go b/vendor/github.com/aws/aws-sdk-go/service/appmesh/errors.go index 697c04ec3618..28009c075022 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appmesh/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appmesh/errors.go @@ -65,4 +65,12 @@ const ( // for your account. For best results, use an increasing or variable sleep interval // between requests. ErrCodeTooManyRequestsException = "TooManyRequestsException" + + // ErrCodeTooManyTagsException for service response error code + // "TooManyTagsException". + // + // The request exceeds the maximum allowed number of tags allowed per resource. + // The current limit is 50 user tags per resource. You must reduce the number + // of tags in the request. None of the tags in this request were applied. + ErrCodeTooManyTagsException = "TooManyTagsException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go b/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go index 6f7a410bceaf..733ae8f7323e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go @@ -13,6 +13,89 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) +const opAcceptDirectConnectGatewayAssociationProposal = "AcceptDirectConnectGatewayAssociationProposal" + +// AcceptDirectConnectGatewayAssociationProposalRequest generates a "aws/request.Request" representing the +// client's request for the AcceptDirectConnectGatewayAssociationProposal 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 AcceptDirectConnectGatewayAssociationProposal for more information on using the AcceptDirectConnectGatewayAssociationProposal +// 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 AcceptDirectConnectGatewayAssociationProposalRequest method. +// req, resp := client.AcceptDirectConnectGatewayAssociationProposalRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AcceptDirectConnectGatewayAssociationProposal +func (c *DirectConnect) AcceptDirectConnectGatewayAssociationProposalRequest(input *AcceptDirectConnectGatewayAssociationProposalInput) (req *request.Request, output *AcceptDirectConnectGatewayAssociationProposalOutput) { + op := &request.Operation{ + Name: opAcceptDirectConnectGatewayAssociationProposal, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AcceptDirectConnectGatewayAssociationProposalInput{} + } + + output = &AcceptDirectConnectGatewayAssociationProposalOutput{} + req = c.newRequest(op, input, output) + return +} + +// AcceptDirectConnectGatewayAssociationProposal API operation for AWS Direct Connect. +// +// Accepts a proposal request to attach a virtual private gateway to a Direct +// Connect gateway. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Direct Connect's +// API operation AcceptDirectConnectGatewayAssociationProposal for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServerException "DirectConnectServerException" +// A server-side error occurred. +// +// * ErrCodeClientException "DirectConnectClientException" +// One or more parameters are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AcceptDirectConnectGatewayAssociationProposal +func (c *DirectConnect) AcceptDirectConnectGatewayAssociationProposal(input *AcceptDirectConnectGatewayAssociationProposalInput) (*AcceptDirectConnectGatewayAssociationProposalOutput, error) { + req, out := c.AcceptDirectConnectGatewayAssociationProposalRequest(input) + return out, req.Send() +} + +// AcceptDirectConnectGatewayAssociationProposalWithContext is the same as AcceptDirectConnectGatewayAssociationProposal with the addition of +// the ability to pass a context and additional request options. +// +// See AcceptDirectConnectGatewayAssociationProposal 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 *DirectConnect) AcceptDirectConnectGatewayAssociationProposalWithContext(ctx aws.Context, input *AcceptDirectConnectGatewayAssociationProposalInput, opts ...request.Option) (*AcceptDirectConnectGatewayAssociationProposalOutput, error) { + req, out := c.AcceptDirectConnectGatewayAssociationProposalRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAllocateConnectionOnInterconnect = "AllocateConnectionOnInterconnect" // AllocateConnectionOnInterconnectRequest generates a "aws/request.Request" representing the @@ -69,7 +152,7 @@ func (c *DirectConnect) AllocateConnectionOnInterconnectRequest(input *AllocateC // Allocates a VLAN number and a specified amount of bandwidth for use by a // hosted connection on the specified interconnect. // -// Intended for use by AWS Direct Connect partners only. +// Intended for use by AWS Direct Connect Partners only. // // 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 @@ -156,12 +239,15 @@ func (c *DirectConnect) AllocateHostedConnectionRequest(input *AllocateHostedCon // AllocateHostedConnection API operation for AWS Direct Connect. // // Creates a hosted connection on the specified interconnect or a link aggregation -// group (LAG). +// group (LAG) of interconnects. // -// Allocates a VLAN number and a specified amount of bandwidth for use by a -// hosted connection on the specified interconnect or LAG. +// Allocates a VLAN number and a specified amount of capacity (bandwidth) for +// use by a hosted connection on the specified interconnect or LAG of interconnects. +// AWS polices the hosted connection for the specified capacity and the AWS +// Direct Connect Partner must also police the hosted connection for the specified +// capacity. // -// Intended for use by AWS Direct Connect partners only. +// Intended for use by AWS Direct Connect Partners only. // // 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 @@ -527,7 +613,7 @@ func (c *DirectConnect) AssociateHostedConnectionRequest(input *AssociateHostedC // fails. This action temporarily interrupts the hosted connection's connectivity // to AWS as it is being migrated. // -// Intended for use by AWS Direct Connect partners only. +// Intended for use by AWS Direct Connect Partners only. // // 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 @@ -1280,6 +1366,93 @@ func (c *DirectConnect) CreateDirectConnectGatewayAssociationWithContext(ctx aws return out, req.Send() } +const opCreateDirectConnectGatewayAssociationProposal = "CreateDirectConnectGatewayAssociationProposal" + +// CreateDirectConnectGatewayAssociationProposalRequest generates a "aws/request.Request" representing the +// client's request for the CreateDirectConnectGatewayAssociationProposal 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 CreateDirectConnectGatewayAssociationProposal for more information on using the CreateDirectConnectGatewayAssociationProposal +// 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 CreateDirectConnectGatewayAssociationProposalRequest method. +// req, resp := client.CreateDirectConnectGatewayAssociationProposalRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateDirectConnectGatewayAssociationProposal +func (c *DirectConnect) CreateDirectConnectGatewayAssociationProposalRequest(input *CreateDirectConnectGatewayAssociationProposalInput) (req *request.Request, output *CreateDirectConnectGatewayAssociationProposalOutput) { + op := &request.Operation{ + Name: opCreateDirectConnectGatewayAssociationProposal, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDirectConnectGatewayAssociationProposalInput{} + } + + output = &CreateDirectConnectGatewayAssociationProposalOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDirectConnectGatewayAssociationProposal API operation for AWS Direct Connect. +// +// Creates a proposal to associate the specified virtual private gateway with +// the specified Direct Connect gateway. +// +// You can only associate a Direct Connect gateway and virtual private gateway +// when the account that owns the Direct Connect gateway and the account that +// owns the virtual private gateway have the same payer ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Direct Connect's +// API operation CreateDirectConnectGatewayAssociationProposal for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServerException "DirectConnectServerException" +// A server-side error occurred. +// +// * ErrCodeClientException "DirectConnectClientException" +// One or more parameters are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateDirectConnectGatewayAssociationProposal +func (c *DirectConnect) CreateDirectConnectGatewayAssociationProposal(input *CreateDirectConnectGatewayAssociationProposalInput) (*CreateDirectConnectGatewayAssociationProposalOutput, error) { + req, out := c.CreateDirectConnectGatewayAssociationProposalRequest(input) + return out, req.Send() +} + +// CreateDirectConnectGatewayAssociationProposalWithContext is the same as CreateDirectConnectGatewayAssociationProposal with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDirectConnectGatewayAssociationProposal 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 *DirectConnect) CreateDirectConnectGatewayAssociationProposalWithContext(ctx aws.Context, input *CreateDirectConnectGatewayAssociationProposalInput, opts ...request.Option) (*CreateDirectConnectGatewayAssociationProposalOutput, error) { + req, out := c.CreateDirectConnectGatewayAssociationProposalRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateInterconnect = "CreateInterconnect" // CreateInterconnectRequest generates a "aws/request.Request" representing the @@ -1324,16 +1497,16 @@ func (c *DirectConnect) CreateInterconnectRequest(input *CreateInterconnectInput // CreateInterconnect API operation for AWS Direct Connect. // -// Creates an interconnect between an AWS Direct Connect partner's network and +// Creates an interconnect between an AWS Direct Connect Partner's network and // a specific AWS Direct Connect location. // -// An interconnect is a connection which is capable of hosting other connections. -// The partner can use an interconnect to provide sub-1Gbps AWS Direct Connect -// service to tier 2 customers who do not have their own connections. Like a -// standard connection, an interconnect links the partner's network to an AWS -// Direct Connect location over a standard Ethernet fiber-optic cable. One end -// is connected to the partner's router, the other to an AWS Direct Connect -// router. +// An interconnect is a connection that is capable of hosting other connections. +// The AWS Direct Connect partner can use an interconnect to provide AWS Direct +// Connect hosted connections to customers through their own network services. +// Like a standard connection, an interconnect links the partner's network to +// an AWS Direct Connect location over a standard Ethernet fiber-optic cable. +// One end is connected to the partner's router, the other to an AWS Direct +// Connect router. // // You can automatically add the new interconnect to a link aggregation group // (LAG) by specifying a LAG ID in the request. This ensures that the new interconnect @@ -1341,12 +1514,12 @@ func (c *DirectConnect) CreateInterconnectRequest(input *CreateInterconnectInput // LAG. If there are no available ports on the endpoint, the request fails and // no interconnect is created. // -// For each end customer, the AWS Direct Connect partner provisions a connection -// on their interconnect by calling AllocateConnectionOnInterconnect. The end -// customer can then connect to AWS resources by creating a virtual interface -// on their connection, using the VLAN assigned to them by the partner. +// For each end customer, the AWS Direct Connect Partner provisions a connection +// on their interconnect by calling AllocateHostedConnection. The end customer +// can then connect to AWS resources by creating a virtual interface on their +// connection, using the VLAN assigned to them by the AWS Direct Connect Partner. // -// Intended for use by AWS Direct Connect partners only. +// Intended for use by AWS Direct Connect Partners only. // // 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 @@ -1450,7 +1623,7 @@ func (c *DirectConnect) CreateLagRequest(input *CreateLagInput) (req *request.Re // and re-associated with the LAG. The connection ID does not change. // // If the AWS account used to create a LAG is a registered AWS Direct Connect -// partner, the LAG is automatically enabled to host sub-connections. For a +// Partner, the LAG is automatically enabled to host sub-connections. For a // LAG owned by a partner, any associated virtual interfaces cannot be directly // configured. // @@ -2006,6 +2179,89 @@ func (c *DirectConnect) DeleteDirectConnectGatewayAssociationWithContext(ctx aws return out, req.Send() } +const opDeleteDirectConnectGatewayAssociationProposal = "DeleteDirectConnectGatewayAssociationProposal" + +// DeleteDirectConnectGatewayAssociationProposalRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDirectConnectGatewayAssociationProposal 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 DeleteDirectConnectGatewayAssociationProposal for more information on using the DeleteDirectConnectGatewayAssociationProposal +// 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 DeleteDirectConnectGatewayAssociationProposalRequest method. +// req, resp := client.DeleteDirectConnectGatewayAssociationProposalRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteDirectConnectGatewayAssociationProposal +func (c *DirectConnect) DeleteDirectConnectGatewayAssociationProposalRequest(input *DeleteDirectConnectGatewayAssociationProposalInput) (req *request.Request, output *DeleteDirectConnectGatewayAssociationProposalOutput) { + op := &request.Operation{ + Name: opDeleteDirectConnectGatewayAssociationProposal, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDirectConnectGatewayAssociationProposalInput{} + } + + output = &DeleteDirectConnectGatewayAssociationProposalOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDirectConnectGatewayAssociationProposal API operation for AWS Direct Connect. +// +// Deletes the association proposal request between the specified Direct Connect +// gateway and virtual private gateway. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Direct Connect's +// API operation DeleteDirectConnectGatewayAssociationProposal for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServerException "DirectConnectServerException" +// A server-side error occurred. +// +// * ErrCodeClientException "DirectConnectClientException" +// One or more parameters are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DeleteDirectConnectGatewayAssociationProposal +func (c *DirectConnect) DeleteDirectConnectGatewayAssociationProposal(input *DeleteDirectConnectGatewayAssociationProposalInput) (*DeleteDirectConnectGatewayAssociationProposalOutput, error) { + req, out := c.DeleteDirectConnectGatewayAssociationProposalRequest(input) + return out, req.Send() +} + +// DeleteDirectConnectGatewayAssociationProposalWithContext is the same as DeleteDirectConnectGatewayAssociationProposal with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDirectConnectGatewayAssociationProposal 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 *DirectConnect) DeleteDirectConnectGatewayAssociationProposalWithContext(ctx aws.Context, input *DeleteDirectConnectGatewayAssociationProposalInput, opts ...request.Option) (*DeleteDirectConnectGatewayAssociationProposalOutput, error) { + req, out := c.DeleteDirectConnectGatewayAssociationProposalRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteInterconnect = "DeleteInterconnect" // DeleteInterconnectRequest generates a "aws/request.Request" representing the @@ -2052,7 +2308,7 @@ func (c *DirectConnect) DeleteInterconnectRequest(input *DeleteInterconnectInput // // Deletes the specified interconnect. // -// Intended for use by AWS Direct Connect partners only. +// Intended for use by AWS Direct Connect Partners only. // // 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 @@ -2489,7 +2745,7 @@ func (c *DirectConnect) DescribeConnectionsOnInterconnectRequest(input *Describe // // Lists the connections that have been provisioned on the specified interconnect. // -// Intended for use by AWS Direct Connect partners only. +// Intended for use by AWS Direct Connect Partners only. // // 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 @@ -2531,6 +2787,89 @@ func (c *DirectConnect) DescribeConnectionsOnInterconnectWithContext(ctx aws.Con return out, req.Send() } +const opDescribeDirectConnectGatewayAssociationProposals = "DescribeDirectConnectGatewayAssociationProposals" + +// DescribeDirectConnectGatewayAssociationProposalsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDirectConnectGatewayAssociationProposals 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 DescribeDirectConnectGatewayAssociationProposals for more information on using the DescribeDirectConnectGatewayAssociationProposals +// 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 DescribeDirectConnectGatewayAssociationProposalsRequest method. +// req, resp := client.DescribeDirectConnectGatewayAssociationProposalsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGatewayAssociationProposals +func (c *DirectConnect) DescribeDirectConnectGatewayAssociationProposalsRequest(input *DescribeDirectConnectGatewayAssociationProposalsInput) (req *request.Request, output *DescribeDirectConnectGatewayAssociationProposalsOutput) { + op := &request.Operation{ + Name: opDescribeDirectConnectGatewayAssociationProposals, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDirectConnectGatewayAssociationProposalsInput{} + } + + output = &DescribeDirectConnectGatewayAssociationProposalsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDirectConnectGatewayAssociationProposals API operation for AWS Direct Connect. +// +// Describes one or more association proposals for connection between a virtual +// private gateway and a Direct Connect gateway. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Direct Connect's +// API operation DescribeDirectConnectGatewayAssociationProposals for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServerException "DirectConnectServerException" +// A server-side error occurred. +// +// * ErrCodeClientException "DirectConnectClientException" +// One or more parameters are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DescribeDirectConnectGatewayAssociationProposals +func (c *DirectConnect) DescribeDirectConnectGatewayAssociationProposals(input *DescribeDirectConnectGatewayAssociationProposalsInput) (*DescribeDirectConnectGatewayAssociationProposalsOutput, error) { + req, out := c.DescribeDirectConnectGatewayAssociationProposalsRequest(input) + return out, req.Send() +} + +// DescribeDirectConnectGatewayAssociationProposalsWithContext is the same as DescribeDirectConnectGatewayAssociationProposals with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDirectConnectGatewayAssociationProposals 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 *DirectConnect) DescribeDirectConnectGatewayAssociationProposalsWithContext(ctx aws.Context, input *DescribeDirectConnectGatewayAssociationProposalsInput, opts ...request.Option) (*DescribeDirectConnectGatewayAssociationProposalsOutput, error) { + req, out := c.DescribeDirectConnectGatewayAssociationProposalsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeDirectConnectGatewayAssociations = "DescribeDirectConnectGatewayAssociations" // DescribeDirectConnectGatewayAssociationsRequest generates a "aws/request.Request" representing the @@ -2838,7 +3177,7 @@ func (c *DirectConnect) DescribeHostedConnectionsRequest(input *DescribeHostedCo // Lists the hosted connections that have been provisioned on the specified // interconnect or link aggregation group (LAG). // -// Intended for use by AWS Direct Connect partners only. +// Intended for use by AWS Direct Connect Partners only. // // 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 @@ -3616,7 +3955,7 @@ func (c *DirectConnect) DisassociateConnectionFromLagRequest(input *Disassociate // is not deleted; to delete the connection, use the DeleteConnection request). // If the LAG has associated virtual interfaces or hosted connections, they // remain associated with the LAG. A disassociated connection owned by an AWS -// Direct Connect partner is automatically converted to an interconnect. +// Direct Connect Partner is automatically converted to an interconnect. // // If disassociating the connection would cause the LAG to fall below its setting // for minimum number of operational connections, the request fails, except @@ -3835,6 +4174,90 @@ func (c *DirectConnect) UntagResourceWithContext(ctx aws.Context, input *UntagRe return out, req.Send() } +const opUpdateDirectConnectGatewayAssociation = "UpdateDirectConnectGatewayAssociation" + +// UpdateDirectConnectGatewayAssociationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDirectConnectGatewayAssociation 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 UpdateDirectConnectGatewayAssociation for more information on using the UpdateDirectConnectGatewayAssociation +// 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 UpdateDirectConnectGatewayAssociationRequest method. +// req, resp := client.UpdateDirectConnectGatewayAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateDirectConnectGatewayAssociation +func (c *DirectConnect) UpdateDirectConnectGatewayAssociationRequest(input *UpdateDirectConnectGatewayAssociationInput) (req *request.Request, output *UpdateDirectConnectGatewayAssociationOutput) { + op := &request.Operation{ + Name: opUpdateDirectConnectGatewayAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDirectConnectGatewayAssociationInput{} + } + + output = &UpdateDirectConnectGatewayAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDirectConnectGatewayAssociation API operation for AWS Direct Connect. +// +// Updates the specified attributes of the Direct Connect gateway association. +// +// Add or remove prefixes from the association. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Direct Connect's +// API operation UpdateDirectConnectGatewayAssociation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServerException "DirectConnectServerException" +// A server-side error occurred. +// +// * ErrCodeClientException "DirectConnectClientException" +// One or more parameters are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateDirectConnectGatewayAssociation +func (c *DirectConnect) UpdateDirectConnectGatewayAssociation(input *UpdateDirectConnectGatewayAssociationInput) (*UpdateDirectConnectGatewayAssociationOutput, error) { + req, out := c.UpdateDirectConnectGatewayAssociationRequest(input) + return out, req.Send() +} + +// UpdateDirectConnectGatewayAssociationWithContext is the same as UpdateDirectConnectGatewayAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDirectConnectGatewayAssociation 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 *DirectConnect) UpdateDirectConnectGatewayAssociationWithContext(ctx aws.Context, input *UpdateDirectConnectGatewayAssociationInput, opts ...request.Option) (*UpdateDirectConnectGatewayAssociationOutput, error) { + req, out := c.UpdateDirectConnectGatewayAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateLag = "UpdateLag" // UpdateLagRequest generates a "aws/request.Request" representing the @@ -4020,11 +4443,112 @@ func (c *DirectConnect) UpdateVirtualInterfaceAttributesWithContext(ctx aws.Cont return out, req.Send() } +type AcceptDirectConnectGatewayAssociationProposalInput struct { + _ struct{} `type:"structure"` + + // The ID of the AWS account that owns the virtual private gateway. + // + // AssociatedGatewayOwnerAccount is a required field + AssociatedGatewayOwnerAccount *string `locationName:"associatedGatewayOwnerAccount" type:"string" required:"true"` + + // The ID of the Direct Connect gateway. + // + // DirectConnectGatewayId is a required field + DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string" required:"true"` + + // Overrides the Amazon VPC prefixes advertised to the Direct Connect gateway. + OverrideAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"overrideAllowedPrefixesToDirectConnectGateway" type:"list"` + + // The ID of the request proposal. + // + // ProposalId is a required field + ProposalId *string `locationName:"proposalId" type:"string" required:"true"` +} + +// String returns the string representation +func (s AcceptDirectConnectGatewayAssociationProposalInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptDirectConnectGatewayAssociationProposalInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcceptDirectConnectGatewayAssociationProposalInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcceptDirectConnectGatewayAssociationProposalInput"} + if s.AssociatedGatewayOwnerAccount == nil { + invalidParams.Add(request.NewErrParamRequired("AssociatedGatewayOwnerAccount")) + } + if s.DirectConnectGatewayId == nil { + invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayId")) + } + if s.ProposalId == nil { + invalidParams.Add(request.NewErrParamRequired("ProposalId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociatedGatewayOwnerAccount sets the AssociatedGatewayOwnerAccount field's value. +func (s *AcceptDirectConnectGatewayAssociationProposalInput) SetAssociatedGatewayOwnerAccount(v string) *AcceptDirectConnectGatewayAssociationProposalInput { + s.AssociatedGatewayOwnerAccount = &v + return s +} + +// SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value. +func (s *AcceptDirectConnectGatewayAssociationProposalInput) SetDirectConnectGatewayId(v string) *AcceptDirectConnectGatewayAssociationProposalInput { + s.DirectConnectGatewayId = &v + return s +} + +// SetOverrideAllowedPrefixesToDirectConnectGateway sets the OverrideAllowedPrefixesToDirectConnectGateway field's value. +func (s *AcceptDirectConnectGatewayAssociationProposalInput) SetOverrideAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *AcceptDirectConnectGatewayAssociationProposalInput { + s.OverrideAllowedPrefixesToDirectConnectGateway = v + return s +} + +// SetProposalId sets the ProposalId field's value. +func (s *AcceptDirectConnectGatewayAssociationProposalInput) SetProposalId(v string) *AcceptDirectConnectGatewayAssociationProposalInput { + s.ProposalId = &v + return s +} + +type AcceptDirectConnectGatewayAssociationProposalOutput struct { + _ struct{} `type:"structure"` + + // Information about an association between a Direct Connect gateway and a virtual + // private gateway. + DirectConnectGatewayAssociation *GatewayAssociation `locationName:"directConnectGatewayAssociation" type:"structure"` +} + +// String returns the string representation +func (s AcceptDirectConnectGatewayAssociationProposalOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptDirectConnectGatewayAssociationProposalOutput) GoString() string { + return s.String() +} + +// SetDirectConnectGatewayAssociation sets the DirectConnectGatewayAssociation field's value. +func (s *AcceptDirectConnectGatewayAssociationProposalOutput) SetDirectConnectGatewayAssociation(v *GatewayAssociation) *AcceptDirectConnectGatewayAssociationProposalOutput { + s.DirectConnectGatewayAssociation = v + return s +} + type AllocateConnectionOnInterconnectInput struct { _ struct{} `type:"structure"` - // The bandwidth of the connection, in Mbps. The possible values are 50Mbps, - // 100Mbps, 200Mbps, 300Mbps, 400Mbps, and 500Mbps. + // The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, + // 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note + // that only those AWS Direct Connect Partners who have met specific requirements + // are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection. // // Bandwidth is a required field Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"` @@ -4119,8 +4643,10 @@ func (s *AllocateConnectionOnInterconnectInput) SetVlan(v int64) *AllocateConnec type AllocateHostedConnectionInput struct { _ struct{} `type:"structure"` - // The bandwidth of the hosted connection, in Mbps. The possible values are - // 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, and 500Mbps. + // The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, + // 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note + // that only those AWS Direct Connect Partners who have met specific requirements + // are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection. // // Bandwidth is a required field Bandwidth *string `locationName:"bandwidth" type:"string" required:"true"` @@ -4509,6 +5035,57 @@ func (s *AssociateVirtualInterfaceInput) SetVirtualInterfaceId(v string) *Associ return s } +// Information about the associated gateway. +type AssociatedGateway struct { + _ struct{} `type:"structure"` + + // The ID of the associated gateway. + Id *string `locationName:"id" type:"string"` + + // The ID of the AWS account that owns the associated virtual private gateway. + OwnerAccount *string `locationName:"ownerAccount" type:"string"` + + // The Region where the associated gateway is located. + Region *string `locationName:"region" type:"string"` + + // The type of associated gateway. + Type *string `locationName:"type" type:"string" enum:"GatewayType"` +} + +// String returns the string representation +func (s AssociatedGateway) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociatedGateway) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *AssociatedGateway) SetId(v string) *AssociatedGateway { + s.Id = &v + return s +} + +// SetOwnerAccount sets the OwnerAccount field's value. +func (s *AssociatedGateway) SetOwnerAccount(v string) *AssociatedGateway { + s.OwnerAccount = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *AssociatedGateway) SetRegion(v string) *AssociatedGateway { + s.Region = &v + return s +} + +// SetType sets the Type field's value. +func (s *AssociatedGateway) SetType(v string) *AssociatedGateway { + s.Type = &v + return s +} + // Information about a BGP peer. type BGPPeer struct { _ struct{} `type:"structure"` @@ -4717,7 +5294,7 @@ type ConfirmPrivateVirtualInterfaceInput struct { DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"` // The ID of the virtual private gateway. - VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` // The ID of the virtual interface. // @@ -5238,15 +5815,19 @@ func (s *CreateConnectionInput) SetLocation(v string) *CreateConnectionInput { type CreateDirectConnectGatewayAssociationInput struct { _ struct{} `type:"structure"` + // The Amazon VPC prefixes to advertise to the Direct Connect gateway + AddAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"addAllowedPrefixesToDirectConnectGateway" type:"list"` + // The ID of the Direct Connect gateway. // // DirectConnectGatewayId is a required field DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string" required:"true"` // The ID of the virtual private gateway. - // - // VirtualGatewayId is a required field - VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string" required:"true"` + GatewayId *string `locationName:"gatewayId" type:"string"` + + // The ID of the virtual private gateway. + VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` } // String returns the string representation @@ -5265,9 +5846,6 @@ func (s *CreateDirectConnectGatewayAssociationInput) Validate() error { if s.DirectConnectGatewayId == nil { invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayId")) } - if s.VirtualGatewayId == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualGatewayId")) - } if invalidParams.Len() > 0 { return invalidParams @@ -5275,38 +5853,157 @@ func (s *CreateDirectConnectGatewayAssociationInput) Validate() error { return nil } +// SetAddAllowedPrefixesToDirectConnectGateway sets the AddAllowedPrefixesToDirectConnectGateway field's value. +func (s *CreateDirectConnectGatewayAssociationInput) SetAddAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *CreateDirectConnectGatewayAssociationInput { + s.AddAllowedPrefixesToDirectConnectGateway = v + return s +} + // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value. func (s *CreateDirectConnectGatewayAssociationInput) SetDirectConnectGatewayId(v string) *CreateDirectConnectGatewayAssociationInput { s.DirectConnectGatewayId = &v return s } +// SetGatewayId sets the GatewayId field's value. +func (s *CreateDirectConnectGatewayAssociationInput) SetGatewayId(v string) *CreateDirectConnectGatewayAssociationInput { + s.GatewayId = &v + return s +} + // SetVirtualGatewayId sets the VirtualGatewayId field's value. func (s *CreateDirectConnectGatewayAssociationInput) SetVirtualGatewayId(v string) *CreateDirectConnectGatewayAssociationInput { s.VirtualGatewayId = &v return s } -type CreateDirectConnectGatewayAssociationOutput struct { +type CreateDirectConnectGatewayAssociationOutput struct { + _ struct{} `type:"structure"` + + // The association to be created. + DirectConnectGatewayAssociation *GatewayAssociation `locationName:"directConnectGatewayAssociation" type:"structure"` +} + +// String returns the string representation +func (s CreateDirectConnectGatewayAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDirectConnectGatewayAssociationOutput) GoString() string { + return s.String() +} + +// SetDirectConnectGatewayAssociation sets the DirectConnectGatewayAssociation field's value. +func (s *CreateDirectConnectGatewayAssociationOutput) SetDirectConnectGatewayAssociation(v *GatewayAssociation) *CreateDirectConnectGatewayAssociationOutput { + s.DirectConnectGatewayAssociation = v + return s +} + +type CreateDirectConnectGatewayAssociationProposalInput struct { + _ struct{} `type:"structure"` + + // The Amazon VPC prefixes to advertise to the Direct Connect gateway. + AddAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"addAllowedPrefixesToDirectConnectGateway" type:"list"` + + // The ID of the Direct Connect gateway. + // + // DirectConnectGatewayId is a required field + DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string" required:"true"` + + // The ID of the AWS account that owns the Direct Connect gateway. + // + // DirectConnectGatewayOwnerAccount is a required field + DirectConnectGatewayOwnerAccount *string `locationName:"directConnectGatewayOwnerAccount" type:"string" required:"true"` + + // The ID of the virtual private gateway. + // + // GatewayId is a required field + GatewayId *string `locationName:"gatewayId" type:"string" required:"true"` + + // The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway. + RemoveAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"removeAllowedPrefixesToDirectConnectGateway" type:"list"` +} + +// String returns the string representation +func (s CreateDirectConnectGatewayAssociationProposalInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDirectConnectGatewayAssociationProposalInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDirectConnectGatewayAssociationProposalInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDirectConnectGatewayAssociationProposalInput"} + if s.DirectConnectGatewayId == nil { + invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayId")) + } + if s.DirectConnectGatewayOwnerAccount == nil { + invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayOwnerAccount")) + } + if s.GatewayId == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddAllowedPrefixesToDirectConnectGateway sets the AddAllowedPrefixesToDirectConnectGateway field's value. +func (s *CreateDirectConnectGatewayAssociationProposalInput) SetAddAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *CreateDirectConnectGatewayAssociationProposalInput { + s.AddAllowedPrefixesToDirectConnectGateway = v + return s +} + +// SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value. +func (s *CreateDirectConnectGatewayAssociationProposalInput) SetDirectConnectGatewayId(v string) *CreateDirectConnectGatewayAssociationProposalInput { + s.DirectConnectGatewayId = &v + return s +} + +// SetDirectConnectGatewayOwnerAccount sets the DirectConnectGatewayOwnerAccount field's value. +func (s *CreateDirectConnectGatewayAssociationProposalInput) SetDirectConnectGatewayOwnerAccount(v string) *CreateDirectConnectGatewayAssociationProposalInput { + s.DirectConnectGatewayOwnerAccount = &v + return s +} + +// SetGatewayId sets the GatewayId field's value. +func (s *CreateDirectConnectGatewayAssociationProposalInput) SetGatewayId(v string) *CreateDirectConnectGatewayAssociationProposalInput { + s.GatewayId = &v + return s +} + +// SetRemoveAllowedPrefixesToDirectConnectGateway sets the RemoveAllowedPrefixesToDirectConnectGateway field's value. +func (s *CreateDirectConnectGatewayAssociationProposalInput) SetRemoveAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *CreateDirectConnectGatewayAssociationProposalInput { + s.RemoveAllowedPrefixesToDirectConnectGateway = v + return s +} + +type CreateDirectConnectGatewayAssociationProposalOutput struct { _ struct{} `type:"structure"` - // The association to be created. - DirectConnectGatewayAssociation *GatewayAssociation `locationName:"directConnectGatewayAssociation" type:"structure"` + // Information about the Direct Connect gateway proposal. + DirectConnectGatewayAssociationProposal *GatewayAssociationProposal `locationName:"directConnectGatewayAssociationProposal" type:"structure"` } // String returns the string representation -func (s CreateDirectConnectGatewayAssociationOutput) String() string { +func (s CreateDirectConnectGatewayAssociationProposalOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDirectConnectGatewayAssociationOutput) GoString() string { +func (s CreateDirectConnectGatewayAssociationProposalOutput) GoString() string { return s.String() } -// SetDirectConnectGatewayAssociation sets the DirectConnectGatewayAssociation field's value. -func (s *CreateDirectConnectGatewayAssociationOutput) SetDirectConnectGatewayAssociation(v *GatewayAssociation) *CreateDirectConnectGatewayAssociationOutput { - s.DirectConnectGatewayAssociation = v +// SetDirectConnectGatewayAssociationProposal sets the DirectConnectGatewayAssociationProposal field's value. +func (s *CreateDirectConnectGatewayAssociationProposalOutput) SetDirectConnectGatewayAssociationProposal(v *GatewayAssociationProposal) *CreateDirectConnectGatewayAssociationProposalOutput { + s.DirectConnectGatewayAssociationProposal = v return s } @@ -5465,7 +6162,8 @@ type CreateLagInput struct { ConnectionId *string `locationName:"connectionId" type:"string"` // The bandwidth of the individual physical connections bundled by the LAG. - // The possible values are 1Gbps and 10Gbps. + // The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, + // 1Gbps, 2Gbps, 5Gbps, and 10Gbps. // // ConnectionsBandwidth is a required field ConnectionsBandwidth *string `locationName:"connectionsBandwidth" type:"string" required:"true"` @@ -5777,15 +6475,14 @@ func (s *DeleteConnectionInput) SetConnectionId(v string) *DeleteConnectionInput type DeleteDirectConnectGatewayAssociationInput struct { _ struct{} `type:"structure"` + // The ID of the Direct Connect gateway association. + AssociationId *string `locationName:"associationId" type:"string"` + // The ID of the Direct Connect gateway. - // - // DirectConnectGatewayId is a required field - DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string" required:"true"` + DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"` // The ID of the virtual private gateway. - // - // VirtualGatewayId is a required field - VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string" required:"true"` + VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` } // String returns the string representation @@ -5798,20 +6495,10 @@ func (s DeleteDirectConnectGatewayAssociationInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDirectConnectGatewayAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDirectConnectGatewayAssociationInput"} - if s.DirectConnectGatewayId == nil { - invalidParams.Add(request.NewErrParamRequired("DirectConnectGatewayId")) - } - if s.VirtualGatewayId == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualGatewayId")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAssociationId sets the AssociationId field's value. +func (s *DeleteDirectConnectGatewayAssociationInput) SetAssociationId(v string) *DeleteDirectConnectGatewayAssociationInput { + s.AssociationId = &v + return s } // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value. @@ -5829,7 +6516,7 @@ func (s *DeleteDirectConnectGatewayAssociationInput) SetVirtualGatewayId(v strin type DeleteDirectConnectGatewayAssociationOutput struct { _ struct{} `type:"structure"` - // The association to be deleted. + // Information about the deleted association. DirectConnectGatewayAssociation *GatewayAssociation `locationName:"directConnectGatewayAssociation" type:"structure"` } @@ -5849,6 +6536,67 @@ func (s *DeleteDirectConnectGatewayAssociationOutput) SetDirectConnectGatewayAss return s } +type DeleteDirectConnectGatewayAssociationProposalInput struct { + _ struct{} `type:"structure"` + + // The ID of the proposal. + // + // ProposalId is a required field + ProposalId *string `locationName:"proposalId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDirectConnectGatewayAssociationProposalInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDirectConnectGatewayAssociationProposalInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDirectConnectGatewayAssociationProposalInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDirectConnectGatewayAssociationProposalInput"} + if s.ProposalId == nil { + invalidParams.Add(request.NewErrParamRequired("ProposalId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProposalId sets the ProposalId field's value. +func (s *DeleteDirectConnectGatewayAssociationProposalInput) SetProposalId(v string) *DeleteDirectConnectGatewayAssociationProposalInput { + s.ProposalId = &v + return s +} + +type DeleteDirectConnectGatewayAssociationProposalOutput struct { + _ struct{} `type:"structure"` + + // The ID of the virtual private gateway. + DirectConnectGatewayAssociationProposal *GatewayAssociationProposal `locationName:"directConnectGatewayAssociationProposal" type:"structure"` +} + +// String returns the string representation +func (s DeleteDirectConnectGatewayAssociationProposalOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDirectConnectGatewayAssociationProposalOutput) GoString() string { + return s.String() +} + +// SetDirectConnectGatewayAssociationProposal sets the DirectConnectGatewayAssociationProposal field's value. +func (s *DeleteDirectConnectGatewayAssociationProposalOutput) SetDirectConnectGatewayAssociationProposal(v *GatewayAssociationProposal) *DeleteDirectConnectGatewayAssociationProposalOutput { + s.DirectConnectGatewayAssociationProposal = v + return s +} + type DeleteDirectConnectGatewayInput struct { _ struct{} `type:"structure"` @@ -6259,20 +7007,124 @@ func (s *DescribeConnectionsOnInterconnectInput) SetInterconnectId(v string) *De return s } +type DescribeDirectConnectGatewayAssociationProposalsInput struct { + _ struct{} `type:"structure"` + + // The ID of the associated virtual private gateway. + AssociatedGatewayId *string `locationName:"associatedGatewayId" type:"string"` + + // The ID of the Direct Connect gateway. + DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + // + // If MaxResults is given a value larger than 100, only 100 results are returned. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ID of the proposal. + ProposalId *string `locationName:"proposalId" type:"string"` +} + +// String returns the string representation +func (s DescribeDirectConnectGatewayAssociationProposalsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDirectConnectGatewayAssociationProposalsInput) GoString() string { + return s.String() +} + +// SetAssociatedGatewayId sets the AssociatedGatewayId field's value. +func (s *DescribeDirectConnectGatewayAssociationProposalsInput) SetAssociatedGatewayId(v string) *DescribeDirectConnectGatewayAssociationProposalsInput { + s.AssociatedGatewayId = &v + return s +} + +// SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value. +func (s *DescribeDirectConnectGatewayAssociationProposalsInput) SetDirectConnectGatewayId(v string) *DescribeDirectConnectGatewayAssociationProposalsInput { + s.DirectConnectGatewayId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeDirectConnectGatewayAssociationProposalsInput) SetMaxResults(v int64) *DescribeDirectConnectGatewayAssociationProposalsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeDirectConnectGatewayAssociationProposalsInput) SetNextToken(v string) *DescribeDirectConnectGatewayAssociationProposalsInput { + s.NextToken = &v + return s +} + +// SetProposalId sets the ProposalId field's value. +func (s *DescribeDirectConnectGatewayAssociationProposalsInput) SetProposalId(v string) *DescribeDirectConnectGatewayAssociationProposalsInput { + s.ProposalId = &v + return s +} + +type DescribeDirectConnectGatewayAssociationProposalsOutput struct { + _ struct{} `type:"structure"` + + // Describes the Direct Connect gateway association proposals. + DirectConnectGatewayAssociationProposals []*GatewayAssociationProposal `locationName:"directConnectGatewayAssociationProposals" type:"list"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeDirectConnectGatewayAssociationProposalsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDirectConnectGatewayAssociationProposalsOutput) GoString() string { + return s.String() +} + +// SetDirectConnectGatewayAssociationProposals sets the DirectConnectGatewayAssociationProposals field's value. +func (s *DescribeDirectConnectGatewayAssociationProposalsOutput) SetDirectConnectGatewayAssociationProposals(v []*GatewayAssociationProposal) *DescribeDirectConnectGatewayAssociationProposalsOutput { + s.DirectConnectGatewayAssociationProposals = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeDirectConnectGatewayAssociationProposalsOutput) SetNextToken(v string) *DescribeDirectConnectGatewayAssociationProposalsOutput { + s.NextToken = &v + return s +} + type DescribeDirectConnectGatewayAssociationsInput struct { _ struct{} `type:"structure"` + // The ID of the associated gateway. + AssociatedGatewayId *string `locationName:"associatedGatewayId" type:"string"` + + // The ID of the Direct Connect gateway association. + AssociationId *string `locationName:"associationId" type:"string"` + // The ID of the Direct Connect gateway. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"` - // The maximum number of associations to return per page. + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + // + // If MaxResults is given a value larger than 100, only 100 results are returned. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The token provided in the previous call to retrieve the next page. NextToken *string `locationName:"nextToken" type:"string"` // The ID of the virtual private gateway. - VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` } // String returns the string representation @@ -6285,6 +7137,18 @@ func (s DescribeDirectConnectGatewayAssociationsInput) GoString() string { return s.String() } +// SetAssociatedGatewayId sets the AssociatedGatewayId field's value. +func (s *DescribeDirectConnectGatewayAssociationsInput) SetAssociatedGatewayId(v string) *DescribeDirectConnectGatewayAssociationsInput { + s.AssociatedGatewayId = &v + return s +} + +// SetAssociationId sets the AssociationId field's value. +func (s *DescribeDirectConnectGatewayAssociationsInput) SetAssociationId(v string) *DescribeDirectConnectGatewayAssociationsInput { + s.AssociationId = &v + return s +} + // SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value. func (s *DescribeDirectConnectGatewayAssociationsInput) SetDirectConnectGatewayId(v string) *DescribeDirectConnectGatewayAssociationsInput { s.DirectConnectGatewayId = &v @@ -6312,7 +7176,7 @@ func (s *DescribeDirectConnectGatewayAssociationsInput) SetVirtualGatewayId(v st type DescribeDirectConnectGatewayAssociationsOutput struct { _ struct{} `type:"structure"` - // The associations. + // Information about the associations. DirectConnectGatewayAssociations []*GatewayAssociation `locationName:"directConnectGatewayAssociations" type:"list"` // The token to retrieve the next page. @@ -6347,7 +7211,10 @@ type DescribeDirectConnectGatewayAttachmentsInput struct { // The ID of the Direct Connect gateway. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"` - // The maximum number of attachments to return per page. + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + // + // If MaxResults is given a value larger than 100, only 100 results are returned. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The token provided in the previous call to retrieve the next page. @@ -6429,7 +7296,10 @@ type DescribeDirectConnectGatewaysInput struct { // The ID of the Direct Connect gateway. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"` - // The maximum number of Direct Connect gateways to return per page. + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + // + // If MaxResults is given a value larger than 100, only 100 results are returned. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The token provided in the previous call to retrieve the next page. @@ -7092,6 +7962,15 @@ func (s *Gateway) SetStateChangeError(v string) *Gateway { type GatewayAssociation struct { _ struct{} `type:"structure"` + // The Amazon VPC prefixes to advertise to the Direct Connect gateway. + AllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"allowedPrefixesToDirectConnectGateway" type:"list"` + + // Information about the associated virtual private gateway. + AssociatedGateway *AssociatedGateway `locationName:"associatedGateway" type:"structure"` + + // The ID of the Direct Connect gateway association. + AssociationId *string `locationName:"associationId" type:"string"` + // The state of the association. The following are the possible values: // // * associating: The initial state after calling CreateDirectConnectGatewayAssociation. @@ -7109,17 +7988,20 @@ type GatewayAssociation struct { // The ID of the Direct Connect gateway. DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"` + // The ID of the AWS account that owns the associated gateway. + DirectConnectGatewayOwnerAccount *string `locationName:"directConnectGatewayOwnerAccount" type:"string"` + // The error message if the state of an object failed to advance. StateChangeError *string `locationName:"stateChangeError" type:"string"` // The ID of the virtual private gateway. Applies only to private virtual interfaces. - VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` // The ID of the AWS account that owns the virtual private gateway. VirtualGatewayOwnerAccount *string `locationName:"virtualGatewayOwnerAccount" type:"string"` // The AWS Region where the virtual private gateway is located. - VirtualGatewayRegion *string `locationName:"virtualGatewayRegion" type:"string"` + VirtualGatewayRegion *string `locationName:"virtualGatewayRegion" deprecated:"true" type:"string"` } // String returns the string representation @@ -7132,6 +8014,24 @@ func (s GatewayAssociation) GoString() string { return s.String() } +// SetAllowedPrefixesToDirectConnectGateway sets the AllowedPrefixesToDirectConnectGateway field's value. +func (s *GatewayAssociation) SetAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *GatewayAssociation { + s.AllowedPrefixesToDirectConnectGateway = v + return s +} + +// SetAssociatedGateway sets the AssociatedGateway field's value. +func (s *GatewayAssociation) SetAssociatedGateway(v *AssociatedGateway) *GatewayAssociation { + s.AssociatedGateway = v + return s +} + +// SetAssociationId sets the AssociationId field's value. +func (s *GatewayAssociation) SetAssociationId(v string) *GatewayAssociation { + s.AssociationId = &v + return s +} + // SetAssociationState sets the AssociationState field's value. func (s *GatewayAssociation) SetAssociationState(v string) *GatewayAssociation { s.AssociationState = &v @@ -7144,6 +8044,12 @@ func (s *GatewayAssociation) SetDirectConnectGatewayId(v string) *GatewayAssocia return s } +// SetDirectConnectGatewayOwnerAccount sets the DirectConnectGatewayOwnerAccount field's value. +func (s *GatewayAssociation) SetDirectConnectGatewayOwnerAccount(v string) *GatewayAssociation { + s.DirectConnectGatewayOwnerAccount = &v + return s +} + // SetStateChangeError sets the StateChangeError field's value. func (s *GatewayAssociation) SetStateChangeError(v string) *GatewayAssociation { s.StateChangeError = &v @@ -7168,6 +8074,94 @@ func (s *GatewayAssociation) SetVirtualGatewayRegion(v string) *GatewayAssociati return s } +// Information about the proposal request to attach a virtual private gateway +// to a DDirect Connect gateway. +type GatewayAssociationProposal struct { + _ struct{} `type:"structure"` + + // Information about the associated virtual private gateway. + AssociatedGateway *AssociatedGateway `locationName:"associatedGateway" type:"structure"` + + // The ID of the Direct Connect gateway. + DirectConnectGatewayId *string `locationName:"directConnectGatewayId" type:"string"` + + // The ID of the AWS account that owns the Direct Connect gateway. + DirectConnectGatewayOwnerAccount *string `locationName:"directConnectGatewayOwnerAccount" type:"string"` + + // The existing Amazon VPC prefixes advertised to the Direct Connect gateway. + ExistingAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"existingAllowedPrefixesToDirectConnectGateway" type:"list"` + + // The ID of the association proposal. + ProposalId *string `locationName:"proposalId" type:"string"` + + // The state of the proposal. The following are possible values: + // + // * accepted: The proposal has been accepted. The Direct Connect gateway + // association is available to use in this state. + // + // * deleted: The proposal has been deleted by the owner that made the proposal. + // The Direct Connect gateway association cannot be used in this state. + // + // * requested: The proposal has been requested. The Direct Connect gateway + // association cannot be used in this state. + ProposalState *string `locationName:"proposalState" type:"string" enum:"GatewayAssociationProposalState"` + + // The Amazon VPC prefixes to advertise to the Direct Connect gateway. + RequestedAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"requestedAllowedPrefixesToDirectConnectGateway" type:"list"` +} + +// String returns the string representation +func (s GatewayAssociationProposal) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GatewayAssociationProposal) GoString() string { + return s.String() +} + +// SetAssociatedGateway sets the AssociatedGateway field's value. +func (s *GatewayAssociationProposal) SetAssociatedGateway(v *AssociatedGateway) *GatewayAssociationProposal { + s.AssociatedGateway = v + return s +} + +// SetDirectConnectGatewayId sets the DirectConnectGatewayId field's value. +func (s *GatewayAssociationProposal) SetDirectConnectGatewayId(v string) *GatewayAssociationProposal { + s.DirectConnectGatewayId = &v + return s +} + +// SetDirectConnectGatewayOwnerAccount sets the DirectConnectGatewayOwnerAccount field's value. +func (s *GatewayAssociationProposal) SetDirectConnectGatewayOwnerAccount(v string) *GatewayAssociationProposal { + s.DirectConnectGatewayOwnerAccount = &v + return s +} + +// SetExistingAllowedPrefixesToDirectConnectGateway sets the ExistingAllowedPrefixesToDirectConnectGateway field's value. +func (s *GatewayAssociationProposal) SetExistingAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *GatewayAssociationProposal { + s.ExistingAllowedPrefixesToDirectConnectGateway = v + return s +} + +// SetProposalId sets the ProposalId field's value. +func (s *GatewayAssociationProposal) SetProposalId(v string) *GatewayAssociationProposal { + s.ProposalId = &v + return s +} + +// SetProposalState sets the ProposalState field's value. +func (s *GatewayAssociationProposal) SetProposalState(v string) *GatewayAssociationProposal { + s.ProposalState = &v + return s +} + +// SetRequestedAllowedPrefixesToDirectConnectGateway sets the RequestedAllowedPrefixesToDirectConnectGateway field's value. +func (s *GatewayAssociationProposal) SetRequestedAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *GatewayAssociationProposal { + s.RequestedAllowedPrefixesToDirectConnectGateway = v + return s +} + // Information about an attachment between a Direct Connect gateway and a virtual // interface. type GatewayAttachment struct { @@ -7398,10 +8392,10 @@ type Lag struct { // Indicates whether the LAG can host other connections. AllowsHostedConnections *bool `locationName:"allowsHostedConnections" type:"boolean"` - // The Direct Connect endpoint that hosts the LAG. + // The AWS Direct Connect endpoint that hosts the LAG. AwsDevice *string `locationName:"awsDevice" deprecated:"true" type:"string"` - // The Direct Connect endpoint that hosts the LAG. + // The AWS Direct Connect endpoint that hosts the LAG. AwsDeviceV2 *string `locationName:"awsDeviceV2" type:"string"` // The connections bundled by the LAG. @@ -7739,7 +8733,7 @@ type NewPrivateVirtualInterface struct { Mtu *int64 `locationName:"mtu" type:"integer"` // The ID of the virtual private gateway. - VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` // The name of the virtual interface assigned by the customer network. // @@ -8435,6 +9429,71 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateDirectConnectGatewayAssociationInput struct { + _ struct{} `type:"structure"` + + // The Amazon VPC prefixes to advertise to the Direct Connect gateway. + AddAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"addAllowedPrefixesToDirectConnectGateway" type:"list"` + + // The ID of the Direct Connect gateway association. + AssociationId *string `locationName:"associationId" type:"string"` + + // The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway. + RemoveAllowedPrefixesToDirectConnectGateway []*RouteFilterPrefix `locationName:"removeAllowedPrefixesToDirectConnectGateway" type:"list"` +} + +// String returns the string representation +func (s UpdateDirectConnectGatewayAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDirectConnectGatewayAssociationInput) GoString() string { + return s.String() +} + +// SetAddAllowedPrefixesToDirectConnectGateway sets the AddAllowedPrefixesToDirectConnectGateway field's value. +func (s *UpdateDirectConnectGatewayAssociationInput) SetAddAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *UpdateDirectConnectGatewayAssociationInput { + s.AddAllowedPrefixesToDirectConnectGateway = v + return s +} + +// SetAssociationId sets the AssociationId field's value. +func (s *UpdateDirectConnectGatewayAssociationInput) SetAssociationId(v string) *UpdateDirectConnectGatewayAssociationInput { + s.AssociationId = &v + return s +} + +// SetRemoveAllowedPrefixesToDirectConnectGateway sets the RemoveAllowedPrefixesToDirectConnectGateway field's value. +func (s *UpdateDirectConnectGatewayAssociationInput) SetRemoveAllowedPrefixesToDirectConnectGateway(v []*RouteFilterPrefix) *UpdateDirectConnectGatewayAssociationInput { + s.RemoveAllowedPrefixesToDirectConnectGateway = v + return s +} + +type UpdateDirectConnectGatewayAssociationOutput struct { + _ struct{} `type:"structure"` + + // Information about an association between a Direct Connect gateway and a virtual + // private gateway. + DirectConnectGatewayAssociation *GatewayAssociation `locationName:"directConnectGatewayAssociation" type:"structure"` +} + +// String returns the string representation +func (s UpdateDirectConnectGatewayAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDirectConnectGatewayAssociationOutput) GoString() string { + return s.String() +} + +// SetDirectConnectGatewayAssociation sets the DirectConnectGatewayAssociation field's value. +func (s *UpdateDirectConnectGatewayAssociationOutput) SetDirectConnectGatewayAssociation(v *GatewayAssociation) *UpdateDirectConnectGatewayAssociationOutput { + s.DirectConnectGatewayAssociation = v + return s +} + type UpdateLagInput struct { _ struct{} `type:"structure"` @@ -8598,7 +9657,7 @@ type UpdateVirtualInterfaceAttributesOutput struct { RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"` // The ID of the virtual private gateway. Applies only to private virtual interfaces. - VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` // The ID of the virtual interface. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"` @@ -8798,7 +9857,7 @@ type VirtualGateway struct { _ struct{} `type:"structure"` // The ID of the virtual private gateway. - VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` // The state of the virtual private gateway. The following are the possible // values: @@ -8894,7 +9953,7 @@ type VirtualInterface struct { RouteFilterPrefixes []*RouteFilterPrefix `locationName:"routeFilterPrefixes" type:"list"` // The ID of the virtual private gateway. Applies only to private virtual interfaces. - VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` + VirtualGatewayId *string `locationName:"virtualGatewayId" deprecated:"true" type:"string"` // The ID of the virtual interface. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"` @@ -9154,6 +10213,17 @@ const ( ConnectionStateUnknown = "unknown" ) +const ( + // GatewayAssociationProposalStateRequested is a GatewayAssociationProposalState enum value + GatewayAssociationProposalStateRequested = "requested" + + // GatewayAssociationProposalStateAccepted is a GatewayAssociationProposalState enum value + GatewayAssociationProposalStateAccepted = "accepted" + + // GatewayAssociationProposalStateDeleted is a GatewayAssociationProposalState enum value + GatewayAssociationProposalStateDeleted = "deleted" +) + const ( // GatewayAssociationStateAssociating is a GatewayAssociationState enum value GatewayAssociationStateAssociating = "associating" @@ -9166,6 +10236,9 @@ const ( // GatewayAssociationStateDisassociated is a GatewayAssociationState enum value GatewayAssociationStateDisassociated = "disassociated" + + // GatewayAssociationStateUpdating is a GatewayAssociationState enum value + GatewayAssociationStateUpdating = "updating" ) const ( @@ -9196,6 +10269,11 @@ const ( GatewayStateDeleted = "deleted" ) +const ( + // GatewayTypeVirtualPrivateGateway is a GatewayType enum value + GatewayTypeVirtualPrivateGateway = "virtualPrivateGateway" +) + const ( // HasLogicalRedundancyUnknown is a HasLogicalRedundancy enum value HasLogicalRedundancyUnknown = "unknown" 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 f53d77005304..a5c5743ce94f 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 @@ -85951,6 +85951,30 @@ const ( // InstanceTypeR5dMetal is a InstanceType enum value InstanceTypeR5dMetal = "r5d.metal" + // InstanceTypeR5adLarge is a InstanceType enum value + InstanceTypeR5adLarge = "r5ad.large" + + // InstanceTypeR5adXlarge is a InstanceType enum value + InstanceTypeR5adXlarge = "r5ad.xlarge" + + // InstanceTypeR5ad2xlarge is a InstanceType enum value + InstanceTypeR5ad2xlarge = "r5ad.2xlarge" + + // InstanceTypeR5ad4xlarge is a InstanceType enum value + InstanceTypeR5ad4xlarge = "r5ad.4xlarge" + + // InstanceTypeR5ad8xlarge is a InstanceType enum value + InstanceTypeR5ad8xlarge = "r5ad.8xlarge" + + // InstanceTypeR5ad12xlarge is a InstanceType enum value + InstanceTypeR5ad12xlarge = "r5ad.12xlarge" + + // InstanceTypeR5ad16xlarge is a InstanceType enum value + InstanceTypeR5ad16xlarge = "r5ad.16xlarge" + + // InstanceTypeR5ad24xlarge is a InstanceType enum value + InstanceTypeR5ad24xlarge = "r5ad.24xlarge" + // InstanceTypeX116xlarge is a InstanceType enum value InstanceTypeX116xlarge = "x1.16xlarge" @@ -86233,6 +86257,30 @@ const ( // InstanceTypeM5dMetal is a InstanceType enum value InstanceTypeM5dMetal = "m5d.metal" + // InstanceTypeM5adLarge is a InstanceType enum value + InstanceTypeM5adLarge = "m5ad.large" + + // InstanceTypeM5adXlarge is a InstanceType enum value + InstanceTypeM5adXlarge = "m5ad.xlarge" + + // InstanceTypeM5ad2xlarge is a InstanceType enum value + InstanceTypeM5ad2xlarge = "m5ad.2xlarge" + + // InstanceTypeM5ad4xlarge is a InstanceType enum value + InstanceTypeM5ad4xlarge = "m5ad.4xlarge" + + // InstanceTypeM5ad8xlarge is a InstanceType enum value + InstanceTypeM5ad8xlarge = "m5ad.8xlarge" + + // InstanceTypeM5ad12xlarge is a InstanceType enum value + InstanceTypeM5ad12xlarge = "m5ad.12xlarge" + + // InstanceTypeM5ad16xlarge is a InstanceType enum value + InstanceTypeM5ad16xlarge = "m5ad.16xlarge" + + // InstanceTypeM5ad24xlarge is a InstanceType enum value + InstanceTypeM5ad24xlarge = "m5ad.24xlarge" + // InstanceTypeH12xlarge is a InstanceType enum value InstanceTypeH12xlarge = "h1.2xlarge" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go b/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go index 962b45072810..462eb30570fc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go @@ -156,9 +156,9 @@ func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Requ // CreateService API operation for Amazon EC2 Container Service. // // Runs and maintains a desired number of tasks from a specified task definition. -// If the number of tasks running in a service drops below desiredCount, Amazon -// ECS spawns another copy of the task in the specified cluster. To update an -// existing service, see UpdateService. +// If the number of tasks running in a service drops below the desiredCount, +// Amazon ECS spawns another copy of the task in the specified cluster. To update +// an existing service, see UpdateService. // // In addition to maintaining the desired count of tasks in your service, you // can optionally run your service behind a load balancer. The load balancer @@ -166,9 +166,33 @@ func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Requ // For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) // in the Amazon Elastic Container Service Developer Guide. // +// Tasks for services that do not use a load balancer are considered healthy +// if they're in the RUNNING state. Tasks for services that do use a load balancer +// are considered healthy if they're in the RUNNING state and the container +// instance that they're hosted on is reported as healthy by the load balancer. +// +// There are two service scheduler strategies available: +// +// * REPLICA - The replica scheduling strategy places and maintains the desired +// number of tasks across your cluster. By default, the service scheduler +// spreads tasks across Availability Zones. You can use task placement strategies +// and constraints to customize task placement decisions. For more information, +// see Service Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) +// in the Amazon Elastic Container Service Developer Guide. +// +// * DAEMON - The daemon scheduling strategy deploys exactly one task on +// each active container instance that meets all of the task placement constraints +// that you specify in your cluster. When using this strategy, you don't +// need to specify a desired number of tasks, a task placement strategy, +// or use Service Auto Scaling policies. For more information, see Service +// Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) +// in the Amazon Elastic Container Service Developer Guide. +// // You can optionally specify a deployment configuration for your service. The // deployment is triggered by changing properties, such as the task definition -// or the desired count of a service, with an UpdateService operation. +// or the desired count of a service, with an UpdateService operation. The default +// value for a replica service for minimumHealthyPercent is 100%. The default +// value for a daemon service for minimumHealthyPercent is 0%. // // If a service is using the ECS deployment controller, the minimum healthy // percent represents a lower limit on the number of tasks in a service that @@ -178,12 +202,12 @@ func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Requ // tasks using the EC2 launch type. This parameter enables you to deploy without // using additional cluster capacity. For example, if your service has a desired // number of four tasks and a minimum healthy percent of 50%, the scheduler -// may stop two existing tasks to free up cluster capacity before starting two -// new tasks. Tasks for services that do not use a load balancer are considered -// healthy if they are in the RUNNING state; tasks for services that do use -// a load balancer are considered healthy if they are in the RUNNING state and -// they are reported as healthy by the load balancer. The default value for -// minimum healthy percent is 100%. +// might stop two existing tasks to free up cluster capacity before starting +// two new tasks. Tasks for services that do not use a load balancer are considered +// healthy if they're in the RUNNING state. Tasks for services that do use a +// load balancer are considered healthy if they're in the RUNNING state and +// they're reported as healthy by the load balancer. The default value for minimum +// healthy percent is 100%. // // If a service is using the ECS deployment controller, the maximum percent // parameter represents an upper limit on the number of tasks in a service that @@ -197,20 +221,21 @@ func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Requ // resources required to do this are available). The default value for maximum // percent is 200%. // -// If a service is using the CODE_DEPLOY deployment controller and tasks that -// use the EC2 launch type, the minimum healthy percent and maximum percent -// values are only used to define the lower and upper limit on the number of -// the tasks in the service that remain in the RUNNING state while the container -// instances are in the DRAINING state. If the tasks in the service use the -// Fargate launch type, the minimum healthy percent and maximum percent values -// are not used, although they are currently visible when describing your service. -// -// Tasks for services that do not use a load balancer are considered healthy -// if they are in the RUNNING state. Tasks for services that do use a load balancer -// are considered healthy if they are in the RUNNING state and the container -// instance they are hosted on is reported as healthy by the load balancer. -// The default value for a replica service for minimumHealthyPercent is 100%. -// The default value for a daemon service for minimumHealthyPercent is 0%. +// If a service is using either the CODE_DEPLOY or EXTERNAL deployment controller +// types and tasks that use the EC2 launch type, the minimum healthy percent +// and maximum percent values are used only to define the lower and upper limit +// on the number of the tasks in the service that remain in the RUNNING state +// while the container instances are in the DRAINING state. If the tasks in +// the service use the Fargate launch type, the minimum healthy percent and +// maximum percent values aren't used, although they're currently visible when +// describing your service. +// +// When creating a service that uses the EXTERNAL deployment controller, you +// can specify only parameters that aren't controlled at the task set level. +// The only required parameter is the service name. You control your services +// using the CreateTaskSet operation. For more information, see Amazon ECS Deployment +// Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) +// in the Amazon Elastic Container Service Developer Guide. // // When the service scheduler launches new tasks, it determines task placement // in your cluster using the following logic: @@ -292,6 +317,122 @@ func (c *ECS) CreateServiceWithContext(ctx aws.Context, input *CreateServiceInpu return out, req.Send() } +const opCreateTaskSet = "CreateTaskSet" + +// CreateTaskSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateTaskSet 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 CreateTaskSet for more information on using the CreateTaskSet +// 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 CreateTaskSetRequest method. +// req, resp := client.CreateTaskSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet +func (c *ECS) CreateTaskSetRequest(input *CreateTaskSetInput) (req *request.Request, output *CreateTaskSetOutput) { + op := &request.Operation{ + Name: opCreateTaskSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTaskSetInput{} + } + + output = &CreateTaskSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTaskSet API operation for Amazon EC2 Container Service. +// +// Create a task set in the specified cluster and service. This is used when +// a service uses the EXTERNAL deployment controller type. For more information, +// see Amazon ECS Deployment Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) +// in the Amazon Elastic Container Service 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 EC2 Container Service's +// API operation CreateTaskSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServerException "ServerException" +// These errors are usually caused by a server issue. +// +// * ErrCodeClientException "ClientException" +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an identifier that is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ErrCodeClusterNotFoundException "ClusterNotFoundException" +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are Region-specific. +// +// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" +// The specified task is not supported in this Region. +// +// * ErrCodePlatformUnknownException "PlatformUnknownException" +// The specified platform version does not exist. +// +// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" +// The specified platform version does not satisfy the task definition's required +// capabilities. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You do not have authorization to perform the requested action. +// +// * ErrCodeServiceNotFoundException "ServiceNotFoundException" +// The specified service could not be found. You can view your available services +// with ListServices. Amazon ECS services are cluster-specific and Region-specific. +// +// * ErrCodeServiceNotActiveException "ServiceNotActiveException" +// The specified service is not active. You can't update a service that is inactive. +// If you have previously deleted a service, you can re-create it with CreateService. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet +func (c *ECS) CreateTaskSet(input *CreateTaskSetInput) (*CreateTaskSetOutput, error) { + req, out := c.CreateTaskSetRequest(input) + return out, req.Send() +} + +// CreateTaskSetWithContext is the same as CreateTaskSet with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTaskSet 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 *ECS) CreateTaskSetWithContext(ctx aws.Context, input *CreateTaskSetInput, opts ...request.Option) (*CreateTaskSetOutput, error) { + req, out := c.CreateTaskSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteAccountSetting = "DeleteAccountSetting" // DeleteAccountSettingRequest generates a "aws/request.Request" representing the @@ -692,6 +833,120 @@ func (c *ECS) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceInpu return out, req.Send() } +const opDeleteTaskSet = "DeleteTaskSet" + +// DeleteTaskSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTaskSet 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 DeleteTaskSet for more information on using the DeleteTaskSet +// 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 DeleteTaskSetRequest method. +// req, resp := client.DeleteTaskSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet +func (c *ECS) DeleteTaskSetRequest(input *DeleteTaskSetInput) (req *request.Request, output *DeleteTaskSetOutput) { + op := &request.Operation{ + Name: opDeleteTaskSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTaskSetInput{} + } + + output = &DeleteTaskSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTaskSet API operation for Amazon EC2 Container Service. +// +// Deletes a specified task set within a service. This is used when a service +// uses the EXTERNAL deployment controller type. For more information, see Amazon +// ECS Deployment Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) +// in the Amazon Elastic Container Service 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 EC2 Container Service's +// API operation DeleteTaskSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServerException "ServerException" +// These errors are usually caused by a server issue. +// +// * ErrCodeClientException "ClientException" +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an identifier that is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ErrCodeClusterNotFoundException "ClusterNotFoundException" +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are Region-specific. +// +// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" +// The specified task is not supported in this Region. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You do not have authorization to perform the requested action. +// +// * ErrCodeServiceNotFoundException "ServiceNotFoundException" +// The specified service could not be found. You can view your available services +// with ListServices. Amazon ECS services are cluster-specific and Region-specific. +// +// * ErrCodeServiceNotActiveException "ServiceNotActiveException" +// The specified service is not active. You can't update a service that is inactive. +// If you have previously deleted a service, you can re-create it with CreateService. +// +// * ErrCodeTaskSetNotFoundException "TaskSetNotFoundException" +// The specified task set could not be found. You can view your available container +// instances with DescribeTaskSets. Task sets are specific to each cluster, +// service and Region. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet +func (c *ECS) DeleteTaskSet(input *DeleteTaskSetInput) (*DeleteTaskSetOutput, error) { + req, out := c.DeleteTaskSetRequest(input) + return out, req.Send() +} + +// DeleteTaskSetWithContext is the same as DeleteTaskSet with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTaskSet 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 *ECS) DeleteTaskSetWithContext(ctx aws.Context, input *DeleteTaskSetInput, opts ...request.Option) (*DeleteTaskSetOutput, error) { + req, out := c.DeleteTaskSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeregisterContainerInstance = "DeregisterContainerInstance" // DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the @@ -1266,6 +1521,115 @@ func (c *ECS) DescribeTaskDefinitionWithContext(ctx aws.Context, input *Describe return out, req.Send() } +const opDescribeTaskSets = "DescribeTaskSets" + +// DescribeTaskSetsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTaskSets 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 DescribeTaskSets for more information on using the DescribeTaskSets +// 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 DescribeTaskSetsRequest method. +// req, resp := client.DescribeTaskSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets +func (c *ECS) DescribeTaskSetsRequest(input *DescribeTaskSetsInput) (req *request.Request, output *DescribeTaskSetsOutput) { + op := &request.Operation{ + Name: opDescribeTaskSets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeTaskSetsInput{} + } + + output = &DescribeTaskSetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeTaskSets API operation for Amazon EC2 Container Service. +// +// Describes the task sets in the specified cluster and service. This is used +// when a service uses the EXTERNAL deployment controller type. For more information, +// see Amazon ECS Deployment Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) +// in the Amazon Elastic Container Service 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 EC2 Container Service's +// API operation DescribeTaskSets for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServerException "ServerException" +// These errors are usually caused by a server issue. +// +// * ErrCodeClientException "ClientException" +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an identifier that is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ErrCodeClusterNotFoundException "ClusterNotFoundException" +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are Region-specific. +// +// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" +// The specified task is not supported in this Region. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You do not have authorization to perform the requested action. +// +// * ErrCodeServiceNotFoundException "ServiceNotFoundException" +// The specified service could not be found. You can view your available services +// with ListServices. Amazon ECS services are cluster-specific and Region-specific. +// +// * ErrCodeServiceNotActiveException "ServiceNotActiveException" +// The specified service is not active. You can't update a service that is inactive. +// If you have previously deleted a service, you can re-create it with CreateService. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets +func (c *ECS) DescribeTaskSets(input *DescribeTaskSetsInput) (*DescribeTaskSetsOutput, error) { + req, out := c.DescribeTaskSetsRequest(input) + return out, req.Send() +} + +// DescribeTaskSetsWithContext is the same as DescribeTaskSets with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeTaskSets 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 *ECS) DescribeTaskSetsWithContext(ctx aws.Context, input *DescribeTaskSetsInput, opts ...request.Option) (*DescribeTaskSetsOutput, error) { + req, out := c.DescribeTaskSetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeTasks = "DescribeTasks" // DescribeTasksRequest generates a "aws/request.Request" representing the @@ -4123,6 +4487,12 @@ func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Requ // be created. For more information, see CreateDeployment (https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html) // in the AWS CodeDeploy API Reference. // +// For services using an external deployment controller, you can update only +// the desired count and health check grace period using this API. If the launch +// type, load balancer, network configuration, platform version, or task definition +// need to be updated, you should create a new task set. For more information, +// see CreateTaskSet. +// // You can add to or subtract from the number of instantiations of a task definition // in a service by specifying the cluster that the service is running in and // a new desiredCount parameter. @@ -4202,7 +4572,237 @@ func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Requ // the error. // // See the AWS API reference guide for Amazon EC2 Container Service's -// API operation UpdateService for usage and error information. +// API operation UpdateService for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServerException "ServerException" +// These errors are usually caused by a server issue. +// +// * ErrCodeClientException "ClientException" +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an identifier that is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ErrCodeClusterNotFoundException "ClusterNotFoundException" +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are Region-specific. +// +// * ErrCodeServiceNotFoundException "ServiceNotFoundException" +// The specified service could not be found. You can view your available services +// with ListServices. Amazon ECS services are cluster-specific and Region-specific. +// +// * ErrCodeServiceNotActiveException "ServiceNotActiveException" +// The specified service is not active. You can't update a service that is inactive. +// If you have previously deleted a service, you can re-create it with CreateService. +// +// * ErrCodePlatformUnknownException "PlatformUnknownException" +// The specified platform version does not exist. +// +// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" +// The specified platform version does not satisfy the task definition's required +// capabilities. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You do not have authorization to perform the requested action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService +func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { + req, out := c.UpdateServiceRequest(input) + return out, req.Send() +} + +// UpdateServiceWithContext is the same as UpdateService with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateService 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 *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { + req, out := c.UpdateServiceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateServicePrimaryTaskSet = "UpdateServicePrimaryTaskSet" + +// UpdateServicePrimaryTaskSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateServicePrimaryTaskSet 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 UpdateServicePrimaryTaskSet for more information on using the UpdateServicePrimaryTaskSet +// 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 UpdateServicePrimaryTaskSetRequest method. +// req, resp := client.UpdateServicePrimaryTaskSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet +func (c *ECS) UpdateServicePrimaryTaskSetRequest(input *UpdateServicePrimaryTaskSetInput) (req *request.Request, output *UpdateServicePrimaryTaskSetOutput) { + op := &request.Operation{ + Name: opUpdateServicePrimaryTaskSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateServicePrimaryTaskSetInput{} + } + + output = &UpdateServicePrimaryTaskSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateServicePrimaryTaskSet API operation for Amazon EC2 Container Service. +// +// Modifies which task set in a service is the primary task set. Any parameters +// that are updated on the primary task set in a service will transition to +// the service. This is used when a service uses the EXTERNAL deployment controller +// type. For more information, see Amazon ECS Deployment Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) +// in the Amazon Elastic Container Service 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 EC2 Container Service's +// API operation UpdateServicePrimaryTaskSet for usage and error information. +// +// Returned Error Codes: +// * ErrCodeServerException "ServerException" +// These errors are usually caused by a server issue. +// +// * ErrCodeClientException "ClientException" +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an identifier that is not valid. +// +// * ErrCodeInvalidParameterException "InvalidParameterException" +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// * ErrCodeClusterNotFoundException "ClusterNotFoundException" +// The specified cluster could not be found. You can view your available clusters +// with ListClusters. Amazon ECS clusters are Region-specific. +// +// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" +// The specified task is not supported in this Region. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You do not have authorization to perform the requested action. +// +// * ErrCodeServiceNotFoundException "ServiceNotFoundException" +// The specified service could not be found. You can view your available services +// with ListServices. Amazon ECS services are cluster-specific and Region-specific. +// +// * ErrCodeServiceNotActiveException "ServiceNotActiveException" +// The specified service is not active. You can't update a service that is inactive. +// If you have previously deleted a service, you can re-create it with CreateService. +// +// * ErrCodeTaskSetNotFoundException "TaskSetNotFoundException" +// The specified task set could not be found. You can view your available container +// instances with DescribeTaskSets. Task sets are specific to each cluster, +// service and Region. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You do not have authorization to perform the requested action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet +func (c *ECS) UpdateServicePrimaryTaskSet(input *UpdateServicePrimaryTaskSetInput) (*UpdateServicePrimaryTaskSetOutput, error) { + req, out := c.UpdateServicePrimaryTaskSetRequest(input) + return out, req.Send() +} + +// UpdateServicePrimaryTaskSetWithContext is the same as UpdateServicePrimaryTaskSet with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateServicePrimaryTaskSet 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 *ECS) UpdateServicePrimaryTaskSetWithContext(ctx aws.Context, input *UpdateServicePrimaryTaskSetInput, opts ...request.Option) (*UpdateServicePrimaryTaskSetOutput, error) { + req, out := c.UpdateServicePrimaryTaskSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTaskSet = "UpdateTaskSet" + +// UpdateTaskSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTaskSet 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 UpdateTaskSet for more information on using the UpdateTaskSet +// 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 UpdateTaskSetRequest method. +// req, resp := client.UpdateTaskSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet +func (c *ECS) UpdateTaskSetRequest(input *UpdateTaskSetInput) (req *request.Request, output *UpdateTaskSetOutput) { + op := &request.Operation{ + Name: opUpdateTaskSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTaskSetInput{} + } + + output = &UpdateTaskSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTaskSet API operation for Amazon EC2 Container Service. +// +// Modifies a task set. This is used when a service uses the EXTERNAL deployment +// controller type. For more information, see Amazon ECS Deployment Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) +// in the Amazon Elastic Container Service 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 EC2 Container Service's +// API operation UpdateTaskSet for usage and error information. // // Returned Error Codes: // * ErrCodeServerException "ServerException" @@ -4221,6 +4821,12 @@ func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Requ // The specified cluster could not be found. You can view your available clusters // with ListClusters. Amazon ECS clusters are Region-specific. // +// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" +// The specified task is not supported in this Region. +// +// * ErrCodeAccessDeniedException "AccessDeniedException" +// You do not have authorization to perform the requested action. +// // * ErrCodeServiceNotFoundException "ServiceNotFoundException" // The specified service could not be found. You can view your available services // with ListServices. Amazon ECS services are cluster-specific and Region-specific. @@ -4229,33 +4835,28 @@ func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Requ // The specified service is not active. You can't update a service that is inactive. // If you have previously deleted a service, you can re-create it with CreateService. // -// * ErrCodePlatformUnknownException "PlatformUnknownException" -// The specified platform version does not exist. -// -// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" -// The specified platform version does not satisfy the task definition's required -// capabilities. -// -// * ErrCodeAccessDeniedException "AccessDeniedException" -// You do not have authorization to perform the requested action. +// * ErrCodeTaskSetNotFoundException "TaskSetNotFoundException" +// The specified task set could not be found. You can view your available container +// instances with DescribeTaskSets. Task sets are specific to each cluster, +// service and Region. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService -func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { - req, out := c.UpdateServiceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet +func (c *ECS) UpdateTaskSet(input *UpdateTaskSetInput) (*UpdateTaskSetOutput, error) { + req, out := c.UpdateTaskSetRequest(input) return out, req.Send() } -// UpdateServiceWithContext is the same as UpdateService with the addition of +// UpdateTaskSetWithContext is the same as UpdateTaskSet with the addition of // the ability to pass a context and additional request options. // -// See UpdateService for details on how to use this API operation. +// See UpdateTaskSet 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 *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { - req, out := c.UpdateServiceRequest(input) +func (c *ECS) UpdateTaskSetWithContext(ctx aws.Context, input *UpdateTaskSetInput, opts ...request.Option) (*UpdateTaskSetOutput, error) { + req, out := c.UpdateTaskSetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -4841,8 +5442,22 @@ type ContainerDefinition struct { // of CPU that is described in the task definition. Cpu *int64 `locationName:"cpu" type:"integer"` - // The dependencies defined for container startup. A container can contain multiple - // dependencies. + // The dependencies defined for container startup and shutdown. A container + // can contain multiple dependencies. When a dependency is defined for container + // startup, for container shutdown it is reversed. + // + // Your Amazon ECS container instances require at least version 1.26.0 of the + // container agent to enable container dependencies. However, we recommend using + // the latest container agent version. For information about checking your agent + // version and updating to the latest version, see Updating the Amazon ECS Container + // Agent (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) + // in the Amazon Elastic Container Service Developer Guide. If you are using + // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 + // of the ecs-init package. If your container instances are launched from version + // 20190301 or later, then they contain the required versions of the container + // agent and ecs-init. For more information, see Amazon ECS-optimized Linux + // AMI (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) + // in the Amazon Elastic Container Service Developer Guide. DependsOn []*ContainerDependency `locationName:"dependsOn" type:"list"` // When this parameter is true, networking is disabled within the container. @@ -5182,17 +5797,44 @@ type ContainerDefinition struct { // in the Amazon Elastic Container Service Developer Guide. Secrets []*Secret `locationName:"secrets" type:"list"` - // Time duration to wait before giving up on starting the container. - // - // The startTimeout value for the container will take precedence over the ECS_CONTAINER_START_TIMEOUT - // container agent configuration parameter, if used. + // Time duration to wait before giving up on resolving dependencies for a container. + // For example, you specify two containers in a task definition with containerA + // having a dependency on containerB reaching a COMPLETE, SUCCESS, or HEALTHY + // status. If a startTimeout value is specified for containerB and it does not + // reach the desired status within that time then containerA will give up and + // not start. This results in the task transitioning to a STOPPED state. + // + // Your Amazon ECS container instances require at least version 1.26.0 of the + // container agent to enable a container start timeout value. However, we recommend + // using the latest container agent version. For information about checking + // your agent version and updating to the latest version, see Updating the Amazon + // ECS Container Agent (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) + // in the Amazon Elastic Container Service Developer Guide. If you are using + // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 + // of the ecs-init package. If your container instances are launched from version + // 20190301 or later, then they contain the required versions of the container + // agent and ecs-init. For more information, see Amazon ECS-optimized Linux + // AMI (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) + // in the Amazon Elastic Container Service Developer Guide. StartTimeout *int64 `locationName:"startTimeout" type:"integer"` - // Time duration to wait before the container is forcefully killed if it does - // not exit normally on its own. - // - // The stopTimeout value for the container will take precedence over the ECS_CONTAINER_STOP_TIMEOUT - // container agent configuration parameter, if used. + // Time duration to wait before the container is forcefully killed if it doesn't + // exit normally on its own. The stop timeout value for the container takes + // precedence over the ECS_CONTAINER_STOP_TIMEOUT container agent configuration + // parameter, if used. + // + // Your Amazon ECS container instances require at least version 1.26.0 of the + // container agent to enable a container stop timeout value. However, we recommend + // using the latest container agent version. For information about checking + // your agent version and updating to the latest version, see Updating the Amazon + // ECS Container Agent (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) + // in the Amazon Elastic Container Service Developer Guide. If you are using + // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 + // of the ecs-init package. If your container instances are launched from version + // 20190301 or later, then they contain the required versions of the container + // agent and ecs-init. For more information, see Amazon ECS-optimized Linux + // AMI (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) + // in the Amazon Elastic Container Service Developer Guide. StopTimeout *int64 `locationName:"stopTimeout" type:"integer"` // A list of namespaced kernel parameters to set in the container. This parameter @@ -5221,13 +5863,13 @@ type ContainerDefinition struct { // This parameter is not supported for Windows containers. Ulimits []*Ulimit `locationName:"ulimits" type:"list"` - // The username to use inside the container. This parameter maps to User in + // The user name to use inside the container. This parameter maps to User in // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). // - // This following formats can be used. If specifying a UID or GID, it must be - // specified as a positive integer. + // You can use the following formats. If specifying a UID or GID, you must specify + // it as a positive integer. // // * user // @@ -5569,8 +6211,25 @@ func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition return s } -// The dependencies defined for container startup. A container can contain multiple -// dependencies. +// The dependencies defined for container startup and shutdown. A container +// can contain multiple dependencies. When a dependency is defined for container +// startup, for container shutdown it is reversed. +// +// Your Amazon ECS container instances require at least version 1.26.0 of the +// container agent to enable container dependencies. However, we recommend using +// the latest container agent version. For information about checking your agent +// version and updating to the latest version, see Updating the Amazon ECS Container +// Agent (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) +// in the Amazon Elastic Container Service Developer Guide. If you are using +// an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 +// of the ecs-init package. If your container instances are launched from version +// 20190301 or later, then they contain the required versions of the container +// agent and ecs-init. For more information, see Amazon ECS-optimized Linux +// AMI (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) +// in the Amazon Elastic Container Service Developer Guide. +// +// If you are using tasks that use the Fargate launch type, container dependency +// parameters are not supported. type ContainerDependency struct { _ struct{} `type:"structure"` @@ -5583,16 +6242,15 @@ type ContainerDependency struct { // // * COMPLETE - This condition validates that a dependent container runs // to completion (exits) before permitting other containers to start. This - // can be useful for non-essential containers that run a script and then - // subsequently exit. + // can be useful for nonessential containers that run a script and then exit. // - // * SUCCESS - This condition is the same as COMPLETE, but it will also require + // * SUCCESS - This condition is the same as COMPLETE, but it also requires // that the container exits with a zero status. // // * HEALTHY - This condition validates that the dependent container passes // its Docker health check before permitting other containers to start. This // requires that the dependent container has health checks configured. This - // condition will only be confirmed at task startup. + // condition is confirmed only at task startup. // // Condition is a required field Condition *string `locationName:"condition" type:"string" required:"true" enum:"ContainerCondition"` @@ -6182,9 +6840,9 @@ type CreateServiceInput struct { // specify a maximum of five strategy rules per service. PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` - // The platform version on which your tasks in the service are running. A platform - // version is only specified for tasks using the Fargate launch type. If one - // is not specified, the LATEST platform version is used by default. For more + // The platform version that your tasks in the service are running on. A platform + // version is specified only for tasks using the Fargate launch type. If one + // isn't specified, the LATEST platform version is used by default. For more // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) // in the Amazon Elastic Container Service Developer Guide. PlatformVersion *string `locationName:"platformVersion" type:"string"` @@ -6227,16 +6885,17 @@ type CreateServiceInput struct { // number of tasks across your cluster. By default, the service scheduler // spreads tasks across Availability Zones. You can use task placement strategies // and constraints to customize task placement decisions. This scheduler - // strategy is required if using the CODE_DEPLOY deployment controller. + // strategy is required if the service is using the CODE_DEPLOY or EXTERNAL + // deployment controller types. // // * DAEMON-The daemon scheduling strategy deploys exactly one task on each // active container instance that meets all of the task placement constraints - // that you specify in your cluster. When you are using this strategy, there - // is no need to specify a desired number of tasks, a task placement strategy, + // that you specify in your cluster. When you're using this strategy, you + // don't need to specify a desired number of tasks, a task placement strategy, // or use Service Auto Scaling policies. // - // Tasks using the Fargate launch type or the CODE_DEPLOY deploymenet controller - // do not support the DAEMON scheduling strategy. + // Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment + // controller types don't support the DAEMON scheduling strategy. SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, @@ -6266,8 +6925,9 @@ type CreateServiceInput struct { // to run in your service. If a revision is not specified, the latest ACTIVE // revision is used. // - // TaskDefinition is a required field - TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` + // A task definition must be specified if the service is using the ECS deployment + // controller. + TaskDefinition *string `locationName:"taskDefinition" type:"string"` } // String returns the string representation @@ -6286,9 +6946,6 @@ func (s *CreateServiceInput) Validate() error { if s.ServiceName == nil { invalidParams.Add(request.NewErrParamRequired("ServiceName")) } - if s.TaskDefinition == nil { - invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) - } if s.DeploymentController != nil { if err := s.DeploymentController.Validate(); err != nil { invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams)) @@ -6466,6 +7123,189 @@ func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { return s } +type CreateTaskSetInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Up to 32 ASCII characters are allowed. + ClientToken *string `locationName:"clientToken" type:"string"` + + // The short name or full Amazon Resource Name (ARN) of the cluster that hosts + // the service to create the task set in. + // + // Cluster is a required field + Cluster *string `locationName:"cluster" type:"string" required:"true"` + + // An optional non-unique tag that identifies this task set in external systems. + // If the task set is associated with a service discovery registry, the tasks + // in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute + // set to the provided value. + ExternalId *string `locationName:"externalId" type:"string"` + + // The launch type that new tasks in the task set will use. For more information, + // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // in the Amazon Elastic Container Service Developer Guide. + LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` + + // A load balancer object representing the load balancer to use with the task + // set. The supported load balancer types are either an Application Load Balancer + // or a Network Load Balancer. + LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` + + // An object representing the network configuration for a task or service. + NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` + + // The platform version that the tasks in the task set should use. A platform + // version is specified only for tasks using the Fargate launch type. If one + // isn't specified, the LATEST platform version is used by default. + PlatformVersion *string `locationName:"platformVersion" type:"string"` + + // A floating-point percentage of the desired number of tasks to place and keep + // running in the task set. + Scale *Scale `locationName:"scale" type:"structure"` + + // The short name or full Amazon Resource Name (ARN) of the service to create + // the task set in. + // + // Service is a required field + Service *string `locationName:"service" type:"string" required:"true"` + + // The details of the service discovery registries to assign to this task set. + // For more information, see Service Discovery (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). + ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` + + // The task definition for the tasks in the task set to use. + // + // TaskDefinition is a required field + TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateTaskSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTaskSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTaskSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTaskSetInput"} + if s.Cluster == nil { + invalidParams.Add(request.NewErrParamRequired("Cluster")) + } + if s.Service == nil { + invalidParams.Add(request.NewErrParamRequired("Service")) + } + if s.TaskDefinition == nil { + invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) + } + if s.NetworkConfiguration != nil { + if err := s.NetworkConfiguration.Validate(); err != nil { + invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateTaskSetInput) SetClientToken(v string) *CreateTaskSetInput { + s.ClientToken = &v + return s +} + +// SetCluster sets the Cluster field's value. +func (s *CreateTaskSetInput) SetCluster(v string) *CreateTaskSetInput { + s.Cluster = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *CreateTaskSetInput) SetExternalId(v string) *CreateTaskSetInput { + s.ExternalId = &v + return s +} + +// SetLaunchType sets the LaunchType field's value. +func (s *CreateTaskSetInput) SetLaunchType(v string) *CreateTaskSetInput { + s.LaunchType = &v + return s +} + +// SetLoadBalancers sets the LoadBalancers field's value. +func (s *CreateTaskSetInput) SetLoadBalancers(v []*LoadBalancer) *CreateTaskSetInput { + s.LoadBalancers = v + return s +} + +// SetNetworkConfiguration sets the NetworkConfiguration field's value. +func (s *CreateTaskSetInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateTaskSetInput { + s.NetworkConfiguration = v + return s +} + +// SetPlatformVersion sets the PlatformVersion field's value. +func (s *CreateTaskSetInput) SetPlatformVersion(v string) *CreateTaskSetInput { + s.PlatformVersion = &v + return s +} + +// SetScale sets the Scale field's value. +func (s *CreateTaskSetInput) SetScale(v *Scale) *CreateTaskSetInput { + s.Scale = v + return s +} + +// SetService sets the Service field's value. +func (s *CreateTaskSetInput) SetService(v string) *CreateTaskSetInput { + s.Service = &v + return s +} + +// SetServiceRegistries sets the ServiceRegistries field's value. +func (s *CreateTaskSetInput) SetServiceRegistries(v []*ServiceRegistry) *CreateTaskSetInput { + s.ServiceRegistries = v + return s +} + +// SetTaskDefinition sets the TaskDefinition field's value. +func (s *CreateTaskSetInput) SetTaskDefinition(v string) *CreateTaskSetInput { + s.TaskDefinition = &v + return s +} + +type CreateTaskSetOutput struct { + _ struct{} `type:"structure"` + + // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or + // an EXTERNAL deployment. An Amazon ECS task set includes details such as the + // desired number of tasks, how many tasks are running, and whether the task + // set serves production traffic. + TaskSet *TaskSet `locationName:"taskSet" type:"structure"` +} + +// String returns the string representation +func (s CreateTaskSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTaskSetOutput) GoString() string { + return s.String() +} + +// SetTaskSet sets the TaskSet field's value. +func (s *CreateTaskSetOutput) SetTaskSet(v *TaskSet) *CreateTaskSetOutput { + s.TaskSet = v + return s +} + type DeleteAccountSettingInput struct { _ struct{} `type:"structure"` @@ -6767,14 +7607,118 @@ func (s DeleteServiceOutput) GoString() string { return s.String() } -// SetService sets the Service field's value. -func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { - s.Service = v +// SetService sets the Service field's value. +func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { + s.Service = v + return s +} + +type DeleteTaskSetInput struct { + _ struct{} `type:"structure"` + + // The short name or full Amazon Resource Name (ARN) of the cluster that hosts + // the service that the task set exists in to delete. + // + // Cluster is a required field + Cluster *string `locationName:"cluster" type:"string" required:"true"` + + // If true, this allows you to delete a task set even if it hasn't been scaled + // down to zero. + Force *bool `locationName:"force" type:"boolean"` + + // The short name or full Amazon Resource Name (ARN) of the service that hosts + // the task set to delete. + // + // Service is a required field + Service *string `locationName:"service" type:"string" required:"true"` + + // The task set ID or full Amazon Resource Name (ARN) of the task set to delete. + // + // TaskSet is a required field + TaskSet *string `locationName:"taskSet" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTaskSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTaskSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTaskSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTaskSetInput"} + if s.Cluster == nil { + invalidParams.Add(request.NewErrParamRequired("Cluster")) + } + if s.Service == nil { + invalidParams.Add(request.NewErrParamRequired("Service")) + } + if s.TaskSet == nil { + invalidParams.Add(request.NewErrParamRequired("TaskSet")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCluster sets the Cluster field's value. +func (s *DeleteTaskSetInput) SetCluster(v string) *DeleteTaskSetInput { + s.Cluster = &v + return s +} + +// SetForce sets the Force field's value. +func (s *DeleteTaskSetInput) SetForce(v bool) *DeleteTaskSetInput { + s.Force = &v + return s +} + +// SetService sets the Service field's value. +func (s *DeleteTaskSetInput) SetService(v string) *DeleteTaskSetInput { + s.Service = &v + return s +} + +// SetTaskSet sets the TaskSet field's value. +func (s *DeleteTaskSetInput) SetTaskSet(v string) *DeleteTaskSetInput { + s.TaskSet = &v + return s +} + +type DeleteTaskSetOutput struct { + _ struct{} `type:"structure"` + + // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or + // an EXTERNAL deployment. An Amazon ECS task set includes details such as the + // desired number of tasks, how many tasks are running, and whether the task + // set serves production traffic. + TaskSet *TaskSet `locationName:"taskSet" type:"structure"` +} + +// String returns the string representation +func (s DeleteTaskSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTaskSetOutput) GoString() string { + return s.String() +} + +// SetTaskSet sets the TaskSet field's value. +func (s *DeleteTaskSetOutput) SetTaskSet(v *TaskSet) *DeleteTaskSetOutput { + s.TaskSet = v return s } -// The details of an Amazon ECS service deployment. This is used when a service -// uses the CODE_DEPLOY deployment controller type. +// The details of an Amazon ECS service deployment. This is used only when a +// service uses the ECS deployment controller type. type Deployment struct { _ struct{} `type:"structure"` @@ -6904,8 +7848,8 @@ func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { return s } -// Optional deployment parameters that control how many tasks run during the -// deployment and the ordering of stopping and starting tasks. +// Optional deployment parameters that control how many tasks run during a deployment +// and the ordering of stopping and starting tasks. type DeploymentConfiguration struct { _ struct{} `type:"structure"` @@ -6921,13 +7865,13 @@ type DeploymentConfiguration struct { // the cluster resources required to do this are available). The default value // for maximum percent is 200%. // - // If a service is using the blue/green (CODE_DEPLOY) deployment type and tasks - // that use the EC2 launch type, the maximum percent value is set to the default - // value and is used to define the upper limit on the number of the tasks in - // the service that remain in the RUNNING state while the container instances - // are in the DRAINING state. If the tasks in the service use the Fargate launch - // type, the maximum percent value is not used, although it is returned when - // describing your service. + // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment + // types and tasks that use the EC2 launch type, the maximum percent value is + // set to the default value and is used to define the upper limit on the number + // of the tasks in the service that remain in the RUNNING state while the container + // instances are in the DRAINING state. If the tasks in the service use the + // Fargate launch type, the maximum percent value is not used, although it is + // returned when describing your service. MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` // If a service is using the rolling update (ECS) deployment type, the minimum @@ -6945,13 +7889,13 @@ type DeploymentConfiguration struct { // they are reported as healthy by the load balancer. The default value for // minimum healthy percent is 100%. // - // If a service is using the blue/green (CODE_DEPLOY) deployment type and tasks - // that use the EC2 launch type, the minimum healthy percent value is set to - // the default value and is used to define the lower limit on the number of - // the tasks in the service that remain in the RUNNING state while the container - // instances are in the DRAINING state. If the tasks in the service use the - // Fargate launch type, the minimum healthy percent value is not used, although - // it is returned when describing your service. + // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment + // types and tasks that use the EC2 launch type, the minimum healthy percent + // value is set to the default value and is used to define the lower limit on + // the number of the tasks in the service that remain in the RUNNING state while + // the container instances are in the DRAINING state. If the tasks in the service + // use the Fargate launch type, the minimum healthy percent value is not used, + // although it is returned when describing your service. MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` } @@ -6985,7 +7929,7 @@ type DeploymentController struct { // The deployment controller type to use. // - // There are two deployment controller types available: + // There are three deployment controller types available: // // ECSThe rolling update (ECS) deployment type involves replacing the current // running version of the container with the latest version. The number of containers @@ -6995,9 +7939,11 @@ type DeploymentController struct { // // CODE_DEPLOYThe blue/green (CODE_DEPLOY) deployment type uses the blue/green // deployment model powered by AWS CodeDeploy, which allows you to verify a - // new deployment of a service before sending production traffic to it. For - // more information, see Amazon ECS Deployment Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) - // in the Amazon Elastic Container Service Developer Guide. + // new deployment of a service before sending production traffic to it. + // + // EXTERNALThe external (EXTERNAL) deployment type enables you to use any third-party + // deployment controller for full control over the deployment process for an + // Amazon ECS service. // // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"DeploymentControllerType"` @@ -7544,6 +8490,101 @@ func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *Des return s } +type DescribeTaskSetsInput struct { + _ struct{} `type:"structure"` + + // The short name or full Amazon Resource Name (ARN) of the cluster that hosts + // the service that the task sets exist in. + // + // Cluster is a required field + Cluster *string `locationName:"cluster" type:"string" required:"true"` + + // The short name or full Amazon Resource Name (ARN) of the service that the + // task sets exist in. + // + // Service is a required field + Service *string `locationName:"service" type:"string" required:"true"` + + // The ID or full Amazon Resource Name (ARN) of task sets to describe. + TaskSets []*string `locationName:"taskSets" type:"list"` +} + +// String returns the string representation +func (s DescribeTaskSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTaskSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTaskSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTaskSetsInput"} + if s.Cluster == nil { + invalidParams.Add(request.NewErrParamRequired("Cluster")) + } + if s.Service == nil { + invalidParams.Add(request.NewErrParamRequired("Service")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCluster sets the Cluster field's value. +func (s *DescribeTaskSetsInput) SetCluster(v string) *DescribeTaskSetsInput { + s.Cluster = &v + return s +} + +// SetService sets the Service field's value. +func (s *DescribeTaskSetsInput) SetService(v string) *DescribeTaskSetsInput { + s.Service = &v + return s +} + +// SetTaskSets sets the TaskSets field's value. +func (s *DescribeTaskSetsInput) SetTaskSets(v []*string) *DescribeTaskSetsInput { + s.TaskSets = v + return s +} + +type DescribeTaskSetsOutput struct { + _ struct{} `type:"structure"` + + // Any failures associated with the call. + Failures []*Failure `locationName:"failures" type:"list"` + + // The list of task sets described. + TaskSets []*TaskSet `locationName:"taskSets" type:"list"` +} + +// String returns the string representation +func (s DescribeTaskSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeTaskSetsOutput) GoString() string { + return s.String() +} + +// SetFailures sets the Failures field's value. +func (s *DescribeTaskSetsOutput) SetFailures(v []*Failure) *DescribeTaskSetsOutput { + s.Failures = v + return s +} + +// SetTaskSets sets the TaskSets field's value. +func (s *DescribeTaskSetsOutput) SetTaskSets(v []*TaskSet) *DescribeTaskSetsOutput { + s.TaskSets = v + return s +} + type DescribeTasksInput struct { _ struct{} `type:"structure"` @@ -9870,6 +10911,14 @@ func (s *PortMapping) SetProtocol(v string) *PortMapping { } // The configuration details for the App Mesh proxy. +// +// Your Amazon ECS container instances require at least version 1.26.0 of the +// container agent and at least version 1.26.0-1 of the ecs-init package to +// enable a proxy configuration. If your container instances are launched from +// the Amazon ECS-optimized AMI version 20190301 or later, then they contain +// the required versions of the container agent and ecs-init. For more information, +// see Amazon ECS-optimized Linux AMI (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) +// in the Amazon Elastic Container Service Developer Guide. type ProxyConfiguration struct { _ struct{} `type:"structure"` @@ -9892,7 +10941,7 @@ type ProxyConfiguration struct { // this field can be empty. // // * AppPorts - (Required) The list of ports that the application uses. Network - // traffic to these ports will be forwarded to the ProxyIngressPort and ProxyEgressPort. + // traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort. // // * ProxyIngressPort - (Required) Specifies the port that incoming traffic // to the AppPorts is directed to. @@ -9900,13 +10949,13 @@ type ProxyConfiguration struct { // * ProxyEgressPort - (Required) Specifies the port that outgoing traffic // from the AppPorts is directed to. // - // * EgressIgnoredPorts - (Required) The egress traffic going to these specified - // ports will be ignored and not redirected to the ProxyEgressPort. It can - // be empty list. + // * EgressIgnoredPorts - (Required) The egress traffic going to the specified + // ports is ignored and not redirected to the ProxyEgressPort. It can be + // an empty list. // - // * EgressIgnoredIPs - (Required) The egress traffic going to these specified - // IP addresses will be ignored and not redirected to the ProxyEgressPort. - // It can be empty list. + // * EgressIgnoredIPs - (Required) The egress traffic going to the specified + // IP addresses is ignored and not redirected to the ProxyEgressPort. It + // can be an empty list. Properties []*KeyValuePair `locationName:"properties" type:"list"` // The proxy type. The only supported value is APPMESH. @@ -10552,6 +11601,14 @@ type RegisterTaskDefinitionInput struct { PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` // The configuration details for the App Mesh proxy. + // + // Your Amazon ECS container instances require at least version 1.26.0 of the + // container agent and at least version 1.26.0-1 of the ecs-init package to + // enable a proxy configuration. If your container instances are launched from + // the Amazon ECS-optimized AMI version 20190301 or later, then they contain + // the required versions of the container agent and ecs-init. For more information, + // see Amazon ECS-optimized Linux AMI (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) + // in the Amazon Elastic Container Service Developer Guide. ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` // The launch type required by the task. If no value is specified, it defaults @@ -11176,8 +12233,7 @@ func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput { } // A floating-point percentage of the desired number of tasks to place and keep -// running in the service. This is used when a service uses the CODE_DEPLOY -// deployment controller type. +// running in the task set. type Scale struct { _ struct{} `type:"structure"` @@ -11185,7 +12241,7 @@ type Scale struct { Unit *string `locationName:"unit" type:"string" enum:"ScaleUnit"` // The value, specified as a percent total of a service's desiredCount, to scale - // the task set. + // the task set. Accepted values are numbers between 0 and 100. Value *float64 `locationName:"value" type:"double"` } @@ -11395,6 +12451,8 @@ type Service struct { // within a Region or across multiple Regions. ServiceName *string `locationName:"serviceName" type:"string"` + // The details of the service discovery registries to assign to this service. + // For more information, see Service Discovery (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. @@ -11411,9 +12469,10 @@ type Service struct { // UpdateService. TaskDefinition *string `locationName:"taskDefinition" type:"string"` - // Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment. - // An Amazon ECS task set includes details such as the desired number of tasks, - // how many tasks are running, and whether the task set serves production traffic. + // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or + // an EXTERNAL deployment. An Amazon ECS task set includes details such as the + // desired number of tasks, how many tasks are running, and whether the task + // set serves production traffic. TaskSets []*TaskSet `locationName:"taskSets" type:"list"` } @@ -11665,8 +12724,8 @@ type ServiceRegistry struct { Port *int64 `locationName:"port" type:"integer"` // The Amazon Resource Name (ARN) of the service registry. The currently supported - // service registry is Amazon Route 53 Auto Naming. For more information, see - // Service (https://docs.aws.amazon.com/Route53/latest/APIReference/API_autonaming_Service.html). + // service registry is AWS Cloud Map. For more information, see CreateService + // (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html). RegistryArn *string `locationName:"registryArn" type:"string"` } @@ -11715,10 +12774,10 @@ type Setting struct { // user. If this field is omitted, the authenticated user is assumed. PrincipalArn *string `locationName:"principalArn" type:"string"` - // The current account setting for the resource name. If enabled, then the resource - // will receive the new Amazon Resource Name (ARN) and resource identifier (ID) - // format. If disabled, then the resource will receive the old Amazon Resource - // Name (ARN) and resource identifier (ID) format. + // The current account setting for the resource name. If enabled, the resource + // receives the new Amazon Resource Name (ARN) and resource identifier (ID) + // format. If disabled, the resource receives the old Amazon Resource Name (ARN) + // and resource identifier (ID) format. Value *string `locationName:"value" type:"string"` } @@ -11971,7 +13030,7 @@ type StopTaskInput struct { // API operations on this task. Up to 255 characters are allowed in this message. Reason *string `locationName:"reason" type:"string"` - // The task ID or full ARN entry of the task to stop. + // The task ID or full Amazon Resource Name (ARN) of the task to stop. // // Task is a required field Task *string `locationName:"task" type:"string" required:"true"` @@ -12977,6 +14036,14 @@ type TaskDefinition struct { PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` // The configuration details for the App Mesh proxy. + // + // Your Amazon ECS container instances require at least version 1.26.0 of the + // container agent and at least version 1.26.0-1 of the ecs-init package to + // enable a proxy configuration. If your container instances are launched from + // the Amazon ECS-optimized AMI version 20190301 or later, then they contain + // the required versions of the container agent and ecs-init. For more information, + // see Amazon ECS-optimized Linux AMI (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) + // in the Amazon Elastic Container Service Developer Guide. ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` // The container instance attributes required by your task. This field is not @@ -13247,20 +14314,34 @@ func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { return s } -// Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment. -// An Amazon ECS task set includes details such as the desired number of tasks, -// how many tasks are running, and whether the task set serves production traffic. +// Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or +// an EXTERNAL deployment. An Amazon ECS task set includes details such as the +// desired number of tasks, how many tasks are running, and whether the task +// set serves production traffic. type TaskSet struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the cluster that the service that hosts + // the task set exists in. + ClusterArn *string `locationName:"clusterArn" type:"string"` + // The computed desired count for the task set. This is calculated by multiplying - // the service's desiredCount by the task set's scale percentage. + // the service's desiredCount by the task set's scale percentage. The result + // is always rounded up. For example, if the computed desired count is 1.2, + // it rounds up to 2 tasks. ComputedDesiredCount *int64 `locationName:"computedDesiredCount" type:"integer"` // The Unix timestamp for when the task set was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - // The deployment ID of the AWS CodeDeploy deployment. + // The external ID associated with the task set. + // + // If a task set is created by an AWS CodeDeploy deployment, the externalId + // parameter contains the AWS CodeDeploy deployment ID. + // + // If a task set is created for an external deployment and is associated with + // a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID + // AWS Cloud Map attribute. ExternalId *string `locationName:"externalId" type:"string"` // The ID of the task set. @@ -13280,7 +14361,7 @@ type TaskSet struct { // The number of tasks in the task set that are in the PENDING status during // a deployment. A task in the PENDING state is preparing to enter the RUNNING // state. A task set enters the PENDING status when it launches for the first - // time, or when it is restarted after being in the STOPPED state. + // time or when it is restarted after being in the STOPPED state. PendingCount *int64 `locationName:"pendingCount" type:"integer"` // The platform version on which the tasks in the task set are running. A platform @@ -13295,9 +14376,16 @@ type TaskSet struct { RunningCount *int64 `locationName:"runningCount" type:"integer"` // A floating-point percentage of the desired number of tasks to place and keep - // running in the service. + // running in the task set. Scale *Scale `locationName:"scale" type:"structure"` + // The Amazon Resource Name (ARN) of the service the task set exists in. + ServiceArn *string `locationName:"serviceArn" type:"string"` + + // The details of the service discovery registries to assign to this task set. + // For more information, see Service Discovery (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). + ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` + // The stability status, which indicates whether the task set has reached a // steady state. If the following conditions are met, the task set will be in // STEADY_STATE: @@ -13317,8 +14405,10 @@ type TaskSet struct { // The Unix timestamp for when the task set stability status was retrieved. StabilityStatusAt *time.Time `locationName:"stabilityStatusAt" type:"timestamp"` - // The tag specified when a task set is started. If the task is started by an - // AWS CodeDeploy deployment, then the startedBy parameter is CODE_DEPLOY. + // The tag specified when a task set is started. If the task set is created + // by an AWS CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. + // For a task set created for an external deployment, the startedBy field isn't + // used. StartedBy *string `locationName:"startedBy" type:"string"` // The status of the task set. The following describes each state: @@ -13351,6 +14441,12 @@ func (s TaskSet) GoString() string { return s.String() } +// SetClusterArn sets the ClusterArn field's value. +func (s *TaskSet) SetClusterArn(v string) *TaskSet { + s.ClusterArn = &v + return s +} + // SetComputedDesiredCount sets the ComputedDesiredCount field's value. func (s *TaskSet) SetComputedDesiredCount(v int64) *TaskSet { s.ComputedDesiredCount = &v @@ -13417,6 +14513,18 @@ func (s *TaskSet) SetScale(v *Scale) *TaskSet { return s } +// SetServiceArn sets the ServiceArn field's value. +func (s *TaskSet) SetServiceArn(v string) *TaskSet { + s.ServiceArn = &v + return s +} + +// SetServiceRegistries sets the ServiceRegistries field's value. +func (s *TaskSet) SetServiceRegistries(v []*ServiceRegistry) *TaskSet { + s.ServiceRegistries = v + return s +} + // SetStabilityStatus sets the StabilityStatus field's value. func (s *TaskSet) SetStabilityStatus(v string) *TaskSet { s.StabilityStatus = &v @@ -14002,6 +15110,210 @@ func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput { return s } +type UpdateServicePrimaryTaskSetInput struct { + _ struct{} `type:"structure"` + + // The short name or full Amazon Resource Name (ARN) of the cluster that hosts + // the service that the task set exists in. + // + // Cluster is a required field + Cluster *string `locationName:"cluster" type:"string" required:"true"` + + // The short name or full Amazon Resource Name (ARN) of the task set to set + // as the primary task set in the deployment. + // + // PrimaryTaskSet is a required field + PrimaryTaskSet *string `locationName:"primaryTaskSet" type:"string" required:"true"` + + // The short name or full Amazon Resource Name (ARN) of the service that the + // task set exists in. + // + // Service is a required field + Service *string `locationName:"service" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateServicePrimaryTaskSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateServicePrimaryTaskSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateServicePrimaryTaskSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateServicePrimaryTaskSetInput"} + if s.Cluster == nil { + invalidParams.Add(request.NewErrParamRequired("Cluster")) + } + if s.PrimaryTaskSet == nil { + invalidParams.Add(request.NewErrParamRequired("PrimaryTaskSet")) + } + if s.Service == nil { + invalidParams.Add(request.NewErrParamRequired("Service")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCluster sets the Cluster field's value. +func (s *UpdateServicePrimaryTaskSetInput) SetCluster(v string) *UpdateServicePrimaryTaskSetInput { + s.Cluster = &v + return s +} + +// SetPrimaryTaskSet sets the PrimaryTaskSet field's value. +func (s *UpdateServicePrimaryTaskSetInput) SetPrimaryTaskSet(v string) *UpdateServicePrimaryTaskSetInput { + s.PrimaryTaskSet = &v + return s +} + +// SetService sets the Service field's value. +func (s *UpdateServicePrimaryTaskSetInput) SetService(v string) *UpdateServicePrimaryTaskSetInput { + s.Service = &v + return s +} + +type UpdateServicePrimaryTaskSetOutput struct { + _ struct{} `type:"structure"` + + // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or + // an EXTERNAL deployment. An Amazon ECS task set includes details such as the + // desired number of tasks, how many tasks are running, and whether the task + // set serves production traffic. + TaskSet *TaskSet `locationName:"taskSet" type:"structure"` +} + +// String returns the string representation +func (s UpdateServicePrimaryTaskSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateServicePrimaryTaskSetOutput) GoString() string { + return s.String() +} + +// SetTaskSet sets the TaskSet field's value. +func (s *UpdateServicePrimaryTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateServicePrimaryTaskSetOutput { + s.TaskSet = v + return s +} + +type UpdateTaskSetInput struct { + _ struct{} `type:"structure"` + + // The short name or full Amazon Resource Name (ARN) of the cluster that hosts + // the service that the task set exists in. + // + // Cluster is a required field + Cluster *string `locationName:"cluster" type:"string" required:"true"` + + // A floating-point percentage of the desired number of tasks to place and keep + // running in the task set. + // + // Scale is a required field + Scale *Scale `locationName:"scale" type:"structure" required:"true"` + + // The short name or full Amazon Resource Name (ARN) of the service that the + // task set exists in. + // + // Service is a required field + Service *string `locationName:"service" type:"string" required:"true"` + + // The short name or full Amazon Resource Name (ARN) of the task set to update. + // + // TaskSet is a required field + TaskSet *string `locationName:"taskSet" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateTaskSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateTaskSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateTaskSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTaskSetInput"} + if s.Cluster == nil { + invalidParams.Add(request.NewErrParamRequired("Cluster")) + } + if s.Scale == nil { + invalidParams.Add(request.NewErrParamRequired("Scale")) + } + if s.Service == nil { + invalidParams.Add(request.NewErrParamRequired("Service")) + } + if s.TaskSet == nil { + invalidParams.Add(request.NewErrParamRequired("TaskSet")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCluster sets the Cluster field's value. +func (s *UpdateTaskSetInput) SetCluster(v string) *UpdateTaskSetInput { + s.Cluster = &v + return s +} + +// SetScale sets the Scale field's value. +func (s *UpdateTaskSetInput) SetScale(v *Scale) *UpdateTaskSetInput { + s.Scale = v + return s +} + +// SetService sets the Service field's value. +func (s *UpdateTaskSetInput) SetService(v string) *UpdateTaskSetInput { + s.Service = &v + return s +} + +// SetTaskSet sets the TaskSet field's value. +func (s *UpdateTaskSetInput) SetTaskSet(v string) *UpdateTaskSetInput { + s.TaskSet = &v + return s +} + +type UpdateTaskSetOutput struct { + _ struct{} `type:"structure"` + + // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or + // an EXTERNAL deployment. An Amazon ECS task set includes details such as the + // desired number of tasks, how many tasks are running, and whether the task + // set serves production traffic. + TaskSet *TaskSet `locationName:"taskSet" type:"structure"` +} + +// String returns the string representation +func (s UpdateTaskSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateTaskSetOutput) GoString() string { + return s.String() +} + +// SetTaskSet sets the TaskSet field's value. +func (s *UpdateTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateTaskSetOutput { + s.TaskSet = v + return s +} + // The Docker and Amazon ECS container agent version information about a container // instance. type VersionInfo struct { @@ -14228,6 +15540,9 @@ const ( // DeploymentControllerTypeCodeDeploy is a DeploymentControllerType enum value DeploymentControllerTypeCodeDeploy = "CODE_DEPLOY" + + // DeploymentControllerTypeExternal is a DeploymentControllerType enum value + DeploymentControllerTypeExternal = "EXTERNAL" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecs/errors.go b/vendor/github.com/aws/aws-sdk-go/service/ecs/errors.go index 9a11f23dcd15..c350d185b155 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecs/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecs/errors.go @@ -133,6 +133,14 @@ const ( // cluster-specific and Region-specific. ErrCodeTargetNotFoundException = "TargetNotFoundException" + // ErrCodeTaskSetNotFoundException for service response error code + // "TaskSetNotFoundException". + // + // The specified task set could not be found. You can view your available container + // instances with DescribeTaskSets. Task sets are specific to each cluster, + // service and Region. + ErrCodeTaskSetNotFoundException = "TaskSetNotFoundException" + // ErrCodeUnsupportedFeatureException for service response error code // "UnsupportedFeatureException". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go index 5d3fe096c423..13503617465e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go @@ -6073,6 +6073,80 @@ func (s *FixedResponseActionConfig) SetStatusCode(v string) *FixedResponseAction return s } +type HostHeaderConditionConfig struct { + _ struct{} `type:"structure"` + + Values []*string `type:"list"` +} + +// String returns the string representation +func (s HostHeaderConditionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HostHeaderConditionConfig) GoString() string { + return s.String() +} + +// SetValues sets the Values field's value. +func (s *HostHeaderConditionConfig) SetValues(v []*string) *HostHeaderConditionConfig { + s.Values = v + return s +} + +type HttpHeaderConditionConfig struct { + _ struct{} `type:"structure"` + + HttpHeaderName *string `type:"string"` + + Values []*string `type:"list"` +} + +// String returns the string representation +func (s HttpHeaderConditionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpHeaderConditionConfig) GoString() string { + return s.String() +} + +// SetHttpHeaderName sets the HttpHeaderName field's value. +func (s *HttpHeaderConditionConfig) SetHttpHeaderName(v string) *HttpHeaderConditionConfig { + s.HttpHeaderName = &v + return s +} + +// SetValues sets the Values field's value. +func (s *HttpHeaderConditionConfig) SetValues(v []*string) *HttpHeaderConditionConfig { + s.Values = v + return s +} + +type HttpRequestMethodConditionConfig struct { + _ struct{} `type:"structure"` + + Values []*string `type:"list"` +} + +// String returns the string representation +func (s HttpRequestMethodConditionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpRequestMethodConditionConfig) GoString() string { + return s.String() +} + +// SetValues sets the Values field's value. +func (s *HttpRequestMethodConditionConfig) SetValues(v []*string) *HttpRequestMethodConditionConfig { + s.Values = v + return s +} + // Information about an Elastic Load Balancing resource limit for your AWS account. type Limit struct { _ struct{} `type:"structure"` @@ -7121,6 +7195,80 @@ func (s *ModifyTargetGroupOutput) SetTargetGroups(v []*TargetGroup) *ModifyTarge return s } +type PathPatternConditionConfig struct { + _ struct{} `type:"structure"` + + Values []*string `type:"list"` +} + +// String returns the string representation +func (s PathPatternConditionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PathPatternConditionConfig) GoString() string { + return s.String() +} + +// SetValues sets the Values field's value. +func (s *PathPatternConditionConfig) SetValues(v []*string) *PathPatternConditionConfig { + s.Values = v + return s +} + +type QueryStringConditionConfig struct { + _ struct{} `type:"structure"` + + Values []*QueryStringKeyValuePair `type:"list"` +} + +// String returns the string representation +func (s QueryStringConditionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryStringConditionConfig) GoString() string { + return s.String() +} + +// SetValues sets the Values field's value. +func (s *QueryStringConditionConfig) SetValues(v []*QueryStringKeyValuePair) *QueryStringConditionConfig { + s.Values = v + return s +} + +type QueryStringKeyValuePair struct { + _ struct{} `type:"structure"` + + Key *string `type:"string"` + + Value *string `type:"string"` +} + +// String returns the string representation +func (s QueryStringKeyValuePair) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryStringKeyValuePair) GoString() string { + return s.String() +} + +// SetKey sets the Key field's value. +func (s *QueryStringKeyValuePair) SetKey(v string) *QueryStringKeyValuePair { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *QueryStringKeyValuePair) SetValue(v string) *QueryStringKeyValuePair { + s.Value = &v + return s +} + // Information about a redirect action. // // A URI consists of the following components: protocol://hostname:port/path?query. @@ -7518,6 +7666,18 @@ type RuleCondition struct { // The name of the field. The possible values are host-header and path-pattern. Field *string `type:"string"` + HostHeaderConfig *HostHeaderConditionConfig `type:"structure"` + + HttpHeaderConfig *HttpHeaderConditionConfig `type:"structure"` + + HttpRequestMethodConfig *HttpRequestMethodConditionConfig `type:"structure"` + + PathPatternConfig *PathPatternConditionConfig `type:"structure"` + + QueryStringConfig *QueryStringConditionConfig `type:"structure"` + + SourceIpConfig *SourceIpConditionConfig `type:"structure"` + // The condition value. // // If the field name is host-header, you can specify a single host name (for @@ -7566,6 +7726,42 @@ func (s *RuleCondition) SetField(v string) *RuleCondition { return s } +// SetHostHeaderConfig sets the HostHeaderConfig field's value. +func (s *RuleCondition) SetHostHeaderConfig(v *HostHeaderConditionConfig) *RuleCondition { + s.HostHeaderConfig = v + return s +} + +// SetHttpHeaderConfig sets the HttpHeaderConfig field's value. +func (s *RuleCondition) SetHttpHeaderConfig(v *HttpHeaderConditionConfig) *RuleCondition { + s.HttpHeaderConfig = v + return s +} + +// SetHttpRequestMethodConfig sets the HttpRequestMethodConfig field's value. +func (s *RuleCondition) SetHttpRequestMethodConfig(v *HttpRequestMethodConditionConfig) *RuleCondition { + s.HttpRequestMethodConfig = v + return s +} + +// SetPathPatternConfig sets the PathPatternConfig field's value. +func (s *RuleCondition) SetPathPatternConfig(v *PathPatternConditionConfig) *RuleCondition { + s.PathPatternConfig = v + return s +} + +// SetQueryStringConfig sets the QueryStringConfig field's value. +func (s *RuleCondition) SetQueryStringConfig(v *QueryStringConditionConfig) *RuleCondition { + s.QueryStringConfig = v + return s +} + +// SetSourceIpConfig sets the SourceIpConfig field's value. +func (s *RuleCondition) SetSourceIpConfig(v *SourceIpConditionConfig) *RuleCondition { + s.SourceIpConfig = v + return s +} + // SetValues sets the Values field's value. func (s *RuleCondition) SetValues(v []*string) *RuleCondition { s.Values = v @@ -7926,6 +8122,28 @@ func (s *SetSubnetsOutput) SetAvailabilityZones(v []*AvailabilityZone) *SetSubne return s } +type SourceIpConditionConfig struct { + _ struct{} `type:"structure"` + + Values []*string `type:"list"` +} + +// String returns the string representation +func (s SourceIpConditionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SourceIpConditionConfig) GoString() string { + return s.String() +} + +// SetValues sets the Values field's value. +func (s *SourceIpConditionConfig) SetValues(v []*string) *SourceIpConditionConfig { + s.Values = v + return s +} + // Information about a policy used for SSL negotiation. type SslPolicy struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/fms/api.go b/vendor/github.com/aws/aws-sdk-go/service/fms/api.go index 4c2b2be5361e..52cacb83550d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/fms/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/fms/api.go @@ -738,6 +738,93 @@ func (c *FMS) GetPolicyWithContext(ctx aws.Context, input *GetPolicyInput, opts return out, req.Send() } +const opGetProtectionStatus = "GetProtectionStatus" + +// GetProtectionStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetProtectionStatus 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 GetProtectionStatus for more information on using the GetProtectionStatus +// 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 GetProtectionStatusRequest method. +// req, resp := client.GetProtectionStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtectionStatus +func (c *FMS) GetProtectionStatusRequest(input *GetProtectionStatusInput) (req *request.Request, output *GetProtectionStatusOutput) { + op := &request.Operation{ + Name: opGetProtectionStatus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetProtectionStatusInput{} + } + + output = &GetProtectionStatusOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetProtectionStatus API operation for Firewall Management Service. +// +// If you created a Shield Advanced policy, returns policy-level attack summary +// information in the event of a potential DDoS attack. +// +// 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 Firewall Management Service's +// API operation GetProtectionStatus for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInputException "InvalidInputException" +// The parameters of the request were invalid. +// +// * ErrCodeResourceNotFoundException "ResourceNotFoundException" +// The specified resource was not found. +// +// * ErrCodeInternalErrorException "InternalErrorException" +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtectionStatus +func (c *FMS) GetProtectionStatus(input *GetProtectionStatusInput) (*GetProtectionStatusOutput, error) { + req, out := c.GetProtectionStatusRequest(input) + return out, req.Send() +} + +// GetProtectionStatusWithContext is the same as GetProtectionStatus with the addition of +// the ability to pass a context and additional request options. +// +// See GetProtectionStatus 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 *FMS) GetProtectionStatusWithContext(ctx aws.Context, input *GetProtectionStatusInput, opts ...request.Option) (*GetProtectionStatusOutput, error) { + req, out := c.GetProtectionStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListComplianceStatus = "ListComplianceStatus" // ListComplianceStatusRequest generates a "aws/request.Request" representing the @@ -769,6 +856,12 @@ func (c *FMS) ListComplianceStatusRequest(input *ListComplianceStatusInput) (req Name: opListComplianceStatus, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -823,6 +916,56 @@ func (c *FMS) ListComplianceStatusWithContext(ctx aws.Context, input *ListCompli return out, req.Send() } +// ListComplianceStatusPages iterates over the pages of a ListComplianceStatus operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListComplianceStatus 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 ListComplianceStatus operation. +// pageNum := 0 +// err := client.ListComplianceStatusPages(params, +// func(page *ListComplianceStatusOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *FMS) ListComplianceStatusPages(input *ListComplianceStatusInput, fn func(*ListComplianceStatusOutput, bool) bool) error { + return c.ListComplianceStatusPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListComplianceStatusPagesWithContext same as ListComplianceStatusPages 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 *FMS) ListComplianceStatusPagesWithContext(ctx aws.Context, input *ListComplianceStatusInput, fn func(*ListComplianceStatusOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListComplianceStatusInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListComplianceStatusRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListComplianceStatusOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListMemberAccounts = "ListMemberAccounts" // ListMemberAccountsRequest generates a "aws/request.Request" representing the @@ -854,6 +997,12 @@ func (c *FMS) ListMemberAccountsRequest(input *ListMemberAccountsInput) (req *re Name: opListMemberAccounts, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -910,6 +1059,56 @@ func (c *FMS) ListMemberAccountsWithContext(ctx aws.Context, input *ListMemberAc return out, req.Send() } +// ListMemberAccountsPages iterates over the pages of a ListMemberAccounts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMemberAccounts 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 ListMemberAccounts operation. +// pageNum := 0 +// err := client.ListMemberAccountsPages(params, +// func(page *ListMemberAccountsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *FMS) ListMemberAccountsPages(input *ListMemberAccountsInput, fn func(*ListMemberAccountsOutput, bool) bool) error { + return c.ListMemberAccountsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListMemberAccountsPagesWithContext same as ListMemberAccountsPages 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 *FMS) ListMemberAccountsPagesWithContext(ctx aws.Context, input *ListMemberAccountsInput, fn func(*ListMemberAccountsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListMemberAccountsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListMemberAccountsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListMemberAccountsOutput), !p.HasNextPage()) + } + return p.Err() +} + const opListPolicies = "ListPolicies" // ListPoliciesRequest generates a "aws/request.Request" representing the @@ -941,6 +1140,12 @@ func (c *FMS) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Reques Name: opListPolicies, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -975,7 +1180,7 @@ func (c *FMS) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Reques // * ErrCodeLimitExceededException "LimitExceededException" // The operation exceeds a resource limit, for example, the maximum number of // policy objects that you can create for an AWS account. For more information, -// see Firewall Manager Limits (http://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) +// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) // in the AWS WAF Developer Guide. // // * ErrCodeInternalErrorException "InternalErrorException" @@ -1004,6 +1209,56 @@ func (c *FMS) ListPoliciesWithContext(ctx aws.Context, input *ListPoliciesInput, return out, req.Send() } +// ListPoliciesPages iterates over the pages of a ListPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPolicies 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 ListPolicies operation. +// pageNum := 0 +// err := client.ListPoliciesPages(params, +// func(page *ListPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *FMS) ListPoliciesPages(input *ListPoliciesInput, fn func(*ListPoliciesOutput, bool) bool) error { + return c.ListPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPoliciesPagesWithContext same as ListPoliciesPages 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 *FMS) ListPoliciesPagesWithContext(ctx aws.Context, input *ListPoliciesInput, fn func(*ListPoliciesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPoliciesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPoliciesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListPoliciesOutput), !p.HasNextPage()) + } + return p.Err() +} + const opPutNotificationChannel = "PutNotificationChannel" // PutNotificationChannelRequest generates a "aws/request.Request" representing the @@ -1140,6 +1395,18 @@ func (c *FMS) PutPolicyRequest(input *PutPolicyInput) (req *request.Request, out // // Creates an AWS Firewall Manager policy. // +// Firewall Manager provides two types of policies: A Shield Advanced policy, +// which applies Shield Advanced protection to specified accounts and resources, +// or a WAF policy, which contains a rule group and defines which resources +// are to be protected by that rule group. A policy is specific to either WAF +// or Shield Advanced. If you want to enforce both WAF rules and Shield Advanced +// protection across accounts, you can create multiple policies. You can create +// one or more policies for WAF rules, and one or more policies for Shield Advanced. +// +// You must be subscribed to Shield Advanced to create a Shield Advanced policy. +// For more information on subscribing to Shield Advanced, see CreateSubscription +// (https://docs.aws.amazon.com/waf/latest/DDOSAPIReference/API_CreateSubscription.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. @@ -1162,7 +1429,7 @@ func (c *FMS) PutPolicyRequest(input *PutPolicyInput) (req *request.Request, out // * ErrCodeLimitExceededException "LimitExceededException" // The operation exceeds a resource limit, for example, the maximum number of // policy objects that you can create for an AWS account. For more information, -// see Firewall Manager Limits (http://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) +// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) // in the AWS WAF Developer Guide. // // * ErrCodeInternalErrorException "InternalErrorException" @@ -1261,7 +1528,7 @@ type ComplianceViolator struct { // The resource type. This is in the format shown in AWS Resource Types Reference // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). - // Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution. + // For example: AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution. ResourceType *string `min:"1" type:"string"` // The reason that the resource is not protected by the policy. @@ -1327,8 +1594,21 @@ func (s DeleteNotificationChannelOutput) GoString() string { type DeletePolicyInput struct { _ struct{} `type:"structure"` - // If True, the request will also delete all web ACLs in this policy. Associated - // resources will no longer be protected by web ACLs in this policy. + // If True, the request will also perform a clean-up process that will: + // + // * Delete rule groups created by AWS Firewall Manager + // + // * Remove web ACLs from in-scope resources + // + // * Delete web ACLs that contain no rules or rule groups + // + // After the cleanup, in-scope resources will no longer be protected by web + // ACLs in this policy. Protection of out-of-scope resources will remain unchanged. + // Scope is determined by tags and accounts associated with the policy. When + // creating the policy, if you specified that only resources in specific accounts + // or with specific tags be protected by the policy, those resources are in-scope. + // All others are out of scope. If you did not specify tags or accounts, all + // resources are in-scope. DeleteAllPolicyResources *bool `type:"boolean"` // The ID of the policy that you want to delete. PolicyId is returned by PutPolicy @@ -1713,6 +1993,188 @@ func (s *GetPolicyOutput) SetPolicyArn(v string) *GetPolicyOutput { return s } +type GetProtectionStatusInput struct { + _ struct{} `type:"structure"` + + // The end of the time period to query for the attacks. This is a timestamp + // type. The sample request above indicates a number type because the default + // used by AWS Firewall Manager is Unix time in seconds. However, any valid + // timestamp format is allowed. + EndTime *time.Time `type:"timestamp"` + + // Specifies the number of objects that you want AWS Firewall Manager to return + // for this request. If you have more objects than the number that you specify + // for MaxResults, the response includes a NextToken value that you can use + // to get another batch of objects. + MaxResults *int64 `min:"1" type:"integer"` + + // The AWS account that is in scope of the policy that you want to get the details + // for. + MemberAccountId *string `min:"1" type:"string"` + + // If you specify a value for MaxResults and you have more objects than the + // number that you specify for MaxResults, AWS Firewall Manager returns a NextToken + // value in the response that allows you to list another group of objects. For + // the second and subsequent GetProtectionStatus requests, specify the value + // of NextToken from the previous response to get information about another + // batch of objects. + NextToken *string `min:"1" type:"string"` + + // The ID of the policy for which you want to get the attack information. + // + // PolicyId is a required field + PolicyId *string `min:"36" type:"string" required:"true"` + + // The start of the time period to query for the attacks. This is a timestamp + // type. The sample request above indicates a number type because the default + // used by AWS Firewall Manager is Unix time in seconds. However, any valid + // timestamp format is allowed. + StartTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s GetProtectionStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetProtectionStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetProtectionStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetProtectionStatusInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.MemberAccountId != nil && len(*s.MemberAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MemberAccountId", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.PolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyId")) + } + if s.PolicyId != nil && len(*s.PolicyId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *GetProtectionStatusInput) SetEndTime(v time.Time) *GetProtectionStatusInput { + s.EndTime = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetProtectionStatusInput) SetMaxResults(v int64) *GetProtectionStatusInput { + s.MaxResults = &v + return s +} + +// SetMemberAccountId sets the MemberAccountId field's value. +func (s *GetProtectionStatusInput) SetMemberAccountId(v string) *GetProtectionStatusInput { + s.MemberAccountId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetProtectionStatusInput) SetNextToken(v string) *GetProtectionStatusInput { + s.NextToken = &v + return s +} + +// SetPolicyId sets the PolicyId field's value. +func (s *GetProtectionStatusInput) SetPolicyId(v string) *GetProtectionStatusInput { + s.PolicyId = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetProtectionStatusInput) SetStartTime(v time.Time) *GetProtectionStatusInput { + s.StartTime = &v + return s +} + +type GetProtectionStatusOutput struct { + _ struct{} `type:"structure"` + + // The ID of the AWS Firewall administrator account for this policy. + AdminAccountId *string `min:"1" type:"string"` + + // Details about the attack, including the following: + // + // * Attack type + // + // * Account ID + // + // * ARN of the resource attacked + // + // * Start time of the attack + // + // * End time of the attack (ongoing attacks will not have an end time) + // + // The details are in JSON format. An example is shown in the Examples section + // below. + Data *string `type:"string"` + + // If you have more objects than the number that you specified for MaxResults + // in the request, the response includes a NextToken value. To list more objects, + // submit another GetProtectionStatus request, and specify the NextToken value + // from the response in the NextToken value in the next request. + // + // AWS SDKs provide auto-pagination that identify NextToken in a response and + // make subsequent request calls automatically on your behalf. However, this + // feature is not supported by GetProtectionStatus. You must submit subsequent + // requests with NextToken using your own processes. + NextToken *string `min:"1" type:"string"` + + // The service type that is protected by the policy. Currently, this is always + // SHIELD_ADVANCED. + ServiceType *string `type:"string" enum:"SecurityServiceType"` +} + +// String returns the string representation +func (s GetProtectionStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetProtectionStatusOutput) GoString() string { + return s.String() +} + +// SetAdminAccountId sets the AdminAccountId field's value. +func (s *GetProtectionStatusOutput) SetAdminAccountId(v string) *GetProtectionStatusOutput { + s.AdminAccountId = &v + return s +} + +// SetData sets the Data field's value. +func (s *GetProtectionStatusOutput) SetData(v string) *GetProtectionStatusOutput { + s.Data = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetProtectionStatusOutput) SetNextToken(v string) *GetProtectionStatusOutput { + s.NextToken = &v + return s +} + +// SetServiceType sets the ServiceType field's value. +func (s *GetProtectionStatusOutput) SetServiceType(v string) *GetProtectionStatusOutput { + s.ServiceType = &v + return s +} + type ListComplianceStatusInput struct { _ struct{} `type:"structure"` @@ -2058,14 +2520,16 @@ type Policy struct { // An array of ResourceTag objects. ResourceTags []*ResourceTag `type:"list"` - // The type of resource to protect with the policy, either an Application Load - // Balancer or a CloudFront distribution. This is in the format shown in AWS - // Resource Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). - // Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution. + // The type of resource to protect with the policy. This is in the format shown + // in AWS Resource Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). + // For example: AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution. // // ResourceType is a required field ResourceType *string `min:"1" type:"string" required:"true"` + // An array of ResourceType. + ResourceTypeList []*string `type:"list"` + // Details about the security service that is being used to protect the resources. // // SecurityServicePolicyData is a required field @@ -2188,6 +2652,12 @@ func (s *Policy) SetResourceType(v string) *Policy { return s } +// SetResourceTypeList sets the ResourceTypeList field's value. +func (s *Policy) SetResourceTypeList(v []*string) *Policy { + s.ResourceTypeList = v + return s +} + // SetSecurityServicePolicyData sets the SecurityServicePolicyData field's value. func (s *Policy) SetSecurityServicePolicyData(v *SecurityServicePolicyData) *Policy { s.SecurityServicePolicyData = v @@ -2378,14 +2848,14 @@ type PolicySummary struct { // Indicates if the policy should be automatically applied to new resources. RemediationEnabled *bool `type:"boolean"` - // The type of resource to protect with the policy, either an Application Load - // Balancer or a CloudFront distribution. This is in the format shown in AWS - // Resource Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). - // Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution. + // The type of resource to protect with the policy. This is in the format shown + // in AWS Resource Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). + // For example: AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution. ResourceType *string `min:"1" type:"string"` - // The service that the policy is using to protect the resources. This value - // is WAF. + // The service that the policy is using to protect the resources. This specifies + // the type of policy that is created, either a WAF policy or Shield Advanced + // policy. SecurityServiceType *string `type:"string" enum:"SecurityServiceType"` } @@ -2652,10 +3122,13 @@ type SecurityServicePolicyData struct { // ManagedServiceData": "{\"type\": \"WAF\", \"ruleGroups\": [{\"id\": \"12345678-1bcd-9012-efga-0987654321ab\", // \"overrideAction\" : {\"type\": \"COUNT\"}}], \"defaultAction\": {\"type\": // \"BLOCK\"}} + // + // If this is a Shield Advanced policy, this string will be empty. ManagedServiceData *string `min:"1" type:"string"` - // The service that the policy is using to protect the resources. This value - // is WAF. + // The service that the policy is using to protect the resources. This specifies + // the type of policy that is created, either a WAF policy or Shield Advanced + // policy. // // Type is a required field Type *string `type:"string" required:"true" enum:"SecurityServiceType"` @@ -2727,6 +3200,9 @@ const ( // DependentServiceNameAwswaf is a DependentServiceName enum value DependentServiceNameAwswaf = "AWSWAF" + + // DependentServiceNameAwsshieldAdvanced is a DependentServiceName enum value + DependentServiceNameAwsshieldAdvanced = "AWSSHIELD_ADVANCED" ) const ( @@ -2740,6 +3216,9 @@ const ( const ( // SecurityServiceTypeWaf is a SecurityServiceType enum value SecurityServiceTypeWaf = "WAF" + + // SecurityServiceTypeShieldAdvanced is a SecurityServiceType enum value + SecurityServiceTypeShieldAdvanced = "SHIELD_ADVANCED" ) const ( @@ -2751,4 +3230,7 @@ const ( // ViolationReasonResourceIncorrectWebAcl is a ViolationReason enum value ViolationReasonResourceIncorrectWebAcl = "RESOURCE_INCORRECT_WEB_ACL" + + // ViolationReasonResourceMissingShieldProtection is a ViolationReason enum value + ViolationReasonResourceMissingShieldProtection = "RESOURCE_MISSING_SHIELD_PROTECTION" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/fms/doc.go b/vendor/github.com/aws/aws-sdk-go/service/fms/doc.go index baae6d87f70e..e7835b7be953 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/fms/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/fms/doc.go @@ -6,7 +6,7 @@ // This is the AWS Firewall Manager API Reference. This guide is for developers // who need detailed information about the AWS Firewall Manager API actions, // data types, and errors. For detailed information about AWS Firewall Manager -// features, see the AWS Firewall Manager Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html). +// features, see the AWS Firewall Manager Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html). // // See https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/fms/errors.go b/vendor/github.com/aws/aws-sdk-go/service/fms/errors.go index c63fd3c5b80a..596738bf3479 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/fms/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/fms/errors.go @@ -36,7 +36,7 @@ const ( // // The operation exceeds a resource limit, for example, the maximum number of // policy objects that you can create for an AWS account. For more information, - // see Firewall Manager Limits (http://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) + // see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) // in the AWS WAF Developer Guide. ErrCodeLimitExceededException = "LimitExceededException" diff --git a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go index a03c19f97bc5..c1a8d00dfb8e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go @@ -511,7 +511,8 @@ func (c *Glue) BatchGetCrawlersRequest(input *BatchGetCrawlersInput) (req *reque // // Returns a list of resource metadata for a given list of crawler names. After // calling the ListCrawlers operation, you can call this operation to access -// the data to which you have been granted permissions to based on tags. +// the data to which you have been granted permissions. This operation supports +// all IAM permissions, including permission conditions that uses tags. // // 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 @@ -1038,8 +1039,8 @@ func (c *Glue) CreateClassifierRequest(input *CreateClassifierInput) (req *reque // CreateClassifier API operation for AWS Glue. // // Creates a classifier in the user's account. This may be a GrokClassifier, -// an XMLClassifier, or abbrev JsonClassifier, depending on which field of the -// request is present. +// an XMLClassifier, a JsonClassifier, or a CsvClassifier, depending on which +// field of the request is present. // // 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 @@ -8853,8 +8854,8 @@ func (c *Glue) UpdateClassifierRequest(input *UpdateClassifierInput) (req *reque // UpdateClassifier API operation for AWS Glue. // -// Modifies an existing classifier (a GrokClassifier, XMLClassifier, or JsonClassifier, -// depending on which field is present). +// Modifies an existing classifier (a GrokClassifier, an XMLClassifier, a JsonClassifier, +// or a CsvClassifier, depending on which field is present). // // 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 @@ -10489,7 +10490,7 @@ type BatchGetCrawlersOutput struct { // A list of crawler definitions. Crawlers []*Crawler `type:"list"` - // A list of crawlers not found. + // A list of names of crawlers not found. CrawlersNotFound []*string `type:"list"` } @@ -11132,11 +11133,14 @@ func (s *CatalogImportStatus) SetImportedBy(v string) *CatalogImportStatus { // You can use the standard classifiers that AWS Glue supplies, or you can write // your own classifiers to best categorize your data sources and specify the // appropriate schemas to use for them. A classifier can be a grok classifier, -// an XML classifier, or a JSON classifier, as specified in one of the fields -// in the Classifier object. +// an XML classifier, a JSON classifier, or a custom CSV classifier as specified +// in one of the fields in the Classifier object. type Classifier struct { _ struct{} `type:"structure"` + // A CSVClassifier object. + CsvClassifier *CsvClassifier `type:"structure"` + // A GrokClassifier object. GrokClassifier *GrokClassifier `type:"structure"` @@ -11157,6 +11161,12 @@ func (s Classifier) GoString() string { return s.String() } +// SetCsvClassifier sets the CsvClassifier field's value. +func (s *Classifier) SetCsvClassifier(v *CsvClassifier) *Classifier { + s.CsvClassifier = v + return s +} + // SetGrokClassifier sets the GrokClassifier field's value. func (s *Classifier) SetGrokClassifier(v *GrokClassifier) *Classifier { s.GrokClassifier = v @@ -12184,6 +12194,9 @@ func (s *CrawlerTargets) SetS3Targets(v []*S3Target) *CrawlerTargets { type CreateClassifierInput struct { _ struct{} `type:"structure"` + // A CsvClassifier object specifying the classifier to create. + CsvClassifier *CreateCsvClassifierRequest `type:"structure"` + // A GrokClassifier object specifying the classifier to create. GrokClassifier *CreateGrokClassifierRequest `type:"structure"` @@ -12207,6 +12220,11 @@ func (s CreateClassifierInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateClassifierInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateClassifierInput"} + if s.CsvClassifier != nil { + if err := s.CsvClassifier.Validate(); err != nil { + invalidParams.AddNested("CsvClassifier", err.(request.ErrInvalidParams)) + } + } if s.GrokClassifier != nil { if err := s.GrokClassifier.Validate(); err != nil { invalidParams.AddNested("GrokClassifier", err.(request.ErrInvalidParams)) @@ -12229,6 +12247,12 @@ func (s *CreateClassifierInput) Validate() error { return nil } +// SetCsvClassifier sets the CsvClassifier field's value. +func (s *CreateClassifierInput) SetCsvClassifier(v *CreateCsvClassifierRequest) *CreateClassifierInput { + s.CsvClassifier = v + return s +} + // SetGrokClassifier sets the GrokClassifier field's value. func (s *CreateClassifierInput) SetGrokClassifier(v *CreateGrokClassifierRequest) *CreateClassifierInput { s.GrokClassifier = v @@ -12511,6 +12535,110 @@ func (s CreateCrawlerOutput) GoString() string { return s.String() } +// Specifies a custom CSV classifier for CreateClassifier to create. +type CreateCsvClassifierRequest struct { + _ struct{} `type:"structure"` + + // Enables the processing of files that contain only one column. + AllowSingleColumn *bool `type:"boolean"` + + // Indicates whether the CSV file contains a header. + ContainsHeader *string `type:"string" enum:"CsvHeaderOption"` + + // A custom symbol to denote what separates each column entry in the row. + Delimiter *string `min:"1" type:"string"` + + // Specifies not to trim values before identifying the type of column values. + // The default value is true. + DisableValueTrimming *bool `type:"boolean"` + + // A list of strings representing column names. + Header []*string `type:"list"` + + // The name of the classifier. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A custom symbol to denote what combines content into a single column value. + // Must be different from the column delimiter. + QuoteSymbol *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateCsvClassifierRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCsvClassifierRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCsvClassifierRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCsvClassifierRequest"} + if s.Delimiter != nil && len(*s.Delimiter) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Delimiter", 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.QuoteSymbol != nil && len(*s.QuoteSymbol) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QuoteSymbol", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowSingleColumn sets the AllowSingleColumn field's value. +func (s *CreateCsvClassifierRequest) SetAllowSingleColumn(v bool) *CreateCsvClassifierRequest { + s.AllowSingleColumn = &v + return s +} + +// SetContainsHeader sets the ContainsHeader field's value. +func (s *CreateCsvClassifierRequest) SetContainsHeader(v string) *CreateCsvClassifierRequest { + s.ContainsHeader = &v + return s +} + +// SetDelimiter sets the Delimiter field's value. +func (s *CreateCsvClassifierRequest) SetDelimiter(v string) *CreateCsvClassifierRequest { + s.Delimiter = &v + return s +} + +// SetDisableValueTrimming sets the DisableValueTrimming field's value. +func (s *CreateCsvClassifierRequest) SetDisableValueTrimming(v bool) *CreateCsvClassifierRequest { + s.DisableValueTrimming = &v + return s +} + +// SetHeader sets the Header field's value. +func (s *CreateCsvClassifierRequest) SetHeader(v []*string) *CreateCsvClassifierRequest { + s.Header = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateCsvClassifierRequest) SetName(v string) *CreateCsvClassifierRequest { + s.Name = &v + return s +} + +// SetQuoteSymbol sets the QuoteSymbol field's value. +func (s *CreateCsvClassifierRequest) SetQuoteSymbol(v string) *CreateCsvClassifierRequest { + s.QuoteSymbol = &v + return s +} + type CreateDatabaseInput struct { _ struct{} `type:"structure"` @@ -13995,6 +14123,115 @@ func (s *CreateXMLClassifierRequest) SetRowTag(v string) *CreateXMLClassifierReq return s } +// A classifier for custom CSV content. +type CsvClassifier struct { + _ struct{} `type:"structure"` + + // Enables the processing of files that contain only one column. + AllowSingleColumn *bool `type:"boolean"` + + // Indicates whether the CSV file contains a header. + ContainsHeader *string `type:"string" enum:"CsvHeaderOption"` + + // The time this classifier was registered. + CreationTime *time.Time `type:"timestamp"` + + // A custom symbol to denote what separates each column entry in the row. + Delimiter *string `min:"1" type:"string"` + + // Specifies not to trim values before identifying the type of column values. + // The default value is true. + DisableValueTrimming *bool `type:"boolean"` + + // A list of strings representing column names. + Header []*string `type:"list"` + + // The time this classifier was last updated. + LastUpdated *time.Time `type:"timestamp"` + + // The name of the classifier. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A custom symbol to denote what combines content into a single column value. + // Must be different from the column delimiter. + QuoteSymbol *string `min:"1" type:"string"` + + // The version of this classifier. + Version *int64 `type:"long"` +} + +// String returns the string representation +func (s CsvClassifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CsvClassifier) GoString() string { + return s.String() +} + +// SetAllowSingleColumn sets the AllowSingleColumn field's value. +func (s *CsvClassifier) SetAllowSingleColumn(v bool) *CsvClassifier { + s.AllowSingleColumn = &v + return s +} + +// SetContainsHeader sets the ContainsHeader field's value. +func (s *CsvClassifier) SetContainsHeader(v string) *CsvClassifier { + s.ContainsHeader = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *CsvClassifier) SetCreationTime(v time.Time) *CsvClassifier { + s.CreationTime = &v + return s +} + +// SetDelimiter sets the Delimiter field's value. +func (s *CsvClassifier) SetDelimiter(v string) *CsvClassifier { + s.Delimiter = &v + return s +} + +// SetDisableValueTrimming sets the DisableValueTrimming field's value. +func (s *CsvClassifier) SetDisableValueTrimming(v bool) *CsvClassifier { + s.DisableValueTrimming = &v + return s +} + +// SetHeader sets the Header field's value. +func (s *CsvClassifier) SetHeader(v []*string) *CsvClassifier { + s.Header = v + return s +} + +// SetLastUpdated sets the LastUpdated field's value. +func (s *CsvClassifier) SetLastUpdated(v time.Time) *CsvClassifier { + s.LastUpdated = &v + return s +} + +// SetName sets the Name field's value. +func (s *CsvClassifier) SetName(v string) *CsvClassifier { + s.Name = &v + return s +} + +// SetQuoteSymbol sets the QuoteSymbol field's value. +func (s *CsvClassifier) SetQuoteSymbol(v string) *CsvClassifier { + s.QuoteSymbol = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *CsvClassifier) SetVersion(v int64) *CsvClassifier { + s.Version = &v + return s +} + // Contains configuration information for maintaining Data Catalog security. type DataCatalogEncryptionSettings struct { _ struct{} `type:"structure"` @@ -22735,6 +22972,9 @@ func (s UntagResourceOutput) GoString() string { type UpdateClassifierInput struct { _ struct{} `type:"structure"` + // A CsvClassifier object with updated fields. + CsvClassifier *UpdateCsvClassifierRequest `type:"structure"` + // A GrokClassifier object with updated fields. GrokClassifier *UpdateGrokClassifierRequest `type:"structure"` @@ -22758,6 +22998,11 @@ func (s UpdateClassifierInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateClassifierInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateClassifierInput"} + if s.CsvClassifier != nil { + if err := s.CsvClassifier.Validate(); err != nil { + invalidParams.AddNested("CsvClassifier", err.(request.ErrInvalidParams)) + } + } if s.GrokClassifier != nil { if err := s.GrokClassifier.Validate(); err != nil { invalidParams.AddNested("GrokClassifier", err.(request.ErrInvalidParams)) @@ -22780,6 +23025,12 @@ func (s *UpdateClassifierInput) Validate() error { return nil } +// SetCsvClassifier sets the CsvClassifier field's value. +func (s *UpdateClassifierInput) SetCsvClassifier(v *UpdateCsvClassifierRequest) *UpdateClassifierInput { + s.CsvClassifier = v + return s +} + // SetGrokClassifier sets the GrokClassifier field's value. func (s *UpdateClassifierInput) SetGrokClassifier(v *UpdateGrokClassifierRequest) *UpdateClassifierInput { s.GrokClassifier = v @@ -23119,6 +23370,110 @@ func (s UpdateCrawlerScheduleOutput) GoString() string { return s.String() } +// Specifies a custom CSV classifier to be updated. +type UpdateCsvClassifierRequest struct { + _ struct{} `type:"structure"` + + // Enables the processing of files that contain only one column. + AllowSingleColumn *bool `type:"boolean"` + + // Indicates whether the CSV file contains a header. + ContainsHeader *string `type:"string" enum:"CsvHeaderOption"` + + // A custom symbol to denote what separates each column entry in the row. + Delimiter *string `min:"1" type:"string"` + + // Specifies not to trim values before identifying the type of column values. + // The default value is true. + DisableValueTrimming *bool `type:"boolean"` + + // A list of strings representing column names. + Header []*string `type:"list"` + + // The name of the classifier. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A custom symbol to denote what combines content into a single column value. + // Must be different from the column delimiter. + QuoteSymbol *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateCsvClassifierRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCsvClassifierRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCsvClassifierRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCsvClassifierRequest"} + if s.Delimiter != nil && len(*s.Delimiter) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Delimiter", 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.QuoteSymbol != nil && len(*s.QuoteSymbol) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QuoteSymbol", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowSingleColumn sets the AllowSingleColumn field's value. +func (s *UpdateCsvClassifierRequest) SetAllowSingleColumn(v bool) *UpdateCsvClassifierRequest { + s.AllowSingleColumn = &v + return s +} + +// SetContainsHeader sets the ContainsHeader field's value. +func (s *UpdateCsvClassifierRequest) SetContainsHeader(v string) *UpdateCsvClassifierRequest { + s.ContainsHeader = &v + return s +} + +// SetDelimiter sets the Delimiter field's value. +func (s *UpdateCsvClassifierRequest) SetDelimiter(v string) *UpdateCsvClassifierRequest { + s.Delimiter = &v + return s +} + +// SetDisableValueTrimming sets the DisableValueTrimming field's value. +func (s *UpdateCsvClassifierRequest) SetDisableValueTrimming(v bool) *UpdateCsvClassifierRequest { + s.DisableValueTrimming = &v + return s +} + +// SetHeader sets the Header field's value. +func (s *UpdateCsvClassifierRequest) SetHeader(v []*string) *UpdateCsvClassifierRequest { + s.Header = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateCsvClassifierRequest) SetName(v string) *UpdateCsvClassifierRequest { + s.Name = &v + return s +} + +// SetQuoteSymbol sets the QuoteSymbol field's value. +func (s *UpdateCsvClassifierRequest) SetQuoteSymbol(v string) *UpdateCsvClassifierRequest { + s.QuoteSymbol = &v + return s +} + type UpdateDatabaseInput struct { _ struct{} `type:"structure"` @@ -24313,6 +24668,17 @@ const ( CrawlerStateStopping = "STOPPING" ) +const ( + // CsvHeaderOptionUnknown is a CsvHeaderOption enum value + CsvHeaderOptionUnknown = "UNKNOWN" + + // CsvHeaderOptionPresent is a CsvHeaderOption enum value + CsvHeaderOptionPresent = "PRESENT" + + // CsvHeaderOptionAbsent is a CsvHeaderOption enum value + CsvHeaderOptionAbsent = "ABSENT" +) + const ( // DeleteBehaviorLog is a DeleteBehavior enum value DeleteBehaviorLog = "LOG" 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 af2e66c3049c..78f7e40db8f9 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 @@ -2771,7 +2771,8 @@ func (s *Ac3Settings) SetSampleRate(v int64) *Ac3Settings { return s } -// Acceleration settings for job execution. +// Accelerated transcoding is currently in private preview. Contact AWS for +// more information. type AccelerationSettings struct { _ struct{} `type:"structure"` @@ -4481,6 +4482,10 @@ type CmafGroupSettings struct { // first input file. Destination *string `locationName:"destination" type:"string"` + // Settings associated with the destination. Will vary based on the type of + // destination + DestinationSettings *DestinationSettings `locationName:"destinationSettings" type:"structure"` + // DRM settings. Encryption *CmafEncryptionSettings `locationName:"encryption" type:"structure"` @@ -4597,6 +4602,12 @@ func (s *CmafGroupSettings) SetDestination(v string) *CmafGroupSettings { return s } +// SetDestinationSettings sets the DestinationSettings field's value. +func (s *CmafGroupSettings) SetDestinationSettings(v *DestinationSettings) *CmafGroupSettings { + s.DestinationSettings = v + return s +} + // SetEncryption sets the Encryption field's value. func (s *CmafGroupSettings) SetEncryption(v *CmafEncryptionSettings) *CmafGroupSettings { s.Encryption = v @@ -4901,7 +4912,7 @@ type CreateJobInput struct { // Events. Set the interval, in seconds, between status updates. MediaConvert // sends an update at this interval from the time the service begins processing // your job to the time it completes the transcode or encounters an error. - StatusUpdateIntervalInSecs *int64 `locationName:"statusUpdateIntervalInSecs" min:"10" type:"long"` + StatusUpdateInterval *string `locationName:"statusUpdateInterval" type:"string" enum:"StatusUpdateInterval"` // User-defined metadata that you want to associate with an MediaConvert job. // You specify metadata in key/value pairs. @@ -4927,9 +4938,6 @@ func (s *CreateJobInput) Validate() error { if s.Settings == nil { invalidParams.Add(request.NewErrParamRequired("Settings")) } - if s.StatusUpdateIntervalInSecs != nil && *s.StatusUpdateIntervalInSecs < 10 { - invalidParams.Add(request.NewErrParamMinValue("StatusUpdateIntervalInSecs", 10)) - } if s.AccelerationSettings != nil { if err := s.AccelerationSettings.Validate(); err != nil { invalidParams.AddNested("AccelerationSettings", err.(request.ErrInvalidParams)) @@ -4989,9 +4997,9 @@ func (s *CreateJobInput) SetSettings(v *JobSettings) *CreateJobInput { return s } -// SetStatusUpdateIntervalInSecs sets the StatusUpdateIntervalInSecs field's value. -func (s *CreateJobInput) SetStatusUpdateIntervalInSecs(v int64) *CreateJobInput { - s.StatusUpdateIntervalInSecs = &v +// SetStatusUpdateInterval sets the StatusUpdateInterval field's value. +func (s *CreateJobInput) SetStatusUpdateInterval(v string) *CreateJobInput { + s.StatusUpdateInterval = &v return s } @@ -5061,7 +5069,7 @@ type CreateJobTemplateInput struct { // Events. Set the interval, in seconds, between status updates. MediaConvert // sends an update at this interval from the time the service begins processing // your job to the time it completes the transcode or encounters an error. - StatusUpdateIntervalInSecs *int64 `locationName:"statusUpdateIntervalInSecs" min:"10" type:"long"` + StatusUpdateInterval *string `locationName:"statusUpdateInterval" type:"string" enum:"StatusUpdateInterval"` // The tags that you want to add to the resource. You can tag resources with // a key-value pair or with only a key. @@ -5087,9 +5095,6 @@ func (s *CreateJobTemplateInput) Validate() error { if s.Settings == nil { invalidParams.Add(request.NewErrParamRequired("Settings")) } - if s.StatusUpdateIntervalInSecs != nil && *s.StatusUpdateIntervalInSecs < 10 { - invalidParams.Add(request.NewErrParamMinValue("StatusUpdateIntervalInSecs", 10)) - } if s.AccelerationSettings != nil { if err := s.AccelerationSettings.Validate(); err != nil { invalidParams.AddNested("AccelerationSettings", err.(request.ErrInvalidParams)) @@ -5143,9 +5148,9 @@ func (s *CreateJobTemplateInput) SetSettings(v *JobTemplateSettings) *CreateJobT return s } -// SetStatusUpdateIntervalInSecs sets the StatusUpdateIntervalInSecs field's value. -func (s *CreateJobTemplateInput) SetStatusUpdateIntervalInSecs(v int64) *CreateJobTemplateInput { - s.StatusUpdateIntervalInSecs = &v +// SetStatusUpdateInterval sets the StatusUpdateInterval field's value. +func (s *CreateJobTemplateInput) SetStatusUpdateInterval(v string) *CreateJobTemplateInput { + s.StatusUpdateInterval = &v return s } @@ -5452,6 +5457,10 @@ type DashIsoGroupSettings struct { // first input file. Destination *string `locationName:"destination" type:"string"` + // Settings associated with the destination. Will vary based on the type of + // destination + DestinationSettings *DestinationSettings `locationName:"destinationSettings" type:"structure"` + // DRM settings. Encryption *DashIsoEncryptionSettings `locationName:"encryption" type:"structure"` @@ -5529,6 +5538,12 @@ func (s *DashIsoGroupSettings) SetDestination(v string) *DashIsoGroupSettings { return s } +// SetDestinationSettings sets the DestinationSettings field's value. +func (s *DashIsoGroupSettings) SetDestinationSettings(v *DestinationSettings) *DashIsoGroupSettings { + s.DestinationSettings = v + return s +} + // SetEncryption sets the Encryption field's value. func (s *DashIsoGroupSettings) SetEncryption(v *DashIsoEncryptionSettings) *DashIsoGroupSettings { s.Encryption = v @@ -5883,6 +5898,31 @@ func (s *DescribeEndpointsOutput) SetNextToken(v string) *DescribeEndpointsOutpu return s } +// Settings associated with the destination. Will vary based on the type of +// destination +type DestinationSettings struct { + _ struct{} `type:"structure"` + + // Settings associated with S3 destination + S3Settings *S3DestinationSettings `locationName:"s3Settings" type:"structure"` +} + +// String returns the string representation +func (s DestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DestinationSettings) GoString() string { + return s.String() +} + +// SetS3Settings sets the S3Settings field's value. +func (s *DestinationSettings) SetS3Settings(v *S3DestinationSettings) *DestinationSettings { + s.S3Settings = v + return s +} + // Removes an association between the Amazon Resource Name (ARN) of an AWS Certificate // Manager (ACM) certificate and an AWS Elemental MediaConvert resource. type DisassociateCertificateInput struct { @@ -6913,6 +6953,10 @@ type FileGroupSettings struct { // file. If your job has multiple inputs, the service uses the filename of the // first input file. Destination *string `locationName:"destination" type:"string"` + + // Settings associated with the destination. Will vary based on the type of + // destination + DestinationSettings *DestinationSettings `locationName:"destinationSettings" type:"structure"` } // String returns the string representation @@ -6931,6 +6975,12 @@ func (s *FileGroupSettings) SetDestination(v string) *FileGroupSettings { return s } +// SetDestinationSettings sets the DestinationSettings field's value. +func (s *FileGroupSettings) SetDestinationSettings(v *DestinationSettings) *FileGroupSettings { + s.DestinationSettings = v + return s +} + // Settings for File-based Captions in Source type FileSourceSettings struct { _ struct{} `type:"structure"` @@ -8791,6 +8841,10 @@ type HlsGroupSettings struct { // first input file. Destination *string `locationName:"destination" type:"string"` + // Settings associated with the destination. Will vary based on the type of + // destination + DestinationSettings *DestinationSettings `locationName:"destinationSettings" type:"structure"` + // Indicates whether segments should be placed in subdirectories. DirectoryStructure *string `locationName:"directoryStructure" type:"string" enum:"HlsDirectoryStructure"` @@ -8951,6 +9005,12 @@ func (s *HlsGroupSettings) SetDestination(v string) *HlsGroupSettings { return s } +// SetDestinationSettings sets the DestinationSettings field's value. +func (s *HlsGroupSettings) SetDestinationSettings(v *DestinationSettings) *HlsGroupSettings { + s.DestinationSettings = v + return s +} + // SetDirectoryStructure sets the DirectoryStructure field's value. func (s *HlsGroupSettings) SetDirectoryStructure(v string) *HlsGroupSettings { s.DirectoryStructure = &v @@ -9226,7 +9286,10 @@ type Input struct { // video inputs. DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"` - // Settings for decrypting any input files that are encrypted. + // Settings for decrypting any input files that you encrypt before you upload + // them to Amazon S3. MediaConvert can decrypt files only when you use AWS Key + // Management Service (KMS) to encrypt the data key that you use to encrypt + // your content. DecryptionSettings *InputDecryptionSettings `locationName:"decryptionSettings" type:"structure"` // Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default @@ -9508,20 +9571,33 @@ func (s *InputClipping) SetStartTimecode(v string) *InputClipping { return s } -// Specify the decryption settings used to decrypt encrypted input +// Settings for decrypting any input files that you encrypt before you upload +// them to Amazon S3. MediaConvert can decrypt files only when you use AWS Key +// Management Service (KMS) to encrypt the data key that you use to encrypt +// your content. type InputDecryptionSettings struct { _ struct{} `type:"structure"` - // This specifies how the encrypted file needs to be decrypted. + // Specify the encryption mode that you used to encrypt your input files. DecryptionMode *string `locationName:"decryptionMode" type:"string" enum:"DecryptionMode"` - // Decryption key either 128 or 192 or 256 bits encrypted with KMS + // Warning! Don't provide your encryption key in plaintext. Your job settings + // could be intercepted, making your encrypted content vulnerable. Specify the + // encrypted version of the data key that you used to encrypt your content. + // The data key must be encrypted by AWS Key Management Service (KMS). The key + // can be 128, 192, or 256 bits. EncryptedDecryptionKey *string `locationName:"encryptedDecryptionKey" min:"24" type:"string"` - // Initialization Vector 96 bits (CTR/GCM mode only) or 128 bits. + // Specify the initialization vector that you used when you encrypted your content + // before uploading it to Amazon S3. You can use a 16-byte initialization vector + // with any encryption mode. Or, you can use a 12-byte initialization vector + // with GCM or CTR. MediaConvert accepts only initialization vectors that are + // base64-encoded. InitializationVector *string `locationName:"initializationVector" min:"16" type:"string"` - // The AWS region in which decryption key was encrypted with KMS + // Specify the AWS Region for AWS Key Management Service (KMS) that you used + // to encrypt your data key, if that Region is different from the one you are + // using for AWS Elemental MediaConvert. KmsKeyRegion *string `locationName:"kmsKeyRegion" min:"9" type:"string"` } @@ -9945,7 +10021,8 @@ func (s *InsertableImage) SetWidth(v int64) *InsertableImage { type Job struct { _ struct{} `type:"structure"` - // Acceleration settings for job execution. + // Accelerated transcoding is currently in private preview. Contact AWS for + // more information. AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"` // An identifier for this resource that is unique within all of AWS. @@ -9961,6 +10038,9 @@ type Job struct { // The time, in Unix epoch format in seconds, when the job got created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unixTimestamp"` + // A job's phase can be PROBING, TRANSCODING OR UPLOADING + CurrentPhase *string `locationName:"currentPhase" type:"string" enum:"JobPhase"` + // Error code for the job ErrorCode *int64 `locationName:"errorCode" type:"integer"` @@ -9971,6 +10051,17 @@ type Job struct { // resources Id *string `locationName:"id" type:"string"` + // An estimate of how far your job has progressed. This estimate is shown as + // a percentage of the total time from when your job leaves its queue to when + // your output files appear in your output Amazon S3 bucket. AWS Elemental MediaConvert + // provides jobPercentComplete in CloudWatch STATUS_UPDATE events and in the + // response to GetJob and ListJobs requests. The jobPercentComplete estimate + // is reliable for the following input containers: Quicktime, Transport Stream, + // MP4, and MXF. For some jobs, including audio-only jobs and jobs that use + // input clipping, the service can't provide information about job progress. + // In those cases, jobPercentComplete returns a null value. + JobPercentComplete *int64 `locationName:"jobPercentComplete" type:"integer"` + // The job template that the job is created from, if it is created from a job // template. JobTemplate *string `locationName:"jobTemplate" type:"string"` @@ -9983,6 +10074,10 @@ type Job struct { // see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html Queue *string `locationName:"queue" type:"string"` + // The number of times that the service automatically attempted to process your + // job after encountering an error. + RetryCount *int64 `locationName:"retryCount" type:"integer"` + // The IAM role you use for creating this job. For details about permissions, // see the User Guide topic at the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html // @@ -10001,7 +10096,7 @@ type Job struct { // Events. Set the interval, in seconds, between status updates. MediaConvert // sends an update at this interval from the time the service begins processing // your job to the time it completes the transcode or encounters an error. - StatusUpdateIntervalInSecs *int64 `locationName:"statusUpdateIntervalInSecs" min:"10" type:"long"` + StatusUpdateInterval *string `locationName:"statusUpdateInterval" type:"string" enum:"StatusUpdateInterval"` // Information about when jobs are submitted, started, and finished is specified // in Unix epoch format in seconds. @@ -10046,6 +10141,12 @@ func (s *Job) SetCreatedAt(v time.Time) *Job { return s } +// SetCurrentPhase sets the CurrentPhase field's value. +func (s *Job) SetCurrentPhase(v string) *Job { + s.CurrentPhase = &v + return s +} + // SetErrorCode sets the ErrorCode field's value. func (s *Job) SetErrorCode(v int64) *Job { s.ErrorCode = &v @@ -10064,6 +10165,12 @@ func (s *Job) SetId(v string) *Job { return s } +// SetJobPercentComplete sets the JobPercentComplete field's value. +func (s *Job) SetJobPercentComplete(v int64) *Job { + s.JobPercentComplete = &v + return s +} + // SetJobTemplate sets the JobTemplate field's value. func (s *Job) SetJobTemplate(v string) *Job { s.JobTemplate = &v @@ -10082,6 +10189,12 @@ func (s *Job) SetQueue(v string) *Job { return s } +// SetRetryCount sets the RetryCount field's value. +func (s *Job) SetRetryCount(v int64) *Job { + s.RetryCount = &v + return s +} + // SetRole sets the Role field's value. func (s *Job) SetRole(v string) *Job { s.Role = &v @@ -10100,9 +10213,9 @@ func (s *Job) SetStatus(v string) *Job { return s } -// SetStatusUpdateIntervalInSecs sets the StatusUpdateIntervalInSecs field's value. -func (s *Job) SetStatusUpdateIntervalInSecs(v int64) *Job { - s.StatusUpdateIntervalInSecs = &v +// SetStatusUpdateInterval sets the StatusUpdateInterval field's value. +func (s *Job) SetStatusUpdateInterval(v string) *Job { + s.StatusUpdateInterval = &v return s } @@ -10278,7 +10391,8 @@ func (s *JobSettings) SetTimedMetadataInsertion(v *TimedMetadataInsertion) *JobS type JobTemplate struct { _ struct{} `type:"structure"` - // Acceleration settings for job execution. + // Accelerated transcoding is currently in private preview. Contact AWS for + // more information. AccelerationSettings *AccelerationSettings `locationName:"accelerationSettings" type:"structure"` // An identifier for this resource that is unique within all of AWS. @@ -10316,7 +10430,7 @@ type JobTemplate struct { // Events. Set the interval, in seconds, between status updates. MediaConvert // sends an update at this interval from the time the service begins processing // your job to the time it completes the transcode or encounters an error. - StatusUpdateIntervalInSecs *int64 `locationName:"statusUpdateIntervalInSecs" min:"10" type:"long"` + StatusUpdateInterval *string `locationName:"statusUpdateInterval" type:"string" enum:"StatusUpdateInterval"` // A job template can be of two types: system or custom. System or built-in // job templates can't be modified or deleted by the user. @@ -10387,9 +10501,9 @@ func (s *JobTemplate) SetSettings(v *JobTemplateSettings) *JobTemplate { return s } -// SetStatusUpdateIntervalInSecs sets the StatusUpdateIntervalInSecs field's value. -func (s *JobTemplate) SetStatusUpdateIntervalInSecs(v int64) *JobTemplate { - s.StatusUpdateIntervalInSecs = &v +// SetStatusUpdateInterval sets the StatusUpdateInterval field's value. +func (s *JobTemplate) SetStatusUpdateInterval(v string) *JobTemplate { + s.StatusUpdateInterval = &v return s } @@ -12592,6 +12706,10 @@ type MsSmoothGroupSettings struct { // first input file. Destination *string `locationName:"destination" type:"string"` + // Settings associated with the destination. Will vary based on the type of + // destination + DestinationSettings *DestinationSettings `locationName:"destinationSettings" type:"structure"` + // If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify // the value SpekeKeyProvider. Encryption *MsSmoothEncryptionSettings `locationName:"encryption" type:"structure"` @@ -12640,6 +12758,12 @@ func (s *MsSmoothGroupSettings) SetDestination(v string) *MsSmoothGroupSettings return s } +// SetDestinationSettings sets the DestinationSettings field's value. +func (s *MsSmoothGroupSettings) SetDestinationSettings(v *DestinationSettings) *MsSmoothGroupSettings { + s.DestinationSettings = v + return s +} + // SetEncryption sets the Encryption field's value. func (s *MsSmoothGroupSettings) SetEncryption(v *MsSmoothEncryptionSettings) *MsSmoothGroupSettings { s.Encryption = v @@ -14094,6 +14218,80 @@ func (s *ResourceTags) SetTags(v map[string]*string) *ResourceTags { return s } +// Settings associated with S3 destination +type S3DestinationSettings struct { + _ struct{} `type:"structure"` + + // Settings for how your job outputs are encrypted as they are uploaded to Amazon + // S3. + Encryption *S3EncryptionSettings `locationName:"encryption" type:"structure"` +} + +// String returns the string representation +func (s S3DestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3DestinationSettings) GoString() string { + return s.String() +} + +// SetEncryption sets the Encryption field's value. +func (s *S3DestinationSettings) SetEncryption(v *S3EncryptionSettings) *S3DestinationSettings { + s.Encryption = v + return s +} + +// Settings for how your job outputs are encrypted as they are uploaded to Amazon +// S3. +type S3EncryptionSettings struct { + _ struct{} `type:"structure"` + + // Specify how you want your data keys managed. AWS uses data keys to encrypt + // your content. AWS also encrypts the data keys themselves, using a customer + // master key (CMK), and then stores the encrypted data keys alongside your + // encrypted content. Use this setting to specify which AWS service manages + // the CMK. For simplest set up, choose Amazon S3 (SERVER_SIDE_ENCRYPTION_S3). + // If you want your master key to be managed by AWS Key Management Service (KMS), + // choose AWS KMS (SERVER_SIDE_ENCRYPTION_KMS). By default, when you choose + // AWS KMS, KMS uses the AWS managed customer master key (CMK) associated with + // Amazon S3 to encrypt your data keys. You can optionally choose to specify + // a different, customer managed CMK. Do so by specifying the Amazon Resource + // Name (ARN) of the key for the setting KMS ARN (kmsKeyArn). + EncryptionType *string `locationName:"encryptionType" type:"string" enum:"S3ServerSideEncryptionType"` + + // Optionally, specify the customer master key (CMK) that you want to use to + // encrypt the data key that AWS uses to encrypt your output content. Enter + // the Amazon Resource Name (ARN) of the CMK. To use this setting, you must + // also set Server-side encryption (S3ServerSideEncryptionType) to AWS KMS (SERVER_SIDE_ENCRYPTION_KMS). + // If you set Server-side encryption to AWS KMS but don't specify a CMK here, + // AWS uses the AWS managed CMK associated with Amazon S3. + KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"` +} + +// String returns the string representation +func (s S3EncryptionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3EncryptionSettings) GoString() string { + return s.String() +} + +// SetEncryptionType sets the EncryptionType field's value. +func (s *S3EncryptionSettings) SetEncryptionType(v string) *S3EncryptionSettings { + s.EncryptionType = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *S3EncryptionSettings) SetKmsKeyArn(v string) *S3EncryptionSettings { + s.KmsKeyArn = &v + return s +} + // Settings for SCC caption output. type SccDestinationSettings struct { _ struct{} `type:"structure"` @@ -14766,7 +14964,7 @@ type UpdateJobTemplateInput struct { // Events. Set the interval, in seconds, between status updates. MediaConvert // sends an update at this interval from the time the service begins processing // your job to the time it completes the transcode or encounters an error. - StatusUpdateIntervalInSecs *int64 `locationName:"statusUpdateIntervalInSecs" min:"10" type:"long"` + StatusUpdateInterval *string `locationName:"statusUpdateInterval" type:"string" enum:"StatusUpdateInterval"` } // String returns the string representation @@ -14788,9 +14986,6 @@ func (s *UpdateJobTemplateInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.StatusUpdateIntervalInSecs != nil && *s.StatusUpdateIntervalInSecs < 10 { - invalidParams.Add(request.NewErrParamMinValue("StatusUpdateIntervalInSecs", 10)) - } if s.AccelerationSettings != nil { if err := s.AccelerationSettings.Validate(); err != nil { invalidParams.AddNested("AccelerationSettings", err.(request.ErrInvalidParams)) @@ -14844,9 +15039,9 @@ func (s *UpdateJobTemplateInput) SetSettings(v *JobTemplateSettings) *UpdateJobT return s } -// SetStatusUpdateIntervalInSecs sets the StatusUpdateIntervalInSecs field's value. -func (s *UpdateJobTemplateInput) SetStatusUpdateIntervalInSecs(v int64) *UpdateJobTemplateInput { - s.StatusUpdateIntervalInSecs = &v +// SetStatusUpdateInterval sets the StatusUpdateInterval field's value. +func (s *UpdateJobTemplateInput) SetStatusUpdateInterval(v string) *UpdateJobTemplateInput { + s.StatusUpdateInterval = &v return s } @@ -15214,8 +15409,9 @@ type VideoDescription struct { // to calculate output AFD values based on the input AFD scaler data. AfdSignaling *string `locationName:"afdSignaling" type:"string" enum:"AfdSignaling"` - // You no longer need to specify the anti-alias filter. It's now automatically - // applied to all outputs. This property is deprecated. + // The anti-alias filter is automatically applied to all outputs. The service + // no longer accepts the value DISABLED for AntiAlias. If you specify that in + // your job, the service will ignore the setting. AntiAlias *string `locationName:"antiAlias" type:"string" enum:"AntiAlias"` // Video codec settings, (CodecSettings) under (VideoDescription), contains @@ -15967,8 +16163,9 @@ const ( AfdSignalingFixed = "FIXED" ) -// You no longer need to specify the anti-alias filter. It's now automatically -// applied to all outputs. This property is deprecated. +// The anti-alias filter is automatically applied to all outputs. The service +// no longer accepts the value DISABLED for AntiAlias. If you specify that in +// your job, the service will ignore the setting. const ( // AntiAliasDisabled is a AntiAlias enum value AntiAliasDisabled = "DISABLED" @@ -16536,7 +16733,7 @@ const ( DashIsoWriteSegmentTimelineInRepresentationDisabled = "DISABLED" ) -// This specifies how the encrypted file needs to be decrypted. +// Specify the encryption mode that you used to encrypt your input files. const ( // DecryptionModeAesCtr is a DecryptionMode enum value DecryptionModeAesCtr = "AES_CTR" @@ -17963,6 +18160,18 @@ const ( InputTimecodeSourceSpecifiedstart = "SPECIFIEDSTART" ) +// A job's phase can be PROBING, TRANSCODING OR UPLOADING +const ( + // JobPhaseProbing is a JobPhase enum value + JobPhaseProbing = "PROBING" + + // JobPhaseTranscoding is a JobPhase enum value + JobPhaseTranscoding = "TRANSCODING" + + // JobPhaseUploading is a JobPhase enum value + JobPhaseUploading = "UPLOADING" +) + // A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR. const ( // JobStatusSubmitted is a JobStatus enum value @@ -19388,6 +19597,25 @@ const ( RespondToAfdPassthrough = "PASSTHROUGH" ) +// Specify how you want your data keys managed. AWS uses data keys to encrypt +// your content. AWS also encrypts the data keys themselves, using a customer +// master key (CMK), and then stores the encrypted data keys alongside your +// encrypted content. Use this setting to specify which AWS service manages +// the CMK. For simplest set up, choose Amazon S3 (SERVER_SIDE_ENCRYPTION_S3). +// If you want your master key to be managed by AWS Key Management Service (KMS), +// choose AWS KMS (SERVER_SIDE_ENCRYPTION_KMS). By default, when you choose +// AWS KMS, KMS uses the AWS managed customer master key (CMK) associated with +// Amazon S3 to encrypt your data keys. You can optionally choose to specify +// a different, customer managed CMK. Do so by specifying the Amazon Resource +// Name (ARN) of the key for the setting KMS ARN (kmsKeyArn). +const ( + // S3ServerSideEncryptionTypeServerSideEncryptionS3 is a S3ServerSideEncryptionType enum value + S3ServerSideEncryptionTypeServerSideEncryptionS3 = "SERVER_SIDE_ENCRYPTION_S3" + + // S3ServerSideEncryptionTypeServerSideEncryptionKms is a S3ServerSideEncryptionType enum value + S3ServerSideEncryptionTypeServerSideEncryptionKms = "SERVER_SIDE_ENCRYPTION_KMS" +) + // Applies only if your input aspect ratio is different from your output aspect // ratio. Choose "Stretch to output" to have the service stretch your video // image to fit. Keep the setting "Default" to allow the service to letterbox @@ -19421,6 +19649,57 @@ const ( SccDestinationFramerateFramerate2997NonDropframe = "FRAMERATE_29_97_NON_DROPFRAME" ) +// Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch +// Events. Set the interval, in seconds, between status updates. MediaConvert +// sends an update at this interval from the time the service begins processing +// your job to the time it completes the transcode or encounters an error. +const ( + // StatusUpdateIntervalSeconds10 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds10 = "SECONDS_10" + + // StatusUpdateIntervalSeconds12 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds12 = "SECONDS_12" + + // StatusUpdateIntervalSeconds15 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds15 = "SECONDS_15" + + // StatusUpdateIntervalSeconds20 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds20 = "SECONDS_20" + + // StatusUpdateIntervalSeconds30 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds30 = "SECONDS_30" + + // StatusUpdateIntervalSeconds60 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds60 = "SECONDS_60" + + // StatusUpdateIntervalSeconds120 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds120 = "SECONDS_120" + + // StatusUpdateIntervalSeconds180 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds180 = "SECONDS_180" + + // StatusUpdateIntervalSeconds240 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds240 = "SECONDS_240" + + // StatusUpdateIntervalSeconds300 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds300 = "SECONDS_300" + + // StatusUpdateIntervalSeconds360 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds360 = "SECONDS_360" + + // StatusUpdateIntervalSeconds420 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds420 = "SECONDS_420" + + // StatusUpdateIntervalSeconds480 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds480 = "SECONDS_480" + + // StatusUpdateIntervalSeconds540 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds540 = "SECONDS_540" + + // StatusUpdateIntervalSeconds600 is a StatusUpdateInterval enum value + StatusUpdateIntervalSeconds600 = "SECONDS_600" +) + // Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to // specify the location the burned-in timecode on output video. const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go index 7f1c1f317e03..83a42d249b4a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go @@ -17624,7 +17624,7 @@ type NoncurrentVersionExpiration struct { // Specifies the number of days an object is noncurrent before Amazon S3 can // perform the associated action. For information about the noncurrent days // calculations, see How Amazon S3 Calculates When an Object Became Noncurrent - // (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) // in the Amazon Simple Storage Service Developer Guide. NoncurrentDays *int64 `type:"integer"` } @@ -17646,11 +17646,12 @@ func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVers } // Container for the transition rule that describes when noncurrent objects -// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING or GLACIER -// storage class. If your bucket is versioning-enabled (or versioning is suspended), -// you can set this action to request that Amazon S3 transition noncurrent object -// versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING or GLACIER storage -// class at a specific period in the object's lifetime. +// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER or +// DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning +// is suspended), you can set this action to request that Amazon S3 transition +// noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, +// GLACIER or DEEP_ARCHIVE storage class at a specific period in the object's +// lifetime. type NoncurrentVersionTransition struct { _ struct{} `type:"structure"` @@ -22122,11 +22123,12 @@ type Rule struct { NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` // Container for the transition rule that describes when noncurrent objects - // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING or GLACIER - // storage class. If your bucket is versioning-enabled (or versioning is suspended), - // you can set this action to request that Amazon S3 transition noncurrent object - // versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING or GLACIER storage - // class at a specific period in the object's lifetime. + // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER or + // DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning + // is suspended), you can set this action to request that Amazon S3 transition + // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, + // GLACIER or DEEP_ARCHIVE storage class at a specific period in the object's + // lifetime. NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"` // Prefix identifying one or more objects to which the rule applies. @@ -24545,6 +24547,9 @@ const ( // ObjectStorageClassIntelligentTiering is a ObjectStorageClass enum value ObjectStorageClassIntelligentTiering = "INTELLIGENT_TIERING" + + // ObjectStorageClassDeepArchive is a ObjectStorageClass enum value + ObjectStorageClassDeepArchive = "DEEP_ARCHIVE" ) const ( @@ -24675,6 +24680,9 @@ const ( // StorageClassGlacier is a StorageClass enum value StorageClassGlacier = "GLACIER" + + // StorageClassDeepArchive is a StorageClass enum value + StorageClassDeepArchive = "DEEP_ARCHIVE" ) const ( @@ -24713,6 +24721,9 @@ const ( // TransitionStorageClassIntelligentTiering is a TransitionStorageClass enum value TransitionStorageClassIntelligentTiering = "INTELLIGENT_TIERING" + + // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value + TransitionStorageClassDeepArchive = "DEEP_ARCHIVE" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go index 336d3d738a38..88ed78b11df2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go @@ -244,11 +244,11 @@ func (c *StorageGateway) AddTagsToResourceRequest(input *AddTagsToResourceInput) // // * Storage gateways of all types // -// * Storage Volumes +// * Storage volumes // -// * Virtual Tapes +// * Virtual tapes // -// * NFS and SMB File Shares +// * NFS and SMB file shares // // You can create a maximum of 10 tags for each resource. Virtual tapes and // storage volumes that are recovered to a new gateway maintain their tags. @@ -6875,8 +6875,8 @@ type ActivateGatewayInput struct { // Valid Values: "STK-L700", "AWS-Gateway-VTL" MediumChangerType *string `min:"2" type:"string"` - // A list of up to ten (10) tags assigned to the gateway may be specified. Every - // tag is a key-value pair. + // A list of up to 10 tags that can be assigned to the gateway. Each tag is + // a key-value pair. // // Valid characters for key and value are letters, spaces, and numbers representable // in UTF-8 format, and the following special characters: + - = . _ : / @. The @@ -8166,7 +8166,7 @@ type CreateNFSFileShareInput struct { // Role is a required field Role *string `min:"20" type:"string" required:"true"` - // Maps a user to anonymous user. Valid options are the following: + // A value that maps a user to anonymous user. Valid options are the following: // // * RootSquash - Only root is mapped to anonymous user. // @@ -8175,7 +8175,7 @@ type CreateNFSFileShareInput struct { // * AllSquash - Everyone is mapped to anonymous user. Squash *string `min:"5" type:"string"` - // A list of up to ten (10) tags can be assigned to the NFS file share. Every + // A list of up to 10 tags that can be assigned to the NFS file share. Each // tag is a key-value pair. // // Valid characters for key and value are letters, spaces, and numbers representable @@ -8437,7 +8437,7 @@ type CreateSMBFileShareInput struct { // Role is a required field Role *string `min:"20" type:"string" required:"true"` - // A list of up to ten (10) tags can be assigned to the NFS file share. Every + // A list of up to 10 tags that can be assigned to the NFS file share. Each // tag is a key-value pair. // // Valid characters for key and value are letters, spaces, and numbers representable @@ -9061,6 +9061,15 @@ type CreateTapeWithBarcodeInput struct { // side encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` + // The ID of the pool that you want to add your tape to for archiving. The tape + // in this pool is archived in the S3 storage class that is associated with + // the pool. When you use your backup application to eject the tape, the tape + // is archived directly into the storage class (Glacier or Deep Archive) that + // corresponds to the pool. + // + // Valid values: "GLACIER", "DEEP_ARCHIVE" + PoolId *string `min:"1" type:"string"` + // The barcode that you want to assign to the tape. // // Barcodes cannot be reused. This includes barcodes used for tapes that have @@ -9099,6 +9108,9 @@ func (s *CreateTapeWithBarcodeInput) Validate() error { if s.KMSKey != nil && len(*s.KMSKey) < 7 { invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } + if s.PoolId != nil && len(*s.PoolId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PoolId", 1)) + } if s.TapeBarcode == nil { invalidParams.Add(request.NewErrParamRequired("TapeBarcode")) } @@ -9133,6 +9145,12 @@ func (s *CreateTapeWithBarcodeInput) SetKMSKey(v string) *CreateTapeWithBarcodeI return s } +// SetPoolId sets the PoolId field's value. +func (s *CreateTapeWithBarcodeInput) SetPoolId(v string) *CreateTapeWithBarcodeInput { + s.PoolId = &v + return s +} + // SetTapeBarcode sets the TapeBarcode field's value. func (s *CreateTapeWithBarcodeInput) SetTapeBarcode(v string) *CreateTapeWithBarcodeInput { s.TapeBarcode = &v @@ -9202,6 +9220,14 @@ type CreateTapesInput struct { // NumTapesToCreate is a required field NumTapesToCreate *int64 `min:"1" type:"integer" required:"true"` + // The ID of the pool that you want to add your tape to for archiving. The tape + // in this pool is archived in the S3 storage class you chose when you created + // the tape. When you use your backup application to eject the tape, the tape + // is archived directly into the storage class (Glacier or Deep Archive). + // + // Valid values: "GLACIER", "DEEP_ARCHIVE" + PoolId *string `min:"1" type:"string"` + // A prefix that you append to the barcode of the virtual tape you are creating. // This prefix makes the barcode unique. // @@ -9253,6 +9279,9 @@ func (s *CreateTapesInput) Validate() error { if s.NumTapesToCreate != nil && *s.NumTapesToCreate < 1 { invalidParams.Add(request.NewErrParamMinValue("NumTapesToCreate", 1)) } + if s.PoolId != nil && len(*s.PoolId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PoolId", 1)) + } if s.TapeBarcodePrefix == nil { invalidParams.Add(request.NewErrParamRequired("TapeBarcodePrefix")) } @@ -9299,6 +9328,12 @@ func (s *CreateTapesInput) SetNumTapesToCreate(v int64) *CreateTapesInput { return s } +// SetPoolId sets the PoolId field's value. +func (s *CreateTapesInput) SetPoolId(v string) *CreateTapesInput { + s.PoolId = &v + return s +} + // SetTapeBarcodePrefix sets the TapeBarcodePrefix field's value. func (s *CreateTapesInput) SetTapeBarcodePrefix(v string) *CreateTapesInput { s.TapeBarcodePrefix = &v @@ -10398,10 +10433,9 @@ type DescribeGatewayInformationOutput struct { // this field is not returned in the response. NextUpdateAvailabilityDate *string `min:"1" type:"string"` - // A list of up to ten (10) tags assigned to the gateway are returned, sorted - // alphabetically by key name. Every tag is a key-value pair. For a gateway - // with more than 10 tags assigned, you can view all tags using the ListTagsForResource - // API. + // A list of up to 10 tags assigned to the gateway, sorted alphabetically by + // key name. Each tag is a key-value pair. For a gateway with more than 10 tags + // assigned, you can view all tags using the ListTagsForResource API operation. Tags []*Tag `type:"list"` } @@ -13208,10 +13242,9 @@ type NFSFileShareInfo struct { // * AllSquash - Everyone is mapped to anonymous user. Squash *string `min:"5" type:"string"` - // A list of up to ten (10) tags assigned to the NFS file share are returned, - // sorted alphabetically by key name. Every tag is a key-value pair. For a gateway - // with more than 10 tags assigned, you can view all tags using the ListTagsForResource - // API. + // A list of up to 10 tags assigned to the NFS file share, sorted alphabetically + // by key name. Each tag is a key-value pair. For a gateway with more than 10 + // tags assigned, you can view all tags using the ListTagsForResource API operation. Tags []*Tag `type:"list"` } @@ -13952,10 +13985,9 @@ type SMBFileShareInfo struct { // storage. Role *string `min:"20" type:"string"` - // A list of up to ten (10) tags assigned to the SMB file share are returned, - // sorted alphabetically by key name. Every tag is a key-value pair. For a gateway - // with more than 10 tags assigned, you can view all tags using the ListTagsForResource - // API. + // A list of up to 10 tags assigned to the SMB file share, sorted alphabetically + // by key name. Each tag is a key-value pair. For a gateway with more than 10 + // tags assigned, you can view all tags using the ListTagsForResource API operation. Tags []*Tag `type:"list"` // A list of users or groups in the Active Directory that are allowed to access @@ -14623,6 +14655,15 @@ type Tape struct { // side encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` + // The ID of the pool that contains tapes that will be archived. The tapes in + // this pool are archived in the S3 storage class that is associated with the + // pool. When you use your backup application to eject the tape, the tape is + // archived directly into the storage class (Glacier or Deep Archive) that corresponds + // to the pool. + // + // Valid values: "GLACIER", "DEEP_ARCHIVE" + PoolId *string `min:"1" type:"string"` + // For archiving virtual tapes, indicates how much data remains to be uploaded // before archiving is complete. // @@ -14670,6 +14711,12 @@ func (s *Tape) SetKMSKey(v string) *Tape { return s } +// SetPoolId sets the PoolId field's value. +func (s *Tape) SetPoolId(v string) *Tape { + s.PoolId = &v + return s +} + // SetProgress sets the Progress field's value. func (s *Tape) SetProgress(v float64) *Tape { s.Progress = &v @@ -14732,6 +14779,12 @@ type TapeArchive struct { // side encryption. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` + // The ID of the pool that was used to archive the tape. The tapes in this pool + // are archived in the S3 storage class that is associated with the pool. + // + // Valid values: "GLACIER", "DEEP_ARCHIVE" + PoolId *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the tape gateway that the virtual tape // is being retrieved to. // @@ -14781,6 +14834,12 @@ func (s *TapeArchive) SetKMSKey(v string) *TapeArchive { return s } +// SetPoolId sets the PoolId field's value. +func (s *TapeArchive) SetPoolId(v string) *TapeArchive { + s.PoolId = &v + return s +} + // SetRetrievedTo sets the RetrievedTo field's value. func (s *TapeArchive) SetRetrievedTo(v string) *TapeArchive { s.RetrievedTo = &v @@ -14831,6 +14890,15 @@ type TapeInfo struct { // to return a list of gateways for your account and region. GatewayARN *string `min:"50" type:"string"` + // The ID of the pool that you want to add your tape to for archiving. The tape + // in this pool is archived in the S3 storage class that is associated with + // the pool. When you use your backup application to eject the tape, the tape + // is archived directly into the storage class (Glacier or Deep Archive) that + // corresponds to the pool. + // + // Valid values: "GLACIER", "DEEP_ARCHIVE" + PoolId *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of a virtual tape. TapeARN *string `min:"50" type:"string"` @@ -14860,6 +14928,12 @@ func (s *TapeInfo) SetGatewayARN(v string) *TapeInfo { return s } +// SetPoolId sets the PoolId field's value. +func (s *TapeInfo) SetPoolId(v string) *TapeInfo { + s.PoolId = &v + return s +} + // SetTapeARN sets the TapeARN field's value. func (s *TapeInfo) SetTapeARN(v string) *TapeInfo { s.TapeARN = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go b/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go index e4641e7b8e4b..14a219e814b5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go @@ -1708,6 +1708,10 @@ func (c *Transfer) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput type CreateServerInput struct { _ struct{} `type:"structure"` + EndpointDetails *EndpointDetails `type:"structure"` + + EndpointType *string `type:"string" enum:"EndpointType"` + // An array containing all of the information required to call a customer-supplied // authentication API. This parameter is not required when the IdentityProviderType // value of server that is created uses the SERVICE_MANAGED authentication method. @@ -1720,7 +1724,7 @@ type CreateServerInput struct { // by you to integrate an identity provider of your choice. IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` - // A value that allows the service to write your SFTP users’ activity to your + // A value that allows the service to write your SFTP users' activity to your // Amazon CloudWatch logs for monitoring and auditing purposes. LoggingRole *string `type:"string"` @@ -1761,6 +1765,18 @@ func (s *CreateServerInput) Validate() error { return nil } +// SetEndpointDetails sets the EndpointDetails field's value. +func (s *CreateServerInput) SetEndpointDetails(v *EndpointDetails) *CreateServerInput { + s.EndpointDetails = v + return s +} + +// SetEndpointType sets the EndpointType field's value. +func (s *CreateServerInput) SetEndpointType(v string) *CreateServerInput { + s.EndpointType = &v + return s +} + // SetIdentityProviderDetails sets the IdentityProviderDetails field's value. func (s *CreateServerInput) SetIdentityProviderDetails(v *IdentityProviderDetails) *CreateServerInput { s.IdentityProviderDetails = v @@ -1823,12 +1839,12 @@ type CreateUserInput struct { // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. Policy *string `type:"string"` - // The IAM role that controls your user’s access to your Amazon S3 bucket. The + // The IAM role that controls your user's access to your Amazon S3 bucket. The // policies attached to this role will determine the level of access you want // to provide your users when transferring files into and out of your Amazon // S3 bucket or buckets. The IAM role should also contain a trust relationship // that allows the SFTP server to access your resources when servicing your - // SFTP user’s transfer requests. + // SFTP user's transfer requests. // // Role is a required field Role *string `type:"string" required:"true"` @@ -2035,7 +2051,7 @@ type DeleteSshPublicKeyInput struct { // ServerId is a required field ServerId *string `type:"string" required:"true"` - // A unique identifier used to reference your user’s specific SSH key. + // A unique identifier used to reference your user's specific SSH key. // // SshPublicKeyId is a required field SshPublicKeyId *string `type:"string" required:"true"` @@ -2341,6 +2357,10 @@ type DescribedServer struct { // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` + EndpointDetails *EndpointDetails `type:"structure"` + + EndpointType *string `type:"string" enum:"EndpointType"` + // Specifies information to call a customer-supplied authentication API. This // field is not populated when the IdentityProviderType of the server is SERVICE_MANAGED>. IdentityProviderDetails *IdentityProviderDetails `type:"structure"` @@ -2396,6 +2416,18 @@ func (s *DescribedServer) SetArn(v string) *DescribedServer { return s } +// SetEndpointDetails sets the EndpointDetails field's value. +func (s *DescribedServer) SetEndpointDetails(v *EndpointDetails) *DescribedServer { + s.EndpointDetails = v + return s +} + +// SetEndpointType sets the EndpointType field's value. +func (s *DescribedServer) SetEndpointType(v string) *DescribedServer { + s.EndpointType = &v + return s +} + // SetIdentityProviderDetails sets the IdentityProviderDetails field's value. func (s *DescribedServer) SetIdentityProviderDetails(v *IdentityProviderDetails) *DescribedServer { s.IdentityProviderDetails = v @@ -2456,12 +2488,12 @@ type DescribedUser struct { // Specifies the name of the policy in use for the described user. Policy *string `type:"string"` - // This property specifies the IAM role that controls your user’s access to + // This property specifies the IAM role that controls your user's access to // your Amazon S3 bucket. The policies attached to this role will determine // the level of access you want to provide your users when transferring files // into and out of your Amazon S3 bucket or buckets. The IAM role should also // contain a trust relationship that allows the SFTP server to access your resources - // when servicing your SFTP user’s transfer requests. + // when servicing your SFTP user's transfer requests. Role *string `type:"string"` // This property contains the public key portion of the Secure Shell (SSH) keys @@ -2530,6 +2562,28 @@ func (s *DescribedUser) SetUserName(v string) *DescribedUser { return s } +type EndpointDetails struct { + _ struct{} `type:"structure"` + + VpcEndpointId *string `type:"string"` +} + +// String returns the string representation +func (s EndpointDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EndpointDetails) GoString() string { + return s.String() +} + +// SetVpcEndpointId sets the VpcEndpointId field's value. +func (s *EndpointDetails) SetVpcEndpointId(v string) *EndpointDetails { + s.VpcEndpointId = &v + return s +} + // Returns information related to the type of user authentication that is in // use for a server's users. A server can only have one method of authentication. type IdentityProviderDetails struct { @@ -3008,6 +3062,8 @@ type ListedServer struct { // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` + EndpointType *string `type:"string" enum:"EndpointType"` + // The authentication method used to validate a user for the server that was // specified. listed. This can include Secure Shell (SSH), user name and password // combinations, or your own custom authentication method. Valid values include @@ -3053,6 +3109,12 @@ func (s *ListedServer) SetArn(v string) *ListedServer { return s } +// SetEndpointType sets the EndpointType field's value. +func (s *ListedServer) SetEndpointType(v string) *ListedServer { + s.EndpointType = &v + return s +} + // SetIdentityProviderType sets the IdentityProviderType field's value. func (s *ListedServer) SetIdentityProviderType(v string) *ListedServer { s.IdentityProviderType = &v @@ -3637,6 +3699,10 @@ func (s UntagResourceOutput) GoString() string { type UpdateServerInput struct { _ struct{} `type:"structure"` + EndpointDetails *EndpointDetails `type:"structure"` + + EndpointType *string `type:"string" enum:"EndpointType"` + // This response parameter is an array containing all of the information required // to call a customer's authentication API method. IdentityProviderDetails *IdentityProviderDetails `type:"structure"` @@ -3675,6 +3741,18 @@ func (s *UpdateServerInput) Validate() error { return nil } +// SetEndpointDetails sets the EndpointDetails field's value. +func (s *UpdateServerInput) SetEndpointDetails(v *EndpointDetails) *UpdateServerInput { + s.EndpointDetails = v + return s +} + +// SetEndpointType sets the EndpointType field's value. +func (s *UpdateServerInput) SetEndpointType(v string) *UpdateServerInput { + s.EndpointType = &v + return s +} + // SetIdentityProviderDetails sets the IdentityProviderDetails field's value. func (s *UpdateServerInput) SetIdentityProviderDetails(v *IdentityProviderDetails) *UpdateServerInput { s.IdentityProviderDetails = v @@ -3734,12 +3812,12 @@ type UpdateUserInput struct { // and ${Transfer:HomeBucket}. Policy *string `type:"string"` - // The IAM role that controls your user’s access to your Amazon S3 bucket. The + // The IAM role that controls your user's access to your Amazon S3 bucket. The // policies attached to this role will determine the level of access you want // to provide your users when transferring files into and out of your Amazon // S3 bucket or buckets. The IAM role should also contain a trust relationship // that allows the Secure File Transfer Protocol (SFTP) server to access your - // resources when servicing your SFTP user’s transfer requests. + // resources when servicing your SFTP user's transfer requests. Role *string `type:"string"` // A system-assigned unique identifier for an SFTP server instance that the @@ -3852,6 +3930,14 @@ func (s *UpdateUserOutput) SetUserName(v string) *UpdateUserOutput { return s } +const ( + // EndpointTypePublic is a EndpointType enum value + EndpointTypePublic = "PUBLIC" + + // EndpointTypeVpcEndpoint is a EndpointType enum value + EndpointTypeVpcEndpoint = "VPC_ENDPOINT" +) + // Returns information related to the type of user authentication that is in // use for a server's users. For SERVICE_MANAGED authentication, the Secure // Shell (SSH) public keys are stored with a user on an SFTP server instance. diff --git a/vendor/modules.txt b/vendor/modules.txt index e6d914e19186..d6d4ee40212b 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -13,7 +13,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.19.1 +# github.com/aws/aws-sdk-go v1.19.4 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn github.com/aws/aws-sdk-go/aws/awserr