diff --git a/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md index 0cf034ce6..7a4f04ce7 100644 --- a/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md @@ -1,3 +1,23 @@ +Release v1.5.13 (2016-12-01) +=== + +Service Client Updates +--- +`service/apigateway`: Updates service API and documentation +`service/appstream`: Adds new service +`service/codebuild`: Adds new service +`service/directconnect`: Updates service API and documentation +`service/ec2`: Adds new service +`service/elasticbeanstalk`: Updates service API and documentation +`service/health`: Adds new service +`service/lambda`: Updates service API and documentation +`service/opsworkscm`: Adds new service +`service/pinpoint`: Adds new service +`service/shield`: Adds new service +`service/ssm`: Updates service API and documentation +`service/states`: Adds new service +`service/xray`: Adds new service + Release v1.5.12 (2016-11-30) === 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 625bd570a..edbb0555e 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.5.12" +const SDKVersion = "1.5.13" diff --git a/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go index fc89f2c2f..e3802bc6d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go @@ -330,6 +330,160 @@ func (c *APIGateway) CreateDeployment(input *CreateDeploymentInput) (*Deployment return out, err } +const opCreateDocumentationPart = "CreateDocumentationPart" + +// CreateDocumentationPartRequest generates a "aws/request.Request" representing the +// client's request for the CreateDocumentationPart operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDocumentationPart for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDocumentationPart method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDocumentationPartRequest method. +// req, resp := client.CreateDocumentationPartRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) CreateDocumentationPartRequest(input *CreateDocumentationPartInput) (req *request.Request, output *DocumentationPart) { + op := &request.Operation{ + Name: opCreateDocumentationPart, + HTTPMethod: "POST", + HTTPPath: "/restapis/{restapi_id}/documentation/parts", + } + + if input == nil { + input = &CreateDocumentationPartInput{} + } + + req = c.newRequest(op, input, output) + output = &DocumentationPart{} + req.Data = output + return +} + +// CreateDocumentationPart API operation for Amazon API 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 Amazon API Gateway's +// API operation CreateDocumentationPart for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * ConflictException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * LimitExceededException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) CreateDocumentationPart(input *CreateDocumentationPartInput) (*DocumentationPart, error) { + req, out := c.CreateDocumentationPartRequest(input) + err := req.Send() + return out, err +} + +const opCreateDocumentationVersion = "CreateDocumentationVersion" + +// CreateDocumentationVersionRequest generates a "aws/request.Request" representing the +// client's request for the CreateDocumentationVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateDocumentationVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateDocumentationVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateDocumentationVersionRequest method. +// req, resp := client.CreateDocumentationVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) CreateDocumentationVersionRequest(input *CreateDocumentationVersionInput) (req *request.Request, output *DocumentationVersion) { + op := &request.Operation{ + Name: opCreateDocumentationVersion, + HTTPMethod: "POST", + HTTPPath: "/restapis/{restapi_id}/documentation/versions", + } + + if input == nil { + input = &CreateDocumentationVersionInput{} + } + + req = c.newRequest(op, input, output) + output = &DocumentationVersion{} + req.Data = output + return +} + +// CreateDocumentationVersion API operation for Amazon API 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 Amazon API Gateway's +// API operation CreateDocumentationVersion for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * ConflictException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * LimitExceededException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) CreateDocumentationVersion(input *CreateDocumentationVersionInput) (*DocumentationVersion, error) { + req, out := c.CreateDocumentationVersionRequest(input) + err := req.Send() + return out, err +} + const opCreateDomainName = "CreateDomainName" // CreateDomainNameRequest generates a "aws/request.Request" representing the @@ -1245,6 +1399,158 @@ func (c *APIGateway) DeleteDeployment(input *DeleteDeploymentInput) (*DeleteDepl return out, err } +const opDeleteDocumentationPart = "DeleteDocumentationPart" + +// DeleteDocumentationPartRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDocumentationPart operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDocumentationPart for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDocumentationPart method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDocumentationPartRequest method. +// req, resp := client.DeleteDocumentationPartRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) DeleteDocumentationPartRequest(input *DeleteDocumentationPartInput) (req *request.Request, output *DeleteDocumentationPartOutput) { + op := &request.Operation{ + Name: opDeleteDocumentationPart, + HTTPMethod: "DELETE", + HTTPPath: "/restapis/{restapi_id}/documentation/parts/{part_id}", + } + + if input == nil { + input = &DeleteDocumentationPartInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(restjson.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &DeleteDocumentationPartOutput{} + req.Data = output + return +} + +// DeleteDocumentationPart API operation for Amazon API 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 Amazon API Gateway's +// API operation DeleteDocumentationPart for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +// * ConflictException + +// +// * BadRequestException + +// +func (c *APIGateway) DeleteDocumentationPart(input *DeleteDocumentationPartInput) (*DeleteDocumentationPartOutput, error) { + req, out := c.DeleteDocumentationPartRequest(input) + err := req.Send() + return out, err +} + +const opDeleteDocumentationVersion = "DeleteDocumentationVersion" + +// DeleteDocumentationVersionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDocumentationVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteDocumentationVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteDocumentationVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteDocumentationVersionRequest method. +// req, resp := client.DeleteDocumentationVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) DeleteDocumentationVersionRequest(input *DeleteDocumentationVersionInput) (req *request.Request, output *DeleteDocumentationVersionOutput) { + op := &request.Operation{ + Name: opDeleteDocumentationVersion, + HTTPMethod: "DELETE", + HTTPPath: "/restapis/{restapi_id}/documentation/versions/{doc_version}", + } + + if input == nil { + input = &DeleteDocumentationVersionInput{} + } + + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(restjson.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + output = &DeleteDocumentationVersionOutput{} + req.Data = output + return +} + +// DeleteDocumentationVersion API operation for Amazon API 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 Amazon API Gateway's +// API operation DeleteDocumentationVersion for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * ConflictException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) DeleteDocumentationVersion(input *DeleteDocumentationVersionInput) (*DeleteDocumentationVersionOutput, error) { + req, out := c.DeleteDocumentationVersionRequest(input) + err := req.Send() + return out, err +} + const opDeleteDomainName = "DeleteDomainName" // DeleteDomainNameRequest generates a "aws/request.Request" representing the @@ -3210,6 +3516,284 @@ func (c *APIGateway) GetDeploymentsPages(input *GetDeploymentsInput, fn func(p * }) } +const opGetDocumentationPart = "GetDocumentationPart" + +// GetDocumentationPartRequest generates a "aws/request.Request" representing the +// client's request for the GetDocumentationPart operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDocumentationPart for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDocumentationPart method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDocumentationPartRequest method. +// req, resp := client.GetDocumentationPartRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) GetDocumentationPartRequest(input *GetDocumentationPartInput) (req *request.Request, output *DocumentationPart) { + op := &request.Operation{ + Name: opGetDocumentationPart, + HTTPMethod: "GET", + HTTPPath: "/restapis/{restapi_id}/documentation/parts/{part_id}", + } + + if input == nil { + input = &GetDocumentationPartInput{} + } + + req = c.newRequest(op, input, output) + output = &DocumentationPart{} + req.Data = output + return +} + +// GetDocumentationPart API operation for Amazon API 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 Amazon API Gateway's +// API operation GetDocumentationPart for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) GetDocumentationPart(input *GetDocumentationPartInput) (*DocumentationPart, error) { + req, out := c.GetDocumentationPartRequest(input) + err := req.Send() + return out, err +} + +const opGetDocumentationParts = "GetDocumentationParts" + +// GetDocumentationPartsRequest generates a "aws/request.Request" representing the +// client's request for the GetDocumentationParts operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDocumentationParts for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDocumentationParts method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDocumentationPartsRequest method. +// req, resp := client.GetDocumentationPartsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) GetDocumentationPartsRequest(input *GetDocumentationPartsInput) (req *request.Request, output *GetDocumentationPartsOutput) { + op := &request.Operation{ + Name: opGetDocumentationParts, + HTTPMethod: "GET", + HTTPPath: "/restapis/{restapi_id}/documentation/parts", + } + + if input == nil { + input = &GetDocumentationPartsInput{} + } + + req = c.newRequest(op, input, output) + output = &GetDocumentationPartsOutput{} + req.Data = output + return +} + +// GetDocumentationParts API operation for Amazon API 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 Amazon API Gateway's +// API operation GetDocumentationParts for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) GetDocumentationParts(input *GetDocumentationPartsInput) (*GetDocumentationPartsOutput, error) { + req, out := c.GetDocumentationPartsRequest(input) + err := req.Send() + return out, err +} + +const opGetDocumentationVersion = "GetDocumentationVersion" + +// GetDocumentationVersionRequest generates a "aws/request.Request" representing the +// client's request for the GetDocumentationVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDocumentationVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDocumentationVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDocumentationVersionRequest method. +// req, resp := client.GetDocumentationVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) GetDocumentationVersionRequest(input *GetDocumentationVersionInput) (req *request.Request, output *DocumentationVersion) { + op := &request.Operation{ + Name: opGetDocumentationVersion, + HTTPMethod: "GET", + HTTPPath: "/restapis/{restapi_id}/documentation/versions/{doc_version}", + } + + if input == nil { + input = &GetDocumentationVersionInput{} + } + + req = c.newRequest(op, input, output) + output = &DocumentationVersion{} + req.Data = output + return +} + +// GetDocumentationVersion API operation for Amazon API 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 Amazon API Gateway's +// API operation GetDocumentationVersion for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) GetDocumentationVersion(input *GetDocumentationVersionInput) (*DocumentationVersion, error) { + req, out := c.GetDocumentationVersionRequest(input) + err := req.Send() + return out, err +} + +const opGetDocumentationVersions = "GetDocumentationVersions" + +// GetDocumentationVersionsRequest generates a "aws/request.Request" representing the +// client's request for the GetDocumentationVersions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetDocumentationVersions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetDocumentationVersions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetDocumentationVersionsRequest method. +// req, resp := client.GetDocumentationVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) GetDocumentationVersionsRequest(input *GetDocumentationVersionsInput) (req *request.Request, output *GetDocumentationVersionsOutput) { + op := &request.Operation{ + Name: opGetDocumentationVersions, + HTTPMethod: "GET", + HTTPPath: "/restapis/{restapi_id}/documentation/versions", + } + + if input == nil { + input = &GetDocumentationVersionsInput{} + } + + req = c.newRequest(op, input, output) + output = &GetDocumentationVersionsOutput{} + req.Data = output + return +} + +// GetDocumentationVersions API operation for Amazon API 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 Amazon API Gateway's +// API operation GetDocumentationVersions for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) GetDocumentationVersions(input *GetDocumentationVersionsInput) (*GetDocumentationVersionsOutput, error) { + req, out := c.GetDocumentationVersionsRequest(input) + err := req.Send() + return out, err +} + const opGetDomainName = "GetDomainName" // GetDomainNameRequest generates a "aws/request.Request" representing the @@ -5085,6 +5669,80 @@ func (c *APIGateway) ImportApiKeys(input *ImportApiKeysInput) (*ImportApiKeysOut return out, err } +const opImportDocumentationParts = "ImportDocumentationParts" + +// ImportDocumentationPartsRequest generates a "aws/request.Request" representing the +// client's request for the ImportDocumentationParts operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ImportDocumentationParts for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ImportDocumentationParts method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ImportDocumentationPartsRequest method. +// req, resp := client.ImportDocumentationPartsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) ImportDocumentationPartsRequest(input *ImportDocumentationPartsInput) (req *request.Request, output *ImportDocumentationPartsOutput) { + op := &request.Operation{ + Name: opImportDocumentationParts, + HTTPMethod: "PUT", + HTTPPath: "/restapis/{restapi_id}/documentation/parts", + } + + if input == nil { + input = &ImportDocumentationPartsInput{} + } + + req = c.newRequest(op, input, output) + output = &ImportDocumentationPartsOutput{} + req.Data = output + return +} + +// ImportDocumentationParts API operation for Amazon API 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 Amazon API Gateway's +// API operation ImportDocumentationParts for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * BadRequestException + +// +// * LimitExceededException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) ImportDocumentationParts(input *ImportDocumentationPartsInput) (*ImportDocumentationPartsOutput, error) { + req, out := c.ImportDocumentationPartsRequest(input) + err := req.Send() + return out, err +} + const opImportRestApi = "ImportRestApi" // ImportRestApiRequest generates a "aws/request.Request" representing the @@ -6156,6 +6814,157 @@ func (c *APIGateway) UpdateDeployment(input *UpdateDeploymentInput) (*Deployment return out, err } +const opUpdateDocumentationPart = "UpdateDocumentationPart" + +// UpdateDocumentationPartRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDocumentationPart operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateDocumentationPart for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateDocumentationPart method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateDocumentationPartRequest method. +// req, resp := client.UpdateDocumentationPartRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) UpdateDocumentationPartRequest(input *UpdateDocumentationPartInput) (req *request.Request, output *DocumentationPart) { + op := &request.Operation{ + Name: opUpdateDocumentationPart, + HTTPMethod: "PATCH", + HTTPPath: "/restapis/{restapi_id}/documentation/parts/{part_id}", + } + + if input == nil { + input = &UpdateDocumentationPartInput{} + } + + req = c.newRequest(op, input, output) + output = &DocumentationPart{} + req.Data = output + return +} + +// UpdateDocumentationPart API operation for Amazon API 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 Amazon API Gateway's +// API operation UpdateDocumentationPart for usage and error information. +// +// Returned Error Codes: +// * BadRequestException + +// +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * LimitExceededException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) UpdateDocumentationPart(input *UpdateDocumentationPartInput) (*DocumentationPart, error) { + req, out := c.UpdateDocumentationPartRequest(input) + err := req.Send() + return out, err +} + +const opUpdateDocumentationVersion = "UpdateDocumentationVersion" + +// UpdateDocumentationVersionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDocumentationVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateDocumentationVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateDocumentationVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateDocumentationVersionRequest method. +// req, resp := client.UpdateDocumentationVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *APIGateway) UpdateDocumentationVersionRequest(input *UpdateDocumentationVersionInput) (req *request.Request, output *DocumentationVersion) { + op := &request.Operation{ + Name: opUpdateDocumentationVersion, + HTTPMethod: "PATCH", + HTTPPath: "/restapis/{restapi_id}/documentation/versions/{doc_version}", + } + + if input == nil { + input = &UpdateDocumentationVersionInput{} + } + + req = c.newRequest(op, input, output) + output = &DocumentationVersion{} + req.Data = output + return +} + +// UpdateDocumentationVersion API operation for Amazon API 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 Amazon API Gateway's +// API operation UpdateDocumentationVersion for usage and error information. +// +// Returned Error Codes: +// * UnauthorizedException + +// +// * NotFoundException + +// +// * ConflictException + +// +// * BadRequestException + +// +// * TooManyRequestsException + +// +func (c *APIGateway) UpdateDocumentationVersion(input *UpdateDocumentationVersionInput) (*DocumentationVersion, error) { + req, out := c.UpdateDocumentationVersionRequest(input) + err := req.Send() + return out, err +} + const opUpdateDomainName = "UpdateDomainName" // UpdateDomainNameRequest generates a "aws/request.Request" representing the @@ -7092,6 +7901,10 @@ type ApiKey struct { // The date when the API Key was created, in ISO 8601 format (http://www.iso.org/iso/home/standards/iso8601.htm). CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"unix"` + // An AWS Marketplace customer identifier , when integrating with the AWS SaaS + // Marketplace. + CustomerId *string `locationName:"customerId" type:"string"` + // The description of the API Key. Description *string `locationName:"description" type:"string"` @@ -7130,6 +7943,12 @@ func (s *ApiKey) SetCreatedDate(v time.Time) *ApiKey { return s } +// SetCustomerId sets the CustomerId field's value. +func (s *ApiKey) SetCustomerId(v string) *ApiKey { + s.CustomerId = &v + return s +} + // SetDescription sets the Description field's value. func (s *ApiKey) SetDescription(v string) *ApiKey { s.Description = &v @@ -7455,6 +8274,10 @@ func (s *ClientCertificate) SetPemEncodedCertificate(v string) *ClientCertificat type CreateApiKeyInput struct { _ struct{} `type:"structure"` + // An AWS Marketplace customer identifier , when integrating with the AWS SaaS + // Marketplace. + CustomerId *string `locationName:"customerId" type:"string"` + // The description of the ApiKey. Description *string `locationName:"description" type:"string"` @@ -7485,6 +8308,12 @@ func (s CreateApiKeyInput) GoString() string { return s.String() } +// SetCustomerId sets the CustomerId field's value. +func (s *CreateApiKeyInput) SetCustomerId(v string) *CreateApiKeyInput { + s.CustomerId = &v + return s +} + // SetDescription sets the Description field's value. func (s *CreateApiKeyInput) SetDescription(v string) *CreateApiKeyInput { s.Description = &v @@ -7829,6 +8658,153 @@ func (s *CreateDeploymentInput) SetVariables(v map[string]*string) *CreateDeploy return s } +// Creates a new documentation part of a given API. +type CreateDocumentationPartInput struct { + _ struct{} `type:"structure"` + + // [Required] The location of the targeted API entity of the to-be-created documentation + // part. + // + // Location is a required field + Location *DocumentationPartLocation `locationName:"location" type:"structure" required:"true"` + + // [Required] The new documentation content map of the targeted API entity. + // Enclosed key-value pairs are API-specific, but only Swagger-compliant key-value + // pairs can be exported and, hence, published. + // + // Properties is a required field + Properties *string `locationName:"properties" type:"string" required:"true"` + + // [Required] The identifier of an API of the to-be-created documentation part. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateDocumentationPartInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDocumentationPartInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDocumentationPartInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDocumentationPartInput"} + if s.Location == nil { + invalidParams.Add(request.NewErrParamRequired("Location")) + } + if s.Properties == nil { + invalidParams.Add(request.NewErrParamRequired("Properties")) + } + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + if s.Location != nil { + if err := s.Location.Validate(); err != nil { + invalidParams.AddNested("Location", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLocation sets the Location field's value. +func (s *CreateDocumentationPartInput) SetLocation(v *DocumentationPartLocation) *CreateDocumentationPartInput { + s.Location = v + return s +} + +// SetProperties sets the Properties field's value. +func (s *CreateDocumentationPartInput) SetProperties(v string) *CreateDocumentationPartInput { + s.Properties = &v + return s +} + +// SetRestApiId sets the RestApiId field's value. +func (s *CreateDocumentationPartInput) SetRestApiId(v string) *CreateDocumentationPartInput { + s.RestApiId = &v + return s +} + +// Creates a new documentation version of a given API. +type CreateDocumentationVersionInput struct { + _ struct{} `type:"structure"` + + // A description about the new documentation snapshot. + Description *string `locationName:"description" type:"string"` + + // [Required] The version identifier of the new snapshot. + // + // DocumentationVersion is a required field + DocumentationVersion *string `locationName:"documentationVersion" type:"string" required:"true"` + + // [Required] Specifies the API identifier of the to-be-created documentation + // version. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` + + // The stage name to be associated with the new documentation snapshot. + StageName *string `locationName:"stageName" type:"string"` +} + +// String returns the string representation +func (s CreateDocumentationVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDocumentationVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDocumentationVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDocumentationVersionInput"} + if s.DocumentationVersion == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentationVersion")) + } + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateDocumentationVersionInput) SetDescription(v string) *CreateDocumentationVersionInput { + s.Description = &v + return s +} + +// SetDocumentationVersion sets the DocumentationVersion field's value. +func (s *CreateDocumentationVersionInput) SetDocumentationVersion(v string) *CreateDocumentationVersionInput { + s.DocumentationVersion = &v + return s +} + +// SetRestApiId sets the RestApiId field's value. +func (s *CreateDocumentationVersionInput) SetRestApiId(v string) *CreateDocumentationVersionInput { + s.RestApiId = &v + return s +} + +// SetStageName sets the StageName field's value. +func (s *CreateDocumentationVersionInput) SetStageName(v string) *CreateDocumentationVersionInput { + s.StageName = &v + return s +} + // A request to create a new domain name. type CreateDomainNameInput struct { _ struct{} `type:"structure"` @@ -8100,6 +9076,9 @@ type CreateRestApiInput struct { // // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` + + // A version identifier for the API. + Version *string `locationName:"version" type:"string"` } // String returns the string representation @@ -8149,6 +9128,12 @@ func (s *CreateRestApiInput) SetName(v string) *CreateRestApiInput { return s } +// SetVersion sets the Version field's value. +func (s *CreateRestApiInput) SetVersion(v string) *CreateRestApiInput { + s.Version = &v + return s +} + // Requests Amazon API Gateway to create a Stage resource. type CreateStageInput struct { _ struct{} `type:"structure"` @@ -8167,6 +9152,9 @@ type CreateStageInput struct { // The description of the Stage resource. Description *string `locationName:"description" type:"string"` + // The version of the associated API documentation. + DocumentationVersion *string `locationName:"documentationVersion" type:"string"` + // The identifier of the RestApi resource for the Stage resource to create. // // RestApiId is a required field @@ -8236,6 +9224,12 @@ func (s *CreateStageInput) SetDescription(v string) *CreateStageInput { return s } +// SetDocumentationVersion sets the DocumentationVersion field's value. +func (s *CreateStageInput) SetDocumentationVersion(v string) *CreateStageInput { + s.DocumentationVersion = &v + return s +} + // SetRestApiId sets the RestApiId field's value. func (s *CreateStageInput) SetRestApiId(v string) *CreateStageInput { s.RestApiId = &v @@ -8707,6 +9701,141 @@ func (s DeleteDeploymentOutput) GoString() string { return s.String() } +// Deletes an existing documentation part of an API. +type DeleteDocumentationPartInput struct { + _ struct{} `type:"structure"` + + // [Required] The identifier of the to-be-deleted documentation part. + // + // DocumentationPartId is a required field + DocumentationPartId *string `location:"uri" locationName:"part_id" type:"string" required:"true"` + + // [Required] Specifies the identifier of an API of the to-be-deleted documentation + // part. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDocumentationPartInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDocumentationPartInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDocumentationPartInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentationPartInput"} + if s.DocumentationPartId == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentationPartId")) + } + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentationPartId sets the DocumentationPartId field's value. +func (s *DeleteDocumentationPartInput) SetDocumentationPartId(v string) *DeleteDocumentationPartInput { + s.DocumentationPartId = &v + return s +} + +// SetRestApiId sets the RestApiId field's value. +func (s *DeleteDocumentationPartInput) SetRestApiId(v string) *DeleteDocumentationPartInput { + s.RestApiId = &v + return s +} + +type DeleteDocumentationPartOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDocumentationPartOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDocumentationPartOutput) GoString() string { + return s.String() +} + +// Deletes an existing documentation version of an API. +type DeleteDocumentationVersionInput struct { + _ struct{} `type:"structure"` + + // [Required] The version identifier of a to-be-deleted documentation snapshot. + // + // DocumentationVersion is a required field + DocumentationVersion *string `location:"uri" locationName:"doc_version" type:"string" required:"true"` + + // [Required] The identifier of an API of a to-be-deleted documentation snapshot. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDocumentationVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDocumentationVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDocumentationVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentationVersionInput"} + if s.DocumentationVersion == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentationVersion")) + } + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentationVersion sets the DocumentationVersion field's value. +func (s *DeleteDocumentationVersionInput) SetDocumentationVersion(v string) *DeleteDocumentationVersionInput { + s.DocumentationVersion = &v + return s +} + +// SetRestApiId sets the RestApiId field's value. +func (s *DeleteDocumentationVersionInput) SetRestApiId(v string) *DeleteDocumentationVersionInput { + s.RestApiId = &v + return s +} + +type DeleteDocumentationVersionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDocumentationVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDocumentationVersionOutput) GoString() string { + return s.String() +} + // A request to delete the DomainName resource. type DeleteDomainNameInput struct { _ struct{} `type:"structure"` @@ -9549,6 +10678,221 @@ func (s *Deployment) SetId(v string) *Deployment { return s } +// A documentation part for a targeted API entity. +// +// A documentation part consists of a content map (properties) and a target +// (location). The target specifies an API entity to which the documentation +// content applies. The supported API entity types are API, AUTHORIZER, MODEL, +// RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, +// RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Valid location fields depend +// on the API entity type. All valid fields are not required. +// +// The content map is a JSON string of API-specific key-value pairs. Although +// an API can use any shape for the content map, only the Swagger-compliant +// documentation fields will be injected into the associated API entity definition +// in the exported Swagger definition file. +// +// Documenting an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html), +// DocumentationParts +type DocumentationPart struct { + _ struct{} `type:"structure"` + + // The DocumentationPart identifier, generated by Amazon API Gateway when the + // DocumentationPart is created. + Id *string `locationName:"id" type:"string"` + + // The location of the API entity to which the documentation applies. Valid + // fields depend on the targeted API entity type. All the valid location fields + // are not required. If not explicitly specified, a valid location field is + // treated as a wildcard and associated documentation content may be inherited + // by matching entities, unless overridden. + Location *DocumentationPartLocation `locationName:"location" type:"structure"` + + // A content map of API-specific key-value pairs describing the targeted API + // entity. The map must be encoded as a JSON string, e.g., "{ \"description\": + // \"The API does ...\" }". Only Swagger-compliant documentation-related fields + // from the properties map are exported and, hence, published as part of the + // API entity definitions, while the original documentation parts are exported + // in a Swagger extension of x-amazon-apigateway-documentation. + Properties *string `locationName:"properties" type:"string"` +} + +// String returns the string representation +func (s DocumentationPart) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentationPart) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *DocumentationPart) SetId(v string) *DocumentationPart { + s.Id = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *DocumentationPart) SetLocation(v *DocumentationPartLocation) *DocumentationPart { + s.Location = v + return s +} + +// SetProperties sets the Properties field's value. +func (s *DocumentationPart) SetProperties(v string) *DocumentationPart { + s.Properties = &v + return s +} + +// Specifies the target API entity to which the documentation applies. +type DocumentationPartLocation struct { + _ struct{} `type:"structure"` + + // The HTTP verb of a method. It is a valid field for the API entity types of + // METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, + // RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any method. + // When an applicable child entity inherits the content of an entity of the + // same type with more general specifications of the other location attributes, + // the child entity's method attribute must match that of the parent entity + // exactly. + Method *string `locationName:"method" type:"string"` + + // The name of the targeted API entity. It is a valid and required field for + // the API entity types of AUTHORIZER, MODEL, PATH_PARAMETER, QUERY_PARAMETER, + // REQUEST_HEADER, REQUEST_BODY and RESPONSE_HEADER. It is an invalid field + // for any other entity type. + Name *string `locationName:"name" type:"string"` + + // The URL path of the target. It is a valid field for the API entity types + // of RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, + // RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is / for + // the root resource. When an applicable child entity inherits the content of + // another entity of the same type with more general specifications of the other + // location attributes, the child entity's path attribute must match that of + // the parent entity as a prefix. + Path *string `locationName:"path" type:"string"` + + // The HTTP status code of a response. It is a valid field for the API entity + // types of RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value + // is * for any status code. When an applicable child entity inherits the content + // of an entity of the same type with more general specifications of the other + // location attributes, the child entity's statusCode attribute must match that + // of the parent entity exactly. + StatusCode *string `locationName:"statusCode" type:"string"` + + // The type of API entity to which the documentation content applies. It is + // a valid and required field for API entity types of API, AUTHORIZER, MODEL, + // RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, + // RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Content inheritance does not + // apply to any entity of the API, AUTHROZER, MODEL, or RESOURCE type. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"DocumentationPartType"` +} + +// String returns the string representation +func (s DocumentationPartLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentationPartLocation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DocumentationPartLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DocumentationPartLocation"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMethod sets the Method field's value. +func (s *DocumentationPartLocation) SetMethod(v string) *DocumentationPartLocation { + s.Method = &v + return s +} + +// SetName sets the Name field's value. +func (s *DocumentationPartLocation) SetName(v string) *DocumentationPartLocation { + s.Name = &v + return s +} + +// SetPath sets the Path field's value. +func (s *DocumentationPartLocation) SetPath(v string) *DocumentationPartLocation { + s.Path = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *DocumentationPartLocation) SetStatusCode(v string) *DocumentationPartLocation { + s.StatusCode = &v + return s +} + +// SetType sets the Type field's value. +func (s *DocumentationPartLocation) SetType(v string) *DocumentationPartLocation { + s.Type = &v + return s +} + +// A snapshot of the documentation of an API. +// +// Publishing API documentation involves creating a documentation version associated +// with an API stage and exporting the versioned documentation to an external +// (e.g., Swagger) file. +// +// Documenting an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html), +// DocumentationPart, DocumentationVersions +type DocumentationVersion struct { + _ struct{} `type:"structure"` + + // The date when the API documentation snapshot is created. + CreatedDate *time.Time `locationName:"createdDate" type:"timestamp" timestampFormat:"unix"` + + // The description of the API documentation snapshot. + Description *string `locationName:"description" type:"string"` + + // The version identifier of the API documentation snapshot. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation +func (s DocumentationVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentationVersion) GoString() string { + return s.String() +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *DocumentationVersion) SetCreatedDate(v time.Time) *DocumentationVersion { + s.CreatedDate = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DocumentationVersion) SetDescription(v string) *DocumentationVersion { + s.Description = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *DocumentationVersion) SetVersion(v string) *DocumentationVersion { + s.Version = &v + return s +} + // Represents a domain name that is contained in a simpler, more intuitive URL // that can be called. // @@ -9831,6 +11175,8 @@ func (s *GetApiKeyInput) SetIncludeValue(v bool) *GetApiKeyInput { type GetApiKeysInput struct { _ struct{} `type:"structure"` + // The identifier of a customer in AWS Marketplace or an external system, such + // as a developer portal. CustomerId *string `location:"querystring" locationName:"customerId" type:"string"` // A boolean flag to specify whether (true) or not (false) the result contains @@ -10495,6 +11841,334 @@ func (s *GetDeploymentsOutput) SetPosition(v string) *GetDeploymentsOutput { return s } +// Gets a specified documentation part of a given API. +type GetDocumentationPartInput struct { + _ struct{} `type:"structure"` + + // [Required] The identifier of the to-be-retrieved documentation part. + // + // DocumentationPartId is a required field + DocumentationPartId *string `location:"uri" locationName:"part_id" type:"string" required:"true"` + + // [Required] The identifier of an API of the to-be-retrieved documentation + // part. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDocumentationPartInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDocumentationPartInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDocumentationPartInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDocumentationPartInput"} + if s.DocumentationPartId == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentationPartId")) + } + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentationPartId sets the DocumentationPartId field's value. +func (s *GetDocumentationPartInput) SetDocumentationPartId(v string) *GetDocumentationPartInput { + s.DocumentationPartId = &v + return s +} + +// SetRestApiId sets the RestApiId field's value. +func (s *GetDocumentationPartInput) SetRestApiId(v string) *GetDocumentationPartInput { + s.RestApiId = &v + return s +} + +// Gets the documentation parts of an API. The result may be filtered by the +// type, name, or path of API entities (targets). +type GetDocumentationPartsInput struct { + _ struct{} `type:"structure"` + + // The size of the paged results. + Limit *int64 `location:"querystring" locationName:"limit" type:"integer"` + + // The name of API entities of the to-be-retrieved documentation parts. + NameQuery *string `location:"querystring" locationName:"name" type:"string"` + + // The path of API entities of the to-be-retrieved documentation parts. + Path *string `location:"querystring" locationName:"path" type:"string"` + + // The position of the to-be-retrieved documentation part in the DocumentationParts + // collection. + Position *string `location:"querystring" locationName:"position" type:"string"` + + // [Required] The identifier of the API of the to-be-retrieved documentation + // parts. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` + + // The type of API entities of the to-be-retrieved documentation parts. + Type *string `location:"querystring" locationName:"type" type:"string" enum:"DocumentationPartType"` +} + +// String returns the string representation +func (s GetDocumentationPartsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDocumentationPartsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDocumentationPartsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDocumentationPartsInput"} + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *GetDocumentationPartsInput) SetLimit(v int64) *GetDocumentationPartsInput { + s.Limit = &v + return s +} + +// SetNameQuery sets the NameQuery field's value. +func (s *GetDocumentationPartsInput) SetNameQuery(v string) *GetDocumentationPartsInput { + s.NameQuery = &v + return s +} + +// SetPath sets the Path field's value. +func (s *GetDocumentationPartsInput) SetPath(v string) *GetDocumentationPartsInput { + s.Path = &v + return s +} + +// SetPosition sets the Position field's value. +func (s *GetDocumentationPartsInput) SetPosition(v string) *GetDocumentationPartsInput { + s.Position = &v + return s +} + +// SetRestApiId sets the RestApiId field's value. +func (s *GetDocumentationPartsInput) SetRestApiId(v string) *GetDocumentationPartsInput { + s.RestApiId = &v + return s +} + +// SetType sets the Type field's value. +func (s *GetDocumentationPartsInput) SetType(v string) *GetDocumentationPartsInput { + s.Type = &v + return s +} + +// The collection of documentation parts of an API. +// +// Documenting an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html), DocumentationPart +type GetDocumentationPartsOutput struct { + _ struct{} `type:"structure"` + + // The current page of DocumentationPart resources in the DocumentationParts + // collection. + Items []*DocumentationPart `locationName:"item" type:"list"` + + Position *string `locationName:"position" type:"string"` +} + +// String returns the string representation +func (s GetDocumentationPartsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDocumentationPartsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetDocumentationPartsOutput) SetItems(v []*DocumentationPart) *GetDocumentationPartsOutput { + s.Items = v + return s +} + +// SetPosition sets the Position field's value. +func (s *GetDocumentationPartsOutput) SetPosition(v string) *GetDocumentationPartsOutput { + s.Position = &v + return s +} + +// Gets a documentation snapshot of an API. +type GetDocumentationVersionInput struct { + _ struct{} `type:"structure"` + + // [Required] The version identifier of the to-be-retrieved documentation snapshot. + // + // DocumentationVersion is a required field + DocumentationVersion *string `location:"uri" locationName:"doc_version" type:"string" required:"true"` + + // [Required] The identifier of the API of the to-be-retrieved documentation + // snapshot. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDocumentationVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDocumentationVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDocumentationVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDocumentationVersionInput"} + if s.DocumentationVersion == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentationVersion")) + } + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentationVersion sets the DocumentationVersion field's value. +func (s *GetDocumentationVersionInput) SetDocumentationVersion(v string) *GetDocumentationVersionInput { + s.DocumentationVersion = &v + return s +} + +// SetRestApiId sets the RestApiId field's value. +func (s *GetDocumentationVersionInput) SetRestApiId(v string) *GetDocumentationVersionInput { + s.RestApiId = &v + return s +} + +// Gets the documentation versions of an API. +type GetDocumentationVersionsInput struct { + _ struct{} `type:"structure"` + + // The page size of the returned documentation versions. + Limit *int64 `location:"querystring" locationName:"limit" type:"integer"` + + // The position of the returned DocumentationVersion in the DocumentationVersions + // collection. + Position *string `location:"querystring" locationName:"position" type:"string"` + + // [Required] The identifier of an API of the to-be-retrieved documentation + // versions. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDocumentationVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDocumentationVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDocumentationVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDocumentationVersionsInput"} + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *GetDocumentationVersionsInput) SetLimit(v int64) *GetDocumentationVersionsInput { + s.Limit = &v + return s +} + +// SetPosition sets the Position field's value. +func (s *GetDocumentationVersionsInput) SetPosition(v string) *GetDocumentationVersionsInput { + s.Position = &v + return s +} + +// SetRestApiId sets the RestApiId field's value. +func (s *GetDocumentationVersionsInput) SetRestApiId(v string) *GetDocumentationVersionsInput { + s.RestApiId = &v + return s +} + +// The collection of documentation snapshots of an API. +// +// Use the DocumentationVersions to manage documentation snapshots associated +// with various API stages. +// +// Documenting an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html), +// DocumentationPart, DocumentationVersion +type GetDocumentationVersionsOutput struct { + _ struct{} `type:"structure"` + + // The current page of DocumentationVersion items from the DocumentationVersions + // collection of an API. + Items []*DocumentationVersion `locationName:"item" type:"list"` + + Position *string `locationName:"position" type:"string"` +} + +// String returns the string representation +func (s GetDocumentationVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDocumentationVersionsOutput) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *GetDocumentationVersionsOutput) SetItems(v []*DocumentationVersion) *GetDocumentationVersionsOutput { + s.Items = v + return s +} + +// SetPosition sets the Position field's value. +func (s *GetDocumentationVersionsOutput) SetPosition(v string) *GetDocumentationVersionsOutput { + s.Position = &v + return s +} + // Request to get the name of a DomainName resource. type GetDomainNameInput struct { _ struct{} `type:"structure"` @@ -12214,7 +13888,7 @@ func (s *ImportApiKeysInput) SetFormat(v string) *ImportApiKeysInput { return s } -// The identifier of an API key used to reference an API key in a usage plan. +// The identifier of an ApiKey used in a UsagePlan. type ImportApiKeysOutput struct { _ struct{} `type:"structure"` @@ -12247,6 +13921,121 @@ func (s *ImportApiKeysOutput) SetWarnings(v []*string) *ImportApiKeysOutput { return s } +// Import documentation parts from an external (e.g., Swagger) definition file. +type ImportDocumentationPartsInput struct { + _ struct{} `type:"structure" payload:"Body"` + + // [Required] Raw byte array representing the to-be-imported documentation parts. + // To import from a Swagger file, this is a JSON object. + // + // Body is a required field + Body []byte `locationName:"body" type:"blob" required:"true"` + + // A query parameter to specify whether to rollback the documentation importation + // (true) or not (false) when a warning is encountered. The default value is + // false. + FailOnWarnings *bool `location:"querystring" locationName:"failonwarnings" type:"boolean"` + + // A query parameter to indicate whether to overwrite (OVERWRITE) any existing + // DocumentationParts definition or to merge (MERGE) the new definition into + // the existing one. The default value is MERGE. + Mode *string `location:"querystring" locationName:"mode" type:"string" enum:"PutMode"` + + // [Required] The identifier of an API of the to-be-imported documentation parts. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` +} + +// String returns the string representation +func (s ImportDocumentationPartsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportDocumentationPartsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportDocumentationPartsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportDocumentationPartsInput"} + if s.Body == nil { + invalidParams.Add(request.NewErrParamRequired("Body")) + } + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBody sets the Body field's value. +func (s *ImportDocumentationPartsInput) SetBody(v []byte) *ImportDocumentationPartsInput { + s.Body = v + return s +} + +// SetFailOnWarnings sets the FailOnWarnings field's value. +func (s *ImportDocumentationPartsInput) SetFailOnWarnings(v bool) *ImportDocumentationPartsInput { + s.FailOnWarnings = &v + return s +} + +// SetMode sets the Mode field's value. +func (s *ImportDocumentationPartsInput) SetMode(v string) *ImportDocumentationPartsInput { + s.Mode = &v + return s +} + +// SetRestApiId sets the RestApiId field's value. +func (s *ImportDocumentationPartsInput) SetRestApiId(v string) *ImportDocumentationPartsInput { + s.RestApiId = &v + return s +} + +// A collection of the imported DocumentationPart identifiers. +// +// This is used to return the result when documentation parts in an external +// (e.g., Swagger) file are imported into Amazon API Gateway +// Documenting an API (http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api.html), +// documentationpart:import (http://docs.aws.amazon.com/apigateway/api-reference/link-relation/documentationpart-import/), +// DocumentationPart +type ImportDocumentationPartsOutput struct { + _ struct{} `type:"structure"` + + // A list of the returned documentation part identifiers. + Ids []*string `locationName:"ids" type:"list"` + + // A list of warning messages reported during import of documentation parts. + Warnings []*string `locationName:"warnings" type:"list"` +} + +// String returns the string representation +func (s ImportDocumentationPartsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportDocumentationPartsOutput) GoString() string { + return s.String() +} + +// SetIds sets the Ids field's value. +func (s *ImportDocumentationPartsOutput) SetIds(v []*string) *ImportDocumentationPartsOutput { + s.Ids = v + return s +} + +// SetWarnings sets the Warnings field's value. +func (s *ImportDocumentationPartsOutput) SetWarnings(v []*string) *ImportDocumentationPartsOutput { + s.Warnings = v + return s +} + // A POST request to import an API to Amazon API Gateway using an input of an // API definition file. type ImportRestApiInput struct { @@ -14049,6 +15838,9 @@ type RestApi struct { // The API's name. Name *string `locationName:"name" type:"string"` + // A version identifier for the API. + Version *string `locationName:"version" type:"string"` + // The warning messages reported when failonwarnings is turned on during API // import. Warnings []*string `locationName:"warnings" type:"list"` @@ -14094,6 +15886,12 @@ func (s *RestApi) SetName(v string) *RestApi { return s } +// SetVersion sets the Version field's value. +func (s *RestApi) SetVersion(v string) *RestApi { + s.Version = &v + return s +} + // SetWarnings sets the Warnings field's value. func (s *RestApi) SetWarnings(v []*string) *RestApi { s.Warnings = v @@ -14128,6 +15926,9 @@ type Stage struct { // The stage's description. Description *string `locationName:"description" type:"string"` + // The version of the associated API documentation. + DocumentationVersion *string `locationName:"documentationVersion" type:"string"` + // The date and time that information about the stage was last updated, in ISO // 8601 format (http://www.iso.org/iso/home/standards/iso8601.htm). LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp" timestampFormat:"unix"` @@ -14200,6 +16001,12 @@ func (s *Stage) SetDescription(v string) *Stage { return s } +// SetDocumentationVersion sets the DocumentationVersion field's value. +func (s *Stage) SetDocumentationVersion(v string) *Stage { + s.DocumentationVersion = &v + return s +} + // SetLastUpdatedDate sets the LastUpdatedDate field's value. func (s *Stage) SetLastUpdatedDate(v time.Time) *Stage { s.LastUpdatedDate = &v @@ -14967,6 +16774,132 @@ func (s *UpdateDeploymentInput) SetRestApiId(v string) *UpdateDeploymentInput { return s } +// Updates an existing documentation part of a given API. +type UpdateDocumentationPartInput struct { + _ struct{} `type:"structure"` + + // [Required] The identifier of the to-be-updated documentation part. + // + // DocumentationPartId is a required field + DocumentationPartId *string `location:"uri" locationName:"part_id" type:"string" required:"true"` + + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. + PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` + + // [Required] The identifier of an API of the to-be-updated documentation part. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateDocumentationPartInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDocumentationPartInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDocumentationPartInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentationPartInput"} + if s.DocumentationPartId == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentationPartId")) + } + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentationPartId sets the DocumentationPartId field's value. +func (s *UpdateDocumentationPartInput) SetDocumentationPartId(v string) *UpdateDocumentationPartInput { + s.DocumentationPartId = &v + return s +} + +// SetPatchOperations sets the PatchOperations field's value. +func (s *UpdateDocumentationPartInput) SetPatchOperations(v []*PatchOperation) *UpdateDocumentationPartInput { + s.PatchOperations = v + return s +} + +// SetRestApiId sets the RestApiId field's value. +func (s *UpdateDocumentationPartInput) SetRestApiId(v string) *UpdateDocumentationPartInput { + s.RestApiId = &v + return s +} + +// Updates an existing documentation version of an API. +type UpdateDocumentationVersionInput struct { + _ struct{} `type:"structure"` + + // [Required] The version identifier of the to-be-updated documentation version. + // + // DocumentationVersion is a required field + DocumentationVersion *string `location:"uri" locationName:"doc_version" type:"string" required:"true"` + + // A list of update operations to be applied to the specified resource and in + // the order specified in this list. + PatchOperations []*PatchOperation `locationName:"patchOperations" type:"list"` + + // [Required] The identifier of an API of the to-be-updated documentation version. + // + // RestApiId is a required field + RestApiId *string `location:"uri" locationName:"restapi_id" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateDocumentationVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDocumentationVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDocumentationVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentationVersionInput"} + if s.DocumentationVersion == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentationVersion")) + } + if s.RestApiId == nil { + invalidParams.Add(request.NewErrParamRequired("RestApiId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentationVersion sets the DocumentationVersion field's value. +func (s *UpdateDocumentationVersionInput) SetDocumentationVersion(v string) *UpdateDocumentationVersionInput { + s.DocumentationVersion = &v + return s +} + +// SetPatchOperations sets the PatchOperations field's value. +func (s *UpdateDocumentationVersionInput) SetPatchOperations(v []*PatchOperation) *UpdateDocumentationVersionInput { + s.PatchOperations = v + return s +} + +// SetRestApiId sets the RestApiId field's value. +func (s *UpdateDocumentationVersionInput) SetRestApiId(v string) *UpdateDocumentationVersionInput { + s.RestApiId = &v + return s +} + // A request to change information about the DomainName resource. type UpdateDomainNameInput struct { _ struct{} `type:"structure"` @@ -15793,6 +17726,10 @@ type UsagePlan struct { // The name of a usage plan. Name *string `locationName:"name" type:"string"` + // The AWS Markeplace product identifier to associate with the usage plan as + // a SaaS product on AWS Marketplace. + ProductCode *string `locationName:"productCode" type:"string"` + // The maximum number of permitted requests per a given unit time interval. Quota *QuotaSettings `locationName:"quota" type:"structure"` @@ -15834,6 +17771,12 @@ func (s *UsagePlan) SetName(v string) *UsagePlan { return s } +// SetProductCode sets the ProductCode field's value. +func (s *UsagePlan) SetProductCode(v string) *UsagePlan { + s.ProductCode = &v + return s +} + // SetQuota sets the Quota field's value. func (s *UsagePlan) SetQuota(v *QuotaSettings) *UsagePlan { s.Quota = v @@ -15970,6 +17913,44 @@ const ( ContentHandlingStrategyConvertToText = "CONVERT_TO_TEXT" ) +const ( + // DocumentationPartTypeApi is a DocumentationPartType enum value + DocumentationPartTypeApi = "API" + + // DocumentationPartTypeAuthorizer is a DocumentationPartType enum value + DocumentationPartTypeAuthorizer = "AUTHORIZER" + + // DocumentationPartTypeModel is a DocumentationPartType enum value + DocumentationPartTypeModel = "MODEL" + + // DocumentationPartTypeResource is a DocumentationPartType enum value + DocumentationPartTypeResource = "RESOURCE" + + // DocumentationPartTypeMethod is a DocumentationPartType enum value + DocumentationPartTypeMethod = "METHOD" + + // DocumentationPartTypePathParameter is a DocumentationPartType enum value + DocumentationPartTypePathParameter = "PATH_PARAMETER" + + // DocumentationPartTypeQueryParameter is a DocumentationPartType enum value + DocumentationPartTypeQueryParameter = "QUERY_PARAMETER" + + // DocumentationPartTypeRequestHeader is a DocumentationPartType enum value + DocumentationPartTypeRequestHeader = "REQUEST_HEADER" + + // DocumentationPartTypeRequestBody is a DocumentationPartType enum value + DocumentationPartTypeRequestBody = "REQUEST_BODY" + + // DocumentationPartTypeResponse is a DocumentationPartType enum value + DocumentationPartTypeResponse = "RESPONSE" + + // DocumentationPartTypeResponseHeader is a DocumentationPartType enum value + DocumentationPartTypeResponseHeader = "RESPONSE_HEADER" + + // DocumentationPartTypeResponseBody is a DocumentationPartType enum value + DocumentationPartTypeResponseBody = "RESPONSE_BODY" +) + // The integration type. The valid value is HTTP for integrating with an HTTP // back end, AWS for any AWS service endpoints, MOCK for testing without actually // invoking the back end, HTTP_PROXY for integrating with the HTTP proxy integration, 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 ac3653d2e..6d38d18eb 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 @@ -58,8 +58,8 @@ func (c *EC2) AcceptReservedInstancesExchangeQuoteRequest(input *AcceptReservedI // AcceptReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud. // -// Purchases Convertible Reserved Instance offerings described in the GetReservedInstancesExchangeQuote -// call. +// Accepts the Convertible Reserved Instance exchange quote described in the +// GetReservedInstancesExchangeQuote call. // // 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 @@ -259,6 +259,72 @@ func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, er return out, err } +const opAssignIpv6Addresses = "AssignIpv6Addresses" + +// AssignIpv6AddressesRequest generates a "aws/request.Request" representing the +// client's request for the AssignIpv6Addresses operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssignIpv6Addresses for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssignIpv6Addresses method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssignIpv6AddressesRequest method. +// req, resp := client.AssignIpv6AddressesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *request.Request, output *AssignIpv6AddressesOutput) { + op := &request.Operation{ + Name: opAssignIpv6Addresses, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssignIpv6AddressesInput{} + } + + req = c.newRequest(op, input, output) + output = &AssignIpv6AddressesOutput{} + req.Data = output + return +} + +// AssignIpv6Addresses API operation for Amazon Elastic Compute Cloud. +// +// Assigns one or more IPv6 addresses to the specified network interface. You +// can specify one or more specific IPv6 addresses, or you can specify the number +// of IPv6 addresses to be automatically assigned from within the subnet's IPv6 +// CIDR block range. You can assign as many IPv6 addresses to a network interface +// as you can assign private IPv4 addresses, and the limit varies per instance +// type. For information, see IP Addresses Per Network Interface Per Instance +// Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) +// in the Amazon Elastic Compute Cloud User 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 Elastic Compute Cloud's +// API operation AssignIpv6Addresses for usage and error information. +func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) { + req, out := c.AssignIpv6AddressesRequest(input) + err := req.Send() + return out, err +} + const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses" // AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the @@ -545,6 +611,127 @@ func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRo return out, err } +const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock" + +// AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the +// client's request for the AssociateSubnetCidrBlock operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssociateSubnetCidrBlock for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssociateSubnetCidrBlock method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssociateSubnetCidrBlockRequest method. +// req, resp := client.AssociateSubnetCidrBlockRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) { + op := &request.Operation{ + Name: opAssociateSubnetCidrBlock, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateSubnetCidrBlockInput{} + } + + req = c.newRequest(op, input, output) + output = &AssociateSubnetCidrBlockOutput{} + req.Data = output + return +} + +// AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud. +// +// Associates a CIDR block with your subnet. You can only associate a single +// IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length +// of /64. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AssociateSubnetCidrBlock for usage and error information. +func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) { + req, out := c.AssociateSubnetCidrBlockRequest(input) + err := req.Send() + return out, err +} + +const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock" + +// AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the +// client's request for the AssociateVpcCidrBlock operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssociateVpcCidrBlock for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssociateVpcCidrBlock method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssociateVpcCidrBlockRequest method. +// req, resp := client.AssociateVpcCidrBlockRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) { + op := &request.Operation{ + Name: opAssociateVpcCidrBlock, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateVpcCidrBlockInput{} + } + + req = c.newRequest(op, input, output) + output = &AssociateVpcCidrBlockOutput{} + req.Data = output + return +} + +// AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud. +// +// Associates a CIDR block with your VPC. You can only associate a single Amazon-provided +// IPv6 CIDR block with your VPC. The IPv6 CIDR block size is fixed at /56. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation AssociateVpcCidrBlock for usage and error information. +func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) { + req, out := c.AssociateVpcCidrBlockRequest(input) + err := req.Send() + return out, err +} + const opAttachClassicLinkVpc = "AttachClassicLinkVpc" // AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the @@ -935,14 +1122,12 @@ func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupE // // [EC2-VPC only] Adds one or more egress rules to a security group for use // with a VPC. Specifically, this action permits instances to send traffic to -// one or more destination CIDR IP address ranges, or to one or more destination -// security groups for the same VPC. This action doesn't apply to security groups -// for use in EC2-Classic. For more information, see Security Groups for Your -// VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) -// in the Amazon Virtual Private Cloud User Guide. -// -// You can have up to 50 rules per security group (covering both ingress and -// egress rules). +// one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more +// destination security groups for the same VPC. This action doesn't apply to +// security groups for use in EC2-Classic. For more information, see Security +// Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) +// in the Amazon Virtual Private Cloud User Guide. For more information about +// security group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html). // // Each rule consists of the protocol (for example, TCP), plus either a CIDR // range or a source group. For the TCP and UDP protocols, you must also specify @@ -1014,23 +1199,21 @@ func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroup // // Adds one or more ingress rules to a security group. // -// EC2-Classic: You can have up to 100 rules per group. -// -// EC2-VPC: You can have up to 50 rules per group (covering both ingress and -// egress rules). -// // Rule changes are propagated to instances within the security group as quickly // as possible. However, a small delay might occur. // -// [EC2-Classic] This action gives one or more CIDR IP address ranges permission +// [EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission // to access a security group in your account, or gives one or more security // groups (called the source groups) permission to access a security group for // your account. A source group can be for your own AWS account, or another. +// You can have up to 100 rules per group. // -// [EC2-VPC] This action gives one or more CIDR IP address ranges permission -// to access a security group in your VPC, or gives one or more other security -// groups (called the source groups) permission to access a security group for -// your VPC. The security groups must all be for the same VPC. +// [EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges +// permission to access a security group in your VPC, or gives one or more other +// security groups (called the source groups) permission to access a security +// group for your VPC. The security groups must all be for the same VPC or a +// peer VPC in a VPC peering connection. For more information about VPC security +// group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.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 @@ -1942,6 +2125,68 @@ func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptio return out, err } +const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway" + +// CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the +// client's request for the CreateEgressOnlyInternetGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateEgressOnlyInternetGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateEgressOnlyInternetGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method. +// req, resp := client.CreateEgressOnlyInternetGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) { + op := &request.Operation{ + Name: opCreateEgressOnlyInternetGateway, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateEgressOnlyInternetGatewayInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateEgressOnlyInternetGatewayOutput{} + req.Data = output + return +} + +// CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud. +// +// [IPv6 only] Creates an egress-only Internet gateway for your VPC. An egress-only +// Internet gateway is used to enable outbound communication over IPv6 from +// instances in your VPC to the Internet, and prevents hosts outside of your +// VPC from initiating an IPv6 connection with your instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateEgressOnlyInternetGateway for usage and error information. +func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) { + req, out := c.CreateEgressOnlyInternetGatewayRequest(input) + err := req.Send() + return out, err +} + const opCreateFlowLogs = "CreateFlowLogs" // CreateFlowLogsRequest generates a "aws/request.Request" representing the @@ -2528,7 +2773,7 @@ func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) // // For more information about network interfaces, see Elastic Network Interfaces // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the -// Amazon Elastic Compute Cloud User Guide. +// Amazon Virtual Private Cloud User 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 @@ -2734,12 +2979,12 @@ func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, // Creates a route in a route table within a VPC. // // You must specify one of the following targets: Internet gateway or virtual -// private gateway, NAT instance, NAT gateway, VPC peering connection, or network -// interface. +// private gateway, NAT instance, NAT gateway, VPC peering connection, network +// interface, or egress-only Internet gateway. // // When determining how to route traffic, we use the route with the most specific -// match. For example, let's say the traffic is destined for 192.0.2.3, and -// the route table includes the following two routes: +// match. For example, traffic is destined for the IPv4 address 192.0.2.3, and +// the route table includes the following two IPv4 routes: // // * 192.0.2.0/24 (goes to some target A) // @@ -3109,12 +3354,15 @@ func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Reques // // When you create each subnet, you provide the VPC ID and the CIDR block you // want for the subnet. After you create a subnet, you can't change its CIDR -// block. The subnet's CIDR block can be the same as the VPC's CIDR block (assuming -// you want only a single subnet in the VPC), or a subset of the VPC's CIDR -// block. If you create more than one subnet in a VPC, the subnets' CIDR blocks -// must not overlap. The smallest subnet (and VPC) you can create uses a /28 -// netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP -// addresses). +// block. The subnet's IPv4 CIDR block can be the same as the VPC's IPv4 CIDR +// block (assuming you want only a single subnet in the VPC), or a subset of +// the VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the +// subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC) +// you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses +// a /16 netmask (65,536 IPv4 addresses). +// +// If you've associated an IPv6 CIDR block with your VPC, you can create a subnet +// with an IPv6 CIDR block that uses a /64 prefix length. // // AWS reserves both the first four and the last IP address in each subnet's // CIDR block. They're not available for use. @@ -3331,13 +3579,16 @@ func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, out // CreateVpc API operation for Amazon Elastic Compute Cloud. // -// Creates a VPC with the specified CIDR block. -// -// The smallest VPC you can create uses a /28 netmask (16 IP addresses), and -// the largest uses a /16 netmask (65,536 IP addresses). To help you decide -// how big to make your VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) +// Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can +// create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 +// netmask (65,536 IPv4 addresses). To help you decide how big to make your +// VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) // in the Amazon Virtual Private Cloud User Guide. // +// You can optionally request an Amazon-provided IPv6 CIDR block for the VPC. +// The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's +// pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC. +// // By default, each instance you launch in the VPC has the default DHCP options, // which includes only a default DNS server that we provide (AmazonProvidedDNS). // For more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html) @@ -3831,6 +4082,65 @@ func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptio return out, err } +const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway" + +// DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteEgressOnlyInternetGateway for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteEgressOnlyInternetGateway method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method. +// req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) { + op := &request.Operation{ + Name: opDeleteEgressOnlyInternetGateway, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteEgressOnlyInternetGatewayInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteEgressOnlyInternetGatewayOutput{} + req.Data = output + return +} + +// DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud. +// +// Deletes an egress-only Internet 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 Amazon Elastic Compute Cloud's +// API operation DeleteEgressOnlyInternetGateway for usage and error information. +func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) { + req, out := c.DeleteEgressOnlyInternetGatewayRequest(input) + err := req.Send() + return out, err +} + const opDeleteFlowLogs = "DeleteFlowLogs" // DeleteFlowLogsRequest generates a "aws/request.Request" representing the @@ -5812,6 +6122,65 @@ func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhc return out, err } +const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways" + +// DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEgressOnlyInternetGateways for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEgressOnlyInternetGateways method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method. +// req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) { + op := &request.Operation{ + Name: opDescribeEgressOnlyInternetGateways, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEgressOnlyInternetGatewaysInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeEgressOnlyInternetGatewaysOutput{} + req.Data = output + return +} + +// DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud. +// +// Describes one or more of your egress-only Internet gateways. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeEgressOnlyInternetGateways for usage and error information. +func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) { + req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input) + err := req.Send() + return out, err +} + const opDescribeExportTasks = "DescribeExportTasks" // DescribeExportTasksRequest generates a "aws/request.Request" representing the @@ -8651,9 +9020,8 @@ func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInp // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud. // -// Describes the Spot price history. The prices returned are listed in chronological -// order, from the oldest to the most recent, for up to the past 90 days. For -// more information, see Spot Instance Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) +// Describes the Spot price history. For more information, see Spot Instance +// Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) // in the Amazon Elastic Compute Cloud User Guide. // // When you specify a start and end time, this operation returns the prices @@ -10394,6 +10762,128 @@ func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*Disas return out, err } +const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock" + +// DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateSubnetCidrBlock operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisassociateSubnetCidrBlock for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisassociateSubnetCidrBlock method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisassociateSubnetCidrBlockRequest method. +// req, resp := client.DisassociateSubnetCidrBlockRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) { + op := &request.Operation{ + Name: opDisassociateSubnetCidrBlock, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateSubnetCidrBlockInput{} + } + + req = c.newRequest(op, input, output) + output = &DisassociateSubnetCidrBlockOutput{} + req.Data = output + return +} + +// DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud. +// +// Disassociates a CIDR block from a subnet. Currently, you can disassociate +// an IPv6 CIDR block only. You must detach or delete all gateways and resources +// that are associated with the CIDR block before you can disassociate it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisassociateSubnetCidrBlock for usage and error information. +func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) { + req, out := c.DisassociateSubnetCidrBlockRequest(input) + err := req.Send() + return out, err +} + +const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock" + +// DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateVpcCidrBlock operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DisassociateVpcCidrBlock for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DisassociateVpcCidrBlock method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DisassociateVpcCidrBlockRequest method. +// req, resp := client.DisassociateVpcCidrBlockRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) { + op := &request.Operation{ + Name: opDisassociateVpcCidrBlock, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateVpcCidrBlockInput{} + } + + req = c.newRequest(op, input, output) + output = &DisassociateVpcCidrBlockOutput{} + req.Data = output + return +} + +// DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud. +// +// Disassociates a CIDR block from a VPC. Currently, you can disassociate an +// IPv6 CIDR block only. You must detach or delete all gateways and resources +// that are associated with the CIDR block before you can disassociate it. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisassociateVpcCidrBlock for usage and error information. +func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) { + req, out := c.DisassociateVpcCidrBlockRequest(input) + err := req.Send() + return out, err +} + const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation" // EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the @@ -10967,8 +11457,8 @@ func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstanc // GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud. // // Returns details about the values and term of your specified Convertible Reserved -// Instances. When an offering ID is specified it returns information about -// whether the exchange is valid and can be performed. +// Instances. When a target configuration is specified, it returns information +// about whether the exchange is valid and can be performed. // // 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 @@ -12050,7 +12540,7 @@ func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (r // ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud. // -// Modifies a subnet attribute. +// Modifies a subnet attribute. You can only modify one attribute at a time. // // 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 @@ -12379,10 +12869,13 @@ func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *reques // MonitorInstances API operation for Amazon Elastic Compute Cloud. // -// Enables monitoring for a running instance. For more information about monitoring -// instances, see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) +// Enables detailed monitoring for a running instance. Otherwise, basic monitoring +// is enabled. For more information, see Monitoring Your Instances and Volumes +// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) // in the Amazon Elastic Compute Cloud User Guide. // +// To disable detailed monitoring, see . +// // 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. @@ -13202,7 +13695,8 @@ func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Reques // // Replaces an existing route within a route table in a VPC. You must provide // only one of the following: Internet gateway or virtual private gateway, NAT -// instance, NAT gateway, VPC peering connection, or network interface. +// instance, NAT gateway, VPC peering connection, network interface, or egress-only +// Internet gateway. // // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) // in the Amazon Virtual Private Cloud User Guide. @@ -13865,10 +14359,10 @@ func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressI // The values that you specify in the revoke request (for example, ports) must // match the existing rule's values for the rule to be revoked. // -// Each rule consists of the protocol and the CIDR range or source security -// group. For the TCP and UDP protocols, you must also specify the destination -// port or range of ports. For the ICMP protocol, you must also specify the -// ICMP type and code. +// Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source +// security group. For the TCP and UDP protocols, you must also specify the +// destination port or range of ports. For the ICMP protocol, you must also +// specify the ICMP type and code. // // Rule changes are propagated to instances within the security group as quickly // as possible. However, a small delay might occur. @@ -14004,28 +14498,41 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques // Launches the specified number of instances using an AMI for which you have // permissions. // -// When you launch an instance, it enters the pending state. After the instance -// is ready for you, it enters the running state. To check the state of your -// instance, call DescribeInstances. +// You can specify a number of options, or leave the default options. The following +// rules apply: +// +// * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet +// from your default VPC for you. If you don't have a default VPC, you must +// specify a subnet ID in the request. +// +// * [EC2-Classic] If don't specify an Availability Zone, we choose one for +// you. +// +// * Some instance types must be launched into a VPC. If you do not have +// a default VPC, or if you do not specify a subnet ID, the request fails. +// For more information, see Instance Types Available Only in a VPC (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types). +// +// * [EC2-VPC] All instances have a network interface with a primary private +// IPv4 address. If you don't specify this address, we choose one from the +// IPv4 range of your subnet. +// +// * Not all instance types support IPv6 addresses. For more information, +// see Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/). +// +// * If you don't specify a security group ID, we use the default security +// group. For more information, see Security Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html). +// +// * If any of the AMIs have a product code attached for which the user has +// not subscribed, the request fails. // // To ensure faster instance launches, break up large requests into smaller -// batches. For example, create five separate launch requests for 100 instances -// each instead of one launch request for 500 instances. +// batches. For example, create 5 separate launch requests for 100 instances +// each instead of 1 launch request for 500 instances. // -// To tag your instance, ensure that it is running as CreateTags requires a -// resource ID. For more information about tagging, see Tagging Your Amazon -// EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html). -// -// If you don't specify a security group when launching an instance, Amazon -// EC2 uses the default security group. For more information, see Security Groups -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) -// in the Amazon Elastic Compute Cloud User Guide. -// -// [EC2-VPC only accounts] If you don't specify a subnet in the request, we -// choose a default subnet from your default VPC for you. -// -// [EC2-Classic accounts] If you're launching into EC2-Classic and you don't -// specify an Availability Zone, we choose one for you. +// An instance is ready for you to use when it's in the running state. You can +// check the state of your instance using DescribeInstances. After launch, you +// can apply tags to your running instance (requires a resource ID). For more +// information, see CreateTags and Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html). // // Linux instances have access to the public key of the key pair at boot. You // can use this key to provide secure access to the instance. Amazon EC2 public @@ -14033,19 +14540,8 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques // information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud User Guide. // -// You can provide optional user data when launching an instance. For more information, -// see Instance Metadata (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html) -// in the Amazon Elastic Compute Cloud User Guide. -// -// If any of the AMIs have a product code attached for which the user has not -// subscribed, RunInstances fails. -// -// Some instance types can only be launched into a VPC. If you do not have a -// default VPC, or if you do not specify a subnet ID in the request, RunInstances -// fails. For more information, see Instance Types Available Only in a VPC (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types). -// -// For more information about troubleshooting, see What To Do If An Instance -// Immediately Terminates (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html), +// For troubleshooting, see What To Do If An Instance Immediately Terminates +// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html), // and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html) // in the Amazon Elastic Compute Cloud User Guide. // @@ -14378,6 +14874,65 @@ func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInst return out, err } +const opUnassignIpv6Addresses = "UnassignIpv6Addresses" + +// UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the +// client's request for the UnassignIpv6Addresses operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UnassignIpv6Addresses for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UnassignIpv6Addresses method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UnassignIpv6AddressesRequest method. +// req, resp := client.UnassignIpv6AddressesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) { + op := &request.Operation{ + Name: opUnassignIpv6Addresses, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UnassignIpv6AddressesInput{} + } + + req = c.newRequest(op, input, output) + output = &UnassignIpv6AddressesOutput{} + req.Data = output + return +} + +// UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud. +// +// Unassigns one or more IPv6 addresses from a network interface. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation UnassignIpv6Addresses for usage and error information. +func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) { + req, out := c.UnassignIpv6AddressesRequest(input) + err := req.Send() + return out, err +} + const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses" // UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the @@ -14484,8 +15039,8 @@ func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *re // UnmonitorInstances API operation for Amazon Elastic Compute Cloud. // -// Disables monitoring for a running instance. For more information about monitoring -// instances, see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) +// Disables detailed monitoring for a running instance. For more information, +// see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -14510,14 +15065,14 @@ type AcceptReservedInstancesExchangeQuoteInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // The IDs of the Convertible Reserved Instances that you want to exchange for - // other Convertible Reserved Instances of the same or higher value. + // The IDs of the Convertible Reserved Instances to exchange for other Convertible + // Reserved Instances of the same or higher value. // // ReservedInstanceIds is a required field ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"` - // The configurations of the Convertible Reserved Instance offerings you are - // purchasing in this exchange. + // The configurations of the Convertible Reserved Instance offerings that you + // are purchasing in this exchange. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"` } @@ -15045,6 +15600,97 @@ func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput { return s } +type AssignIpv6AddressesInput struct { + _ struct{} `type:"structure"` + + // The number of IPv6 addresses to assign to the network interface. Amazon EC2 + // automatically selects the IPv6 addresses from the subnet range. You can't + // use this option if specifying specific IPv6 addresses. + Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"` + + // One or more specific IPv6 addresses to be assigned to the network interface. + // You can't use this option if you're specifying a number of IPv6 addresses. + Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"` + + // The ID of the network interface. + // + // NetworkInterfaceId is a required field + NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssignIpv6AddressesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssignIpv6AddressesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssignIpv6AddressesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"} + if s.NetworkInterfaceId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIpv6AddressCount sets the Ipv6AddressCount field's value. +func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput { + s.Ipv6AddressCount = &v + return s +} + +// SetIpv6Addresses sets the Ipv6Addresses field's value. +func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput { + s.Ipv6Addresses = v + return s +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput { + s.NetworkInterfaceId = &v + return s +} + +type AssignIpv6AddressesOutput struct { + _ struct{} `type:"structure"` + + // The IPv6 addresses assigned to the network interface. + AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"` + + // The ID of the network interface. + NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` +} + +// String returns the string representation +func (s AssignIpv6AddressesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssignIpv6AddressesOutput) GoString() string { + return s.String() +} + +// SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value. +func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput { + s.AssignedIpv6Addresses = v + return s +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput { + s.NetworkInterfaceId = &v + return s +} + // Contains the parameters for AssignPrivateIpAddresses. type AssignPrivateIpAddressesInput struct { _ struct{} `type:"structure"` @@ -15418,6 +16064,171 @@ func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTa return s } +type AssociateSubnetCidrBlockInput struct { + _ struct{} `type:"structure"` + + // The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length. + // + // Ipv6CidrBlock is a required field + Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"` + + // The ID of your subnet. + // + // SubnetId is a required field + SubnetId *string `locationName:"subnetId" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateSubnetCidrBlockInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateSubnetCidrBlockInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateSubnetCidrBlockInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"} + if s.Ipv6CidrBlock == nil { + invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock")) + } + if s.SubnetId == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. +func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput { + s.Ipv6CidrBlock = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput { + s.SubnetId = &v + return s +} + +type AssociateSubnetCidrBlockOutput struct { + _ struct{} `type:"structure"` + + // Information about the IPv6 CIDR block association. + Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"` + + // The ID of the subnet. + SubnetId *string `locationName:"subnetId" type:"string"` +} + +// String returns the string representation +func (s AssociateSubnetCidrBlockOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateSubnetCidrBlockOutput) GoString() string { + return s.String() +} + +// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value. +func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput { + s.Ipv6CidrBlockAssociation = v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput { + s.SubnetId = &v + return s +} + +type AssociateVpcCidrBlockInput struct { + _ struct{} `type:"structure"` + + // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for + // the VPC. You cannot specify the range of IPv6 addresses, or the size of the + // CIDR block. + AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"` + + // The ID of the VPC. + // + // VpcId is a required field + VpcId *string `locationName:"vpcId" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateVpcCidrBlockInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateVpcCidrBlockInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateVpcCidrBlockInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"} + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value. +func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput { + s.AmazonProvidedIpv6CidrBlock = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput { + s.VpcId = &v + return s +} + +type AssociateVpcCidrBlockOutput struct { + _ struct{} `type:"structure"` + + // Information about the IPv6 CIDR block association. + Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"` + + // The ID of the VPC. + VpcId *string `locationName:"vpcId" type:"string"` +} + +// String returns the string representation +func (s AssociateVpcCidrBlockOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateVpcCidrBlockOutput) GoString() string { + return s.String() +} + +// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value. +func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput { + s.Ipv6CidrBlockAssociation = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput { + s.VpcId = &v + return s +} + // Contains the parameters for AttachClassicLinkVpc. type AttachClassicLinkVpcInput struct { _ struct{} `type:"structure"` @@ -15925,8 +16736,8 @@ func (s *AttributeValue) SetValue(v string) *AttributeValue { type AuthorizeSecurityGroupEgressInput struct { _ struct{} `type:"structure"` - // The CIDR IP address range. We recommend that you specify the CIDR range in - // a set of IP permissions instead. + // The CIDR IPv4 address range. We recommend that you specify the CIDR range + // in a set of IP permissions instead. CidrIp *string `locationName:"cidrIp" type:"string"` // Checks whether you have the required permissions for the action, without @@ -16062,7 +16873,7 @@ func (s AuthorizeSecurityGroupEgressOutput) GoString() string { type AuthorizeSecurityGroupIngressInput struct { _ struct{} `type:"structure"` - // The CIDR IP address range. You can't specify this parameter when specifying + // The CIDR IPv4 address range. You can't specify this parameter when specifying // a source security group. CidrIp *string `type:"string"` @@ -16072,8 +16883,8 @@ type AuthorizeSecurityGroupIngressInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // The start of port range for the TCP and UDP protocols, or an ICMP type number. - // For the ICMP type number, use -1 to specify all ICMP types. + // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 + // type number. For the ICMP/ICMPv6 type number, use -1 to specify all types. FromPort *int64 `type:"integer"` // The ID of the security group. Required for a nondefault VPC. @@ -16087,8 +16898,11 @@ type AuthorizeSecurityGroupIngressInput struct { IpPermissions []*IpPermission `locationNameList:"item" type:"list"` // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)). - // (VPC only) Use -1 to specify all traffic. If you specify -1, traffic on all - // ports is allowed, regardless of any ports you specify. + // (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol + // number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is + // allowed, regardless of any ports you specify. For tcp, udp, and icmp, you + // must specify a port range. For protocol 58 (ICMPv6), you can optionally specify + // a port range; if you don't, traffic for all types and codes is allowed. IpProtocol *string `type:"string"` // [EC2-Classic, default VPC] The name of the source security group. You can't @@ -16108,8 +16922,8 @@ type AuthorizeSecurityGroupIngressInput struct { // with a specific IP protocol and port range, use a set of IP permissions instead. SourceSecurityGroupOwnerId *string `type:"string"` - // The end of port range for the TCP and UDP protocols, or an ICMP code number. - // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type. + // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code + // number. For the ICMP/ICMPv6 code number, use -1 to specify all codes. ToPort *int64 `type:"integer"` } @@ -18106,6 +18920,99 @@ func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOpti return s } +type CreateEgressOnlyInternetGatewayInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier you provide to ensure the idempotency of + // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + ClientToken *string `type:"string"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the VPC for which to create the egress-only Internet gateway. + // + // VpcId is a required field + VpcId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateEgressOnlyInternetGatewayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEgressOnlyInternetGatewayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEgressOnlyInternetGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"} + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput { + s.ClientToken = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput { + s.DryRun = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput { + s.VpcId = &v + return s +} + +type CreateEgressOnlyInternetGatewayOutput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier you provide to ensure the idempotency of + // the request. + ClientToken *string `locationName:"clientToken" type:"string"` + + // Information about the egress-only Internet gateway. + EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"` +} + +// String returns the string representation +func (s CreateEgressOnlyInternetGatewayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEgressOnlyInternetGatewayOutput) GoString() string { + return s.String() +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput { + s.ClientToken = &v + return s +} + +// SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value. +func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput { + s.EgressOnlyInternetGateway = v + return s +} + // Contains the parameters for CreateFlowLogs. type CreateFlowLogsInput struct { _ struct{} `type:"structure"` @@ -18722,10 +19629,8 @@ func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayO type CreateNetworkAclEntryInput struct { _ struct{} `type:"structure"` - // The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24). - // - // CidrBlock is a required field - CidrBlock *string `locationName:"cidrBlock" type:"string" required:"true"` + // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24). + CidrBlock *string `locationName:"cidrBlock" type:"string"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -18739,10 +19644,13 @@ type CreateNetworkAclEntryInput struct { // Egress is a required field Egress *bool `locationName:"egress" type:"boolean" required:"true"` - // ICMP protocol: The ICMP type and code. Required if specifying ICMP for the - // protocol. + // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the + // ICMP protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"` + // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64). + Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"` + // The ID of the network ACL. // // NetworkAclId is a required field @@ -18751,7 +19659,13 @@ type CreateNetworkAclEntryInput struct { // TCP or UDP protocols: The range of ports the rule applies to. PortRange *PortRange `locationName:"portRange" type:"structure"` - // The protocol. A value of -1 means all protocols. + // The protocol. A value of -1 or all means all protocols. If you specify all, + // -1, or a protocol number other than tcp, udp, or icmp, traffic on all ports + // is allowed, regardless of any ports or ICMP types or codes you specify. If + // you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block, traffic + // for all ICMP types and codes allowed, regardless of any that you specify. + // If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block, you must + // specify an ICMP type and code. // // Protocol is a required field Protocol *string `locationName:"protocol" type:"string" required:"true"` @@ -18784,9 +19698,6 @@ func (s CreateNetworkAclEntryInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateNetworkAclEntryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"} - if s.CidrBlock == nil { - invalidParams.Add(request.NewErrParamRequired("CidrBlock")) - } if s.Egress == nil { invalidParams.Add(request.NewErrParamRequired("Egress")) } @@ -18833,6 +19744,12 @@ func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNet return s } +// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. +func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput { + s.Ipv6CidrBlock = &v + return s +} + // SetNetworkAclId sets the NetworkAclId field's value. func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput { s.NetworkAclId = &v @@ -18968,24 +19885,36 @@ type CreateNetworkInterfaceInput struct { // The IDs of one or more security groups. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"` - // The primary private IP address of the network interface. If you don't specify - // an IP address, Amazon EC2 selects one for you from the subnet range. If you - // specify an IP address, you cannot indicate any IP addresses specified in - // privateIpAddresses as primary (only one IP address can be designated as primary). + // The number of IPv6 addresses to assign to a network interface. Amazon EC2 + // automatically selects the IPv6 addresses from the subnet range. You can't + // use this option if specifying specific IPv6 addresses. If your subnet has + // the AssignIpv6AddressOnCreation attribute set to true, you can specify 0 + // to override this setting. + Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"` + + // One or more specific IPv6 addresses from the IPv6 CIDR block range of your + // subnet. You can't use this option if you're specifying a number of IPv6 addresses. + Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"` + + // The primary private IPv4 address of the network interface. If you don't specify + // an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR + // range. If you specify an IP address, you cannot indicate any IP addresses + // specified in privateIpAddresses as primary (only one IP address can be designated + // as primary). PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` - // One or more private IP addresses. + // One or more private IPv4 addresses. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"` - // The number of secondary private IP addresses to assign to a network interface. - // When you specify a number of secondary IP addresses, Amazon EC2 selects these - // IP addresses within the subnet range. You can't specify this option and specify - // more than one private IP address using privateIpAddresses. + // The number of secondary private IPv4 addresses to assign to a network interface. + // When you specify a number of secondary IPv4 addresses, Amazon EC2 selects + // these IP addresses within the subnet's IPv4 CIDR range. You can't specify + // this option and specify more than one private IP address using privateIpAddresses. // // The number of IP addresses you can assign to a network interface varies by - // instance type. For more information, see Private IP Addresses Per ENI Per - // Instance Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) - // in the Amazon Elastic Compute Cloud User Guide. + // instance type. For more information, see IP Addresses Per ENI Per Instance + // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) + // in the Amazon Virtual Private Cloud User Guide. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"` // The ID of the subnet to associate with the network interface. @@ -19045,6 +19974,18 @@ func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInter return s } +// SetIpv6AddressCount sets the Ipv6AddressCount field's value. +func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput { + s.Ipv6AddressCount = &v + return s +} + +// SetIpv6Addresses sets the Ipv6Addresses field's value. +func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput { + s.Ipv6Addresses = v + return s +} + // SetPrivateIpAddress sets the PrivateIpAddress field's value. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput { s.PrivateIpAddress = &v @@ -19289,11 +20230,13 @@ func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v [] type CreateRouteInput struct { _ struct{} `type:"structure"` - // The CIDR address block used for the destination match. Routing decisions + // The IPv4 CIDR address block used for the destination match. Routing decisions // are based on the most specific match. - // - // DestinationCidrBlock is a required field - DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"` + DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"` + + // The IPv6 CIDR block used for the destination match. Routing decisions are + // based on the most specific match. + DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -19301,6 +20244,9 @@ type CreateRouteInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + // [IPv6 traffic only] The ID of an egress-only Internet gateway. + EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"` + // The ID of an Internet gateway or virtual private gateway attached to your // VPC. GatewayId *string `locationName:"gatewayId" type:"string"` @@ -19309,7 +20255,7 @@ type CreateRouteInput struct { // an instance ID unless exactly one network interface is attached. InstanceId *string `locationName:"instanceId" type:"string"` - // The ID of a NAT gateway. + // [IPv4 traffic only] The ID of a NAT gateway. NatGatewayId *string `locationName:"natGatewayId" type:"string"` // The ID of a network interface. @@ -19337,9 +20283,6 @@ func (s CreateRouteInput) GoString() 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.DestinationCidrBlock == nil { - invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock")) - } if s.RouteTableId == nil { invalidParams.Add(request.NewErrParamRequired("RouteTableId")) } @@ -19356,12 +20299,24 @@ func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput { return s } +// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value. +func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput { + s.DestinationIpv6CidrBlock = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput { s.DryRun = &v return s } +// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value. +func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput { + s.EgressOnlyInternetGatewayId = &v + return s +} + // SetGatewayId sets the GatewayId field's value. func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput { s.GatewayId = &v @@ -19761,7 +20716,7 @@ type CreateSubnetInput struct { // VPC, we may not necessarily select a different zone for each subnet. AvailabilityZone *string `type:"string"` - // The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. + // The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. // // CidrBlock is a required field CidrBlock *string `type:"string" required:"true"` @@ -19772,6 +20727,10 @@ type CreateSubnetInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + // The IPv6 network range for the subnet, in CIDR notation. The subnet size + // must use a /64 prefix length. + Ipv6CidrBlock *string `type:"string"` + // The ID of the VPC. // // VpcId is a required field @@ -19822,6 +20781,12 @@ func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput { return s } +// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. +func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput { + s.Ipv6CidrBlock = &v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput { s.VpcId = &v @@ -19959,7 +20924,7 @@ type CreateVolumeInput struct { Encrypted *bool `locationName:"encrypted" type:"boolean"` // Only valid for Provisioned IOPS SSD volumes. The number of I/O operations - // per second (IOPS) to provision for the volume, with a maximum ratio of 30 + // per second (IOPS) to provision for the volume, with a maximum ratio of 50 // IOPS/GiB. // // Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes @@ -20271,7 +21236,12 @@ func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpo type CreateVpcInput struct { _ struct{} `type:"structure"` - // The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16. + // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for + // the VPC. You cannot specify the range of IP addresses, or the size of the + // CIDR block. + AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"` + + // The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16. // // CidrBlock is a required field CidrBlock *string `type:"string" required:"true"` @@ -20318,6 +21288,12 @@ func (s *CreateVpcInput) Validate() error { return nil } +// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value. +func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput { + s.AmazonProvidedIpv6CidrBlock = &v + return s +} + // SetCidrBlock sets the CidrBlock field's value. func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput { s.CidrBlock = &v @@ -20908,6 +21884,79 @@ func (s DeleteDhcpOptionsOutput) GoString() string { return s.String() } +type DeleteEgressOnlyInternetGatewayInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the egress-only Internet gateway. + // + // EgressOnlyInternetGatewayId is a required field + EgressOnlyInternetGatewayId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEgressOnlyInternetGatewayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEgressOnlyInternetGatewayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"} + if s.EgressOnlyInternetGatewayId == nil { + invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput { + s.DryRun = &v + return s +} + +// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value. +func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput { + s.EgressOnlyInternetGatewayId = &v + return s +} + +type DeleteEgressOnlyInternetGatewayOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, it returns an error. + ReturnCode *bool `locationName:"returnCode" type:"boolean"` +} + +// String returns the string representation +func (s DeleteEgressOnlyInternetGatewayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string { + return s.String() +} + +// SetReturnCode sets the ReturnCode field's value. +func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput { + s.ReturnCode = &v + return s +} + // Contains the parameters for DeleteFlowLogs. type DeleteFlowLogsInput struct { _ struct{} `type:"structure"` @@ -21456,11 +22505,13 @@ func (s DeletePlacementGroupOutput) GoString() string { type DeleteRouteInput struct { _ struct{} `type:"structure"` - // The CIDR range for the route. The value you specify must match the CIDR for - // the route exactly. - // - // DestinationCidrBlock is a required field - DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"` + // The IPv4 CIDR range for the route. The value you specify must match the CIDR + // for the route exactly. + DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"` + + // The IPv6 CIDR range for the route. The value you specify must match the CIDR + // for the route exactly. + DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -21487,9 +22538,6 @@ func (s DeleteRouteInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"} - if s.DestinationCidrBlock == nil { - invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock")) - } if s.RouteTableId == nil { invalidParams.Add(request.NewErrParamRequired("RouteTableId")) } @@ -21506,6 +22554,12 @@ func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput { return s } +// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value. +func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput { + s.DestinationIpv6CidrBlock = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput { s.DryRun = &v @@ -23153,6 +24207,94 @@ func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDh return s } +type DescribeEgressOnlyInternetGatewaysInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more egress-only Internet gateway IDs. + EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"` + + // The maximum number of results to return for the request in a single page. + // The remaining results can be seen by sending another request with the returned + // NextToken value. This value can be between 5 and 1000; if MaxResults is given + // a value larger than 1000, only 1000 results are returned. + MaxResults *int64 `type:"integer"` + + // The token to retrieve the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeEgressOnlyInternetGatewaysInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string { + return s.String() +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput { + s.DryRun = &v + return s +} + +// SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value. +func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput { + s.EgressOnlyInternetGatewayIds = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput { + s.NextToken = &v + return s +} + +type DescribeEgressOnlyInternetGatewaysOutput struct { + _ struct{} `type:"structure"` + + // Information about the egress-only Internet gateways. + EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"` + + // The token to use to retrieve the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s DescribeEgressOnlyInternetGatewaysOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string { + return s.String() +} + +// SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value. +func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput { + s.EgressOnlyInternetGateways = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput { + s.NextToken = &v + return s +} + // Contains the parameters for DescribeExportTasks. type DescribeExportTasksInput struct { _ struct{} `type:"structure"` @@ -23929,6 +25071,9 @@ type DescribeImagesInput struct { // // * description - The description of the image (provided during image creation). // + // * ena-support - A Boolean that indicates whether enhanced networking with + // ENA is enabled. + // // * hypervisor - The hypervisor type (ovm | xen). // // * image-id - The ID of the image. @@ -24648,6 +25793,18 @@ type DescribeInstancesInput struct { // // * architecture - The instance architecture (i386 | x86_64). // + // * association.public-ip - The address of the Elastic IP address (IPv4) + // bound to the network interface. + // + // * association.ip-owner-id - The owner of the Elastic IP address (IPv4) + // associated with the network interface. + // + // * association.allocation-id - The allocation ID returned when you allocated + // the Elastic IP address (IPv4) for your network interface. + // + // * association.association-id - The association ID returned when the network + // interface was associated with an IPv4 address. + // // * availability-zone - The Availability Zone of the instance. // // * block-device-mapping.attach-time - The attach time for an EBS volume @@ -24706,7 +25863,7 @@ type DescribeInstancesInput struct { // * instance.group-name - The name of the security group for the instance. // // - // * ip-address - The public IP address of the instance. + // * ip-address - The public IPv4 address of the instance. // // * kernel-id - The kernel ID. // @@ -24718,9 +25875,83 @@ type DescribeInstancesInput struct { // // * launch-time - The time when the instance was launched. // - // * monitoring-state - Indicates whether monitoring is enabled for the instance + // * monitoring-state - Indicates whether detailed monitoring is enabled // (disabled | enabled). // + // * network-interface.addresses.private-ip-address - The private IPv4 address + // associated with the network interface. + // + // * network-interface.addresses.primary - Specifies whether the IPv4 address + // of the network interface is the primary private IPv4 address. + // + // * network-interface.addresses.association.public-ip - The ID of the association + // of an Elastic IP address (IPv4) with a network interface. + // + // * network-interface.addresses.association.ip-owner-id - The owner ID of + // the private IPv4 address associated with the network interface. + // + // * network-interface.attachment.attachment-id - The ID of the interface + // attachment. + // + // * network-interface.attachment.instance-id - The ID of the instance to + // which the network interface is attached. + // + // * network-interface.attachment.instance-owner-id - The owner ID of the + // instance to which the network interface is attached. + // + // * network-interface.attachment.device-index - The device index to which + // the network interface is attached. + // + // * network-interface.attachment.status - The status of the attachment (attaching + // | attached | detaching | detached). + // + // * network-interface.attachment.attach-time - The time that the network + // interface was attached to an instance. + // + // * network-interface.attachment.delete-on-termination - Specifies whether + // the attachment is deleted when an instance is terminated. + // + // * network-interface.availability-zone - The Availability Zone for the + // network interface. + // + // * network-interface.description - The description of the network interface. + // + // * network-interface.group-id - The ID of a security group associated with + // the network interface. + // + // * network-interface.group-name - The name of a security group associated + // with the network interface. + // + // * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated + // with the network interface. + // + // * network-interface.mac-address - The MAC address of the network interface. + // + // * network-interface.network-interface-id - The ID of the network interface. + // + // * network-interface.owner-id - The ID of the owner of the network interface. + // + // * network-interface.private-dns-name - The private DNS name of the network + // interface. + // + // * network-interface.requester-id - The requester ID for the network interface. + // + // * network-interface.requester-managed - Indicates whether the network + // interface is being managed by AWS. + // + // * network-interface.status - The status of the network interface (available) + // | in-use). + // + // * network-interface.source-dest-check - Whether the network interface + // performs source/destination checking. A value of true means checking is + // enabled, and false means checking is disabled. The value must be false + // for the network interface to perform network address translation (NAT) + // in your VPC. + // + // * network-interface.subnet-id - The ID of the subnet for the network interface. + // + // * network-interface.vpc-id - The ID of the VPC for the network interface. + // // * owner-id - The AWS account ID of the instance owner. // // * placement-group-name - The name of the placement group for the instance. @@ -24728,9 +25959,9 @@ type DescribeInstancesInput struct { // * platform - The platform. Use windows if you have Windows instances; // otherwise, leave blank. // - // * private-dns-name - The private DNS name of the instance. + // * private-dns-name - The private IPv4 DNS name of the instance. // - // * private-ip-address - The private IP address of the instance. + // * private-ip-address - The private IPv4 address of the instance. // // * product-code - The product code associated with the AMI used to launch // the instance. @@ -24793,89 +26024,6 @@ type DescribeInstancesInput struct { // | hvm). // // * vpc-id - The ID of the VPC that the instance is running in. - // - // * network-interface.description - The description of the network interface. - // - // * network-interface.subnet-id - The ID of the subnet for the network interface. - // - // * network-interface.vpc-id - The ID of the VPC for the network interface. - // - // * network-interface.network-interface-id - The ID of the network interface. - // - // * network-interface.owner-id - The ID of the owner of the network interface. - // - // * network-interface.availability-zone - The Availability Zone for the - // network interface. - // - // * network-interface.requester-id - The requester ID for the network interface. - // - // * network-interface.requester-managed - Indicates whether the network - // interface is being managed by AWS. - // - // * network-interface.status - The status of the network interface (available) - // | in-use). - // - // * network-interface.mac-address - The MAC address of the network interface. - // - // * network-interface.private-dns-name - The private DNS name of the network - // interface. - // - // * network-interface.source-dest-check - Whether the network interface - // performs source/destination checking. A value of true means checking is - // enabled, and false means checking is disabled. The value must be false - // for the network interface to perform network address translation (NAT) - // in your VPC. - // - // * network-interface.group-id - The ID of a security group associated with - // the network interface. - // - // * network-interface.group-name - The name of a security group associated - // with the network interface. - // - // * network-interface.attachment.attachment-id - The ID of the interface - // attachment. - // - // * network-interface.attachment.instance-id - The ID of the instance to - // which the network interface is attached. - // - // * network-interface.attachment.instance-owner-id - The owner ID of the - // instance to which the network interface is attached. - // - // * network-interface.addresses.private-ip-address - The private IP address - // associated with the network interface. - // - // * network-interface.attachment.device-index - The device index to which - // the network interface is attached. - // - // * network-interface.attachment.status - The status of the attachment (attaching - // | attached | detaching | detached). - // - // * network-interface.attachment.attach-time - The time that the network - // interface was attached to an instance. - // - // * network-interface.attachment.delete-on-termination - Specifies whether - // the attachment is deleted when an instance is terminated. - // - // * network-interface.addresses.primary - Specifies whether the IP address - // of the network interface is the primary private IP address. - // - // * network-interface.addresses.association.public-ip - The ID of the association - // of an Elastic IP address with a network interface. - // - // * network-interface.addresses.association.ip-owner-id - The owner ID of - // the private IP address associated with the network interface. - // - // * association.public-ip - The address of the Elastic IP address bound - // to the network interface. - // - // * association.ip-owner-id - The owner of the Elastic IP address associated - // with the network interface. - // - // * association.allocation-id - The allocation ID returned when you allocated - // the Elastic IP address for your network interface. - // - // * association.association-id - The association ID returned when the network - // interface was associated with an IP address. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // One or more instance IDs. @@ -25359,7 +26507,7 @@ type DescribeNetworkAclsInput struct { // * default - Indicates whether the ACL is the default network ACL for the // VPC. // - // * entry.cidr - The CIDR range specified in the entry. + // * entry.cidr - The IPv4 CIDR range specified in the entry. // // * entry.egress - Indicates whether the entry applies to egress traffic. // @@ -25367,6 +26515,8 @@ type DescribeNetworkAclsInput struct { // // * entry.icmp.type - The ICMP type specified in the entry, if any. // + // * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry. + // // * entry.port-range.from - The start of the port range specified in the // entry. // @@ -25589,31 +26739,32 @@ type DescribeNetworkInterfacesInput struct { // One or more filters. // - // * addresses.private-ip-address - The private IP addresses associated with - // the network interface. + // * addresses.private-ip-address - The private IPv4 addresses associated + // with the network interface. // - // * addresses.primary - Whether the private IP address is the primary IP - // address associated with the network interface. + // * addresses.primary - Whether the private IPv4 address is the primary + // IP address associated with the network interface. // // * addresses.association.public-ip - The association ID returned when the - // network interface was associated with the Elastic IP address. + // network interface was associated with the Elastic IP address (IPv4). // // * addresses.association.owner-id - The owner ID of the addresses associated // with the network interface. // // * association.association-id - The association ID returned when the network - // interface was associated with an IP address. + // interface was associated with an IPv4 address. // // * association.allocation-id - The allocation ID returned when you allocated - // the Elastic IP address for your network interface. + // the Elastic IP address (IPv4) for your network interface. // - // * association.ip-owner-id - The owner of the Elastic IP address associated - // with the network interface. + // * association.ip-owner-id - The owner of the Elastic IP address (IPv4) + // associated with the network interface. // - // * association.public-ip - The address of the Elastic IP address bound - // to the network interface. + // * association.public-ip - The address of the Elastic IP address (IPv4) + // bound to the network interface. // - // * association.public-dns-name - The public DNS name for the network interface. + // * association.public-dns-name - The public DNS name for the network interface + // (IPv4). // // * attachment.attachment-id - The ID of the interface attachment. // @@ -25647,16 +26798,19 @@ type DescribeNetworkInterfacesInput struct { // * group-name - The name of a security group associated with the network // interface. // + // * ipv6-addresses.ipv6-address - An IPv6 address associated with the network + // interface. + // // * mac-address - The MAC address of the network interface. // // * network-interface-id - The ID of the network interface. // // * owner-id - The AWS account ID of the network interface owner. // - // * private-ip-address - The private IP address or addresses of the network + // * private-ip-address - The private IPv4 address or addresses of the network // interface. // - // * private-dns-name - The private DNS name of the network interface. + // * private-dns-name - The private DNS name of the network interface (IPv4). // // * requester-id - The ID of the entity that launched the instance on your // behalf (for example, AWS Management Console, Auto Scaling, and so on). @@ -26598,12 +27752,18 @@ type DescribeRouteTablesInput struct { // // * route-table-id - The ID of the route table. // - // * route.destination-cidr-block - The CIDR range specified in a route in - // the table. + // * route.destination-cidr-block - The IPv4 CIDR range specified in a route + // in the table. + // + // * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in + // a route in the route table. // // * route.destination-prefix-list-id - The ID (prefix) of the AWS service // specified in a route in the table. // + // * route.egress-only-internet-gateway-id - The ID of an egress-only Internet + // gateway specified in a route in the route table. + // // * route.gateway-id - The ID of a gateway specified in a route in the table. // // * route.instance-id - The ID of an instance specified in a route in the @@ -27074,7 +28234,8 @@ type DescribeSecurityGroupsInput struct { // // * group-name - The name of the security group. // - // * ip-permission.cidr - A CIDR range that has been granted permission. + // * ip-permission.cidr - An IPv4 CIDR range that has been granted permission + // in a security group rule. // // * ip-permission.from-port - The start of port range for the TCP and UDP // protocols, or an ICMP type number. @@ -27085,6 +28246,9 @@ type DescribeSecurityGroupsInput struct { // * ip-permission.group-name - The name of a security group that has been // granted permission. // + // * ip-permission.ipv6-cidr - An IPv6 CIDR range that has been granted permission + // in a security group rule. + // // * ip-permission.protocol - The IP protocol for the permission (tcp | udp // | icmp or a protocol number). // @@ -28091,7 +29255,8 @@ type DescribeSpotPriceHistoryInput struct { // than or less than comparison is not supported. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // Filters the results by the specified instance types. + // Filters the results by the specified instance types. Note that T2 and HS1 + // instance types are not supported. InstanceTypes []*string `locationName:"InstanceType" type:"list"` // The maximum number of results to return in a single call. Specify a value @@ -28333,16 +29498,25 @@ type DescribeSubnetsInput struct { // * availabilityZone - The Availability Zone for the subnet. You can also // use availability-zone as the filter name. // - // * available-ip-address-count - The number of IP addresses in the subnet + // * available-ip-address-count - The number of IPv4 addresses in the subnet // that are available. // - // * cidrBlock - The CIDR block of the subnet. The CIDR block you specify + // * cidrBlock - The IPv4 CIDR block of the subnet. The CIDR block you specify // must exactly match the subnet's CIDR block for information to be returned // for the subnet. You can also use cidr or cidr-block as the filter names. // // * defaultForAz - Indicates whether this is the default subnet for the // Availability Zone. You can also use default-for-az as the filter name. // + // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated + // with the subnet. + // + // * ipv6-cidr-block-association.association-id - An association ID for an + // IPv6 CIDR block associated with the subnet. + // + // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block + // associated with the subnet. + // // * state - The state of the subnet (pending | available). // // * subnet-id - The ID of the subnet. @@ -29416,7 +30590,7 @@ type DescribeVpcPeeringConnectionsInput struct { // One or more filters. // - // * accepter-vpc-info.cidr-block - The CIDR block of the peer VPC. + // * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the peer VPC. // // * accepter-vpc-info.owner-id - The AWS account ID of the owner of the // peer VPC. @@ -29425,7 +30599,8 @@ type DescribeVpcPeeringConnectionsInput struct { // // * expiration-time - The expiration date and time for the VPC peering connection. // - // * requester-vpc-info.cidr-block - The CIDR block of the requester's VPC. + // * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's + // VPC. // // * requester-vpc-info.owner-id - The AWS account ID of the owner of the // requester VPC. @@ -29524,12 +30699,22 @@ type DescribeVpcsInput struct { // One or more filters. // - // * cidr - The CIDR block of the VPC. The CIDR block you specify must exactly - // match the VPC's CIDR block for information to be returned for the VPC. - // Must contain the slash followed by one or two digits (for example, /28). + // * cidr - The IPv4 CIDR block of the VPC. The CIDR block you specify must + // exactly match the VPC's CIDR block for information to be returned for + // the VPC. Must contain the slash followed by one or two digits (for example, + // /28). // // * dhcp-options-id - The ID of a set of DHCP options. // + // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated + // with the VPC. + // + // * ipv6-cidr-block-association.association-id - The association ID for + // an IPv6 CIDR block associated with the VPC. + // + // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block + // associated with the VPC. + // // * isDefault - Indicates whether the VPC is the default VPC. // // * state - The state of the VPC (pending | available). @@ -30614,6 +31799,146 @@ func (s DisassociateRouteTableOutput) GoString() string { return s.String() } +type DisassociateSubnetCidrBlockInput struct { + _ struct{} `type:"structure"` + + // The association ID for the CIDR block. + // + // AssociationId is a required field + AssociationId *string `locationName:"associationId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateSubnetCidrBlockInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateSubnetCidrBlockInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateSubnetCidrBlockInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"} + if s.AssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociationId sets the AssociationId field's value. +func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput { + s.AssociationId = &v + return s +} + +type DisassociateSubnetCidrBlockOutput struct { + _ struct{} `type:"structure"` + + // Information about the IPv6 CIDR block association. + Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"` + + // The ID of the subnet. + SubnetId *string `locationName:"subnetId" type:"string"` +} + +// String returns the string representation +func (s DisassociateSubnetCidrBlockOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateSubnetCidrBlockOutput) GoString() string { + return s.String() +} + +// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value. +func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput { + s.Ipv6CidrBlockAssociation = v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput { + s.SubnetId = &v + return s +} + +type DisassociateVpcCidrBlockInput struct { + _ struct{} `type:"structure"` + + // The association ID for the CIDR block. + // + // AssociationId is a required field + AssociationId *string `locationName:"associationId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateVpcCidrBlockInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateVpcCidrBlockInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateVpcCidrBlockInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"} + if s.AssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociationId sets the AssociationId field's value. +func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput { + s.AssociationId = &v + return s +} + +type DisassociateVpcCidrBlockOutput struct { + _ struct{} `type:"structure"` + + // Information about the IPv6 CIDR block association. + Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"` + + // The ID of the VPC. + VpcId *string `locationName:"vpcId" type:"string"` +} + +// String returns the string representation +func (s DisassociateVpcCidrBlockOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateVpcCidrBlockOutput) GoString() string { + return s.String() +} + +// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value. +func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput { + s.Ipv6CidrBlockAssociation = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput { + s.VpcId = &v + return s +} + // Describes a disk image. type DiskImage struct { _ struct{} `type:"structure"` @@ -31027,6 +32352,39 @@ func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstance return s } +// Describes an egress-only Internet gateway. +type EgressOnlyInternetGateway struct { + _ struct{} `type:"structure"` + + // Information about the attachment of the egress-only Internet gateway. + Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"` + + // The ID of the egress-only Internet gateway. + EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"` +} + +// String returns the string representation +func (s EgressOnlyInternetGateway) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EgressOnlyInternetGateway) GoString() string { + return s.String() +} + +// SetAttachments sets the Attachments field's value. +func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway { + s.Attachments = v + return s +} + +// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value. +func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway { + s.EgressOnlyInternetGatewayId = &v + return s +} + // Contains the parameters for EnableVgwRoutePropagation. type EnableVgwRoutePropagationInput struct { _ struct{} `type:"structure"` @@ -32084,13 +33442,13 @@ type GetReservedInstancesExchangeQuoteInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // The ID/s of the Convertible Reserved Instances you want to exchange. + // The IDs of the Convertible Reserved Instances to exchange. // // ReservedInstanceIds is a required field ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"` - // The configuration requirements of the Convertible Reserved Instances you - // want in exchange for your current Convertible Reserved Instances. + // The configuration requirements of the Convertible Reserved Instances to exchange + // for your current Convertible Reserved Instances. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"` } @@ -32152,7 +33510,7 @@ type GetReservedInstancesExchangeQuoteOutput struct { // The currency of the transaction. CurrencyCode *string `locationName:"currencyCode" type:"string"` - // If true, the exchange is valid. If false, the exchange cannot be performed. + // If true, the exchange is valid. If false, the exchange cannot be completed. IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"` // The new end date of the reservation term. @@ -32173,7 +33531,7 @@ type GetReservedInstancesExchangeQuoteOutput struct { // The values of the target Convertible Reserved Instances. TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"` - // Describes the reason why the exchange can not be completed. + // Describes the reason why the exchange cannot be completed. ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"` } @@ -32797,10 +34155,10 @@ func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileS type IcmpTypeCode struct { _ struct{} `type:"structure"` - // The ICMP type. A value of -1 means all types. + // The ICMP code. A value of -1 means all codes for the specified ICMP type. Code *int64 `locationName:"code" type:"integer"` - // The ICMP code. A value of -1 means all codes for the specified ICMP type. + // The ICMP type. A value of -1 means all types. Type *int64 `locationName:"type" type:"integer"` } @@ -34408,7 +35766,7 @@ type Instance struct { // The time the instance was launched. LaunchTime *time.Time `locationName:"launchTime" type:"timestamp" timestampFormat:"iso8601"` - // The monitoring information for the instance. + // The monitoring for the instance. Monitoring *Monitoring `locationName:"monitoring" type:"structure"` // [EC2-VPC] One or more network interfaces for the instance. @@ -34420,24 +35778,28 @@ type Instance struct { // The value is Windows for Windows instances; otherwise blank. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"` - // The private DNS name assigned to the instance. This DNS name can only be - // used inside the Amazon EC2 network. This name is not available until the - // instance enters the running state. For EC2-VPC, this name is only available - // if you've enabled DNS hostnames for your VPC. + // (IPv4 only) The private DNS hostname name assigned to the instance. This + // DNS hostname can only be used inside the Amazon EC2 network. This name is + // not available until the instance enters the running state. + // + // [EC2-VPC] The Amazon-provided DNS server will resolve Amazon-provided private + // DNS hostnames if you've enabled DNS resolution and DNS hostnames in your + // VPC. If you are not using the Amazon-provided DNS server in your VPC, your + // custom domain name servers must resolve the hostname as appropriate. PrivateDnsName *string `locationName:"privateDnsName" type:"string"` - // The private IP address assigned to the instance. + // The private IPv4 address assigned to the instance. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` // The product codes attached to this instance, if applicable. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"` - // The public DNS name assigned to the instance. This name is not available - // until the instance enters the running state. For EC2-VPC, this name is only - // available if you've enabled DNS hostnames for your VPC. + // (IPv4 only) The public DNS name assigned to the instance. This name is not + // available until the instance enters the running state. For EC2-VPC, this + // name is only available if you've enabled DNS hostnames for your VPC. PublicDnsName *string `locationName:"dnsName" type:"string"` - // The public IP address assigned to the instance, if applicable. + // The public IPv4 address assigned to the instance, if applicable. PublicIpAddress *string `locationName:"ipAddress" type:"string"` // The RAM disk associated with this instance, if applicable. @@ -34922,14 +36284,38 @@ func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDe return s } -// Describes the monitoring information of the instance. +// Describes an IPv6 address. +type InstanceIpv6Address struct { + _ struct{} `type:"structure"` + + // The IPv6 address. + Ipv6Address *string `locationName:"ipv6Address" type:"string"` +} + +// String returns the string representation +func (s InstanceIpv6Address) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceIpv6Address) GoString() string { + return s.String() +} + +// SetIpv6Address sets the Ipv6Address field's value. +func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address { + s.Ipv6Address = &v + return s +} + +// Describes the monitoring of an instance. type InstanceMonitoring struct { _ struct{} `type:"structure"` // The ID of the instance. InstanceId *string `locationName:"instanceId" type:"string"` - // The monitoring information. + // The monitoring for the instance. Monitoring *Monitoring `locationName:"monitoring" type:"structure"` } @@ -34959,7 +36345,7 @@ func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring { type InstanceNetworkInterface struct { _ struct{} `type:"structure"` - // The association information for an Elastic IP associated with the network + // The association information for an Elastic IPv4 associated with the network // interface. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"` @@ -34972,6 +36358,9 @@ type InstanceNetworkInterface struct { // One or more security groups. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"` + // One or more IPv6 addresses associated with the network interface. + Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"` + // The MAC address. MacAddress *string `locationName:"macAddress" type:"string"` @@ -34984,10 +36373,10 @@ type InstanceNetworkInterface struct { // The private DNS name. PrivateDnsName *string `locationName:"privateDnsName" type:"string"` - // The IP address of the network interface within the subnet. + // The IPv4 address of the network interface within the subnet. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` - // The private IP addresses associated with the network interface. + // One or more private IPv4 addresses associated with the network interface. PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"` // Indicates whether to validate network traffic to or from this network interface. @@ -35037,6 +36426,12 @@ func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetw return s } +// SetIpv6Addresses sets the Ipv6Addresses field's value. +func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface { + s.Ipv6Addresses = v + return s +} + // SetMacAddress sets the MacAddress field's value. func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface { s.MacAddress = &v @@ -35097,7 +36492,7 @@ func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface return s } -// Describes association information for an Elastic IP address. +// Describes association information for an Elastic IP address (IPv4). type InstanceNetworkInterfaceAssociation struct { _ struct{} `type:"structure"` @@ -35203,7 +36598,7 @@ func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetwor type InstanceNetworkInterfaceSpecification struct { _ struct{} `type:"structure"` - // Indicates whether to assign a public IP address to an instance you launch + // Indicates whether to assign a public IPv4 address to an instance you launch // in a VPC. The public IP address can only be assigned to a network interface // for eth0, and can only be assigned to a new network interface, not an existing // one. You cannot specify more than one network interface in the request. If @@ -35228,20 +36623,34 @@ type InstanceNetworkInterfaceSpecification struct { // creating a network interface when launching an instance. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"` + // A number of IPv6 addresses to assign to the network interface. Amazon EC2 + // chooses the IPv6 addresses from the range of the subnet. You cannot specify + // this option and the option to assign specific IPv6 addresses in the same + // request. You can specify this option if you've specified a minimum number + // of instances to launch. + Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"` + + // One or more IPv6 addresses to assign to the network interface. You cannot + // specify this option and the option to assign a number of IPv6 addresses in + // the same request. You cannot specify this option if you've specified a minimum + // number of instances to launch. + Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"` + // The ID of the network interface. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` - // The private IP address of the network interface. Applies only if creating + // The private IPv4 address of the network interface. Applies only if creating // a network interface when launching an instance. You cannot specify this option // if you're launching more than one instance in a RunInstances request. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` - // One or more private IP addresses to assign to the network interface. Only - // one private IP address can be designated as primary. You cannot specify this - // option if you're launching more than one instance in a RunInstances request. + // One or more private IPv4 addresses to assign to the network interface. Only + // one private IPv4 address can be designated as primary. You cannot specify + // this option if you're launching more than one instance in a RunInstances + // request. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"` - // The number of secondary private IP addresses. You can't specify this option + // The number of secondary private IPv4 addresses. You can't specify this option // and specify more than one private IP address using the private IP addresses // option. You cannot specify this option if you're launching more than one // instance in a RunInstances request. @@ -35312,6 +36721,18 @@ func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *Instance return s } +// SetIpv6AddressCount sets the Ipv6AddressCount field's value. +func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification { + s.Ipv6AddressCount = &v + return s +} + +// SetIpv6Addresses sets the Ipv6Addresses field's value. +func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification { + s.Ipv6Addresses = v + return s +} + // SetNetworkInterfaceId sets the NetworkInterfaceId field's value. func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification { s.NetworkInterfaceId = &v @@ -35342,21 +36763,21 @@ func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceN return s } -// Describes a private IP address. +// Describes a private IPv4 address. type InstancePrivateIpAddress struct { _ struct{} `type:"structure"` // The association information for an Elastic IP address for the network interface. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"` - // Indicates whether this IP address is the primary private IP address of the - // network interface. + // Indicates whether this IPv4 address is the primary private IP address of + // the network interface. Primary *bool `locationName:"primary" type:"boolean"` - // The private DNS name. + // The private IPv4 DNS name. PrivateDnsName *string `locationName:"privateDnsName" type:"string"` - // The private IP address of the network interface. + // The private IPv4 address of the network interface. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` } @@ -35394,7 +36815,7 @@ func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivat return s } -// Describes the current state of the instance. +// Describes the current state of an instance. type InstanceState struct { _ struct{} `type:"structure"` @@ -35728,7 +37149,8 @@ func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway { return s } -// Describes the attachment of a VPC to an Internet gateway. +// Describes the attachment of a VPC to an Internet gateway or an egress-only +// Internet gateway. type InternetGatewayAttachment struct { _ struct{} `type:"structure"` @@ -35765,28 +37187,34 @@ func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachmen type IpPermission struct { _ struct{} `type:"structure"` - // The start of port range for the TCP and UDP protocols, or an ICMP type number. - // A value of -1 indicates all ICMP types. + // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 + // type number. A value of -1 indicates all ICMP/ICMPv6 types. FromPort *int64 `locationName:"fromPort" type:"integer"` - // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers - // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)). + // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)). // - // [EC2-VPC only] When you authorize or revoke security group rules, you can - // use -1 to specify all. + // [EC2-VPC only] Use -1 to specify all protocols. When authorizing security + // group rules, specifying -1 or a protocol number other than tcp, udp, icmp, + // or 58 (ICMPv6) allows traffic on all ports, regardless of any port range + // you specify. For tcp, udp, and icmp, you must specify a port range. For 58 + // (ICMPv6), you can optionally specify a port range; if you don't, traffic + // for all types and codes is allowed when authorizing rules. IpProtocol *string `locationName:"ipProtocol" type:"string"` - // One or more IP ranges. + // One or more IPv4 ranges. IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"` + // [EC2-VPC only] One or more IPv6 ranges. + Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"` + // (Valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress and DescribeSecurityGroups // only) One or more prefix list IDs for an AWS service. In an AuthorizeSecurityGroupEgress // request, this is the AWS service that you want to access through a VPC endpoint // from instances associated with the security group. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"` - // The end of port range for the TCP and UDP protocols, or an ICMP code. A value - // of -1 indicates all ICMP codes for the specified ICMP type. + // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. + // A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type. ToPort *int64 `locationName:"toPort" type:"integer"` // One or more security group and AWS account ID pairs. @@ -35821,6 +37249,12 @@ func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission { return s } +// SetIpv6Ranges sets the Ipv6Ranges field's value. +func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission { + s.Ipv6Ranges = v + return s +} + // SetPrefixListIds sets the PrefixListIds field's value. func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission { s.PrefixListIds = v @@ -35839,12 +37273,12 @@ func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission { return s } -// Describes an IP range. +// Describes an IPv4 range. type IpRange struct { _ struct{} `type:"structure"` - // The CIDR range. You can either specify a CIDR range or a source security - // group, not both. + // The IPv4 CIDR range. You can either specify a CIDR range or a source security + // group, not both. To specify a single IPv4 address, use the /32 prefix. CidrIp *string `locationName:"cidrIp" type:"string"` } @@ -35864,6 +37298,55 @@ func (s *IpRange) SetCidrIp(v string) *IpRange { return s } +// Describes an IPv6 CIDR block. +type Ipv6CidrBlock struct { + _ struct{} `type:"structure"` + + // The IPv6 CIDR block. + Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"` +} + +// String returns the string representation +func (s Ipv6CidrBlock) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Ipv6CidrBlock) GoString() string { + return s.String() +} + +// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. +func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock { + s.Ipv6CidrBlock = &v + return s +} + +// [EC2-VPC only] Describes an IPv6 range. +type Ipv6Range struct { + _ struct{} `type:"structure"` + + // The IPv6 CIDR range. You can either specify a CIDR range or a source security + // group, not both. To specify a single IPv6 address, use the /128 prefix. + CidrIpv6 *string `locationName:"cidrIpv6" type:"string"` +} + +// String returns the string representation +func (s Ipv6Range) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Ipv6Range) GoString() string { + return s.String() +} + +// SetCidrIpv6 sets the CidrIpv6 field's value. +func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range { + s.CidrIpv6 = &v + return s +} + // Describes a key pair. type KeyPairInfo struct { _ struct{} `type:"structure"` @@ -36004,10 +37487,11 @@ type LaunchSpecification struct { // The name of the key pair. KeyName *string `locationName:"keyName" type:"string"` - // Describes the monitoring for the instance. + // Describes the monitoring of an instance. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"` - // One or more network interfaces. + // One or more network interfaces. If you specify a network interface, you must + // specify subnet IDs and security group IDs using the network interface. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"` // The placement information for the instance. @@ -37223,8 +38707,16 @@ func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequest type ModifySubnetAttributeInput struct { _ struct{} `type:"structure"` - // Specify true to indicate that instances launched into the specified subnet - // should be assigned public IP address. + // Specify true to indicate that network interfaces created in the specified + // subnet should be assigned an IPv6 address. This includes a network interface + // that's created when launching an instance into the subnet (the instance therefore + // receives an IPv6 address). + AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"` + + // Specify true to indicate that network interfaces created in the specified + // subnet should be assigned a public IPv4 address. This includes a network + // interface that's created when launching an instance into the subnet (the + // instance therefore receives a public IPv4 address). MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"` // The ID of the subnet. @@ -37256,6 +38748,12 @@ func (s *ModifySubnetAttributeInput) Validate() error { return nil } +// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value. +func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput { + s.AssignIpv6AddressOnCreation = v + return s +} + // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value. func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput { s.MapPublicIpOnLaunch = v @@ -37707,7 +39205,7 @@ func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInp type MonitorInstancesOutput struct { _ struct{} `type:"structure"` - // Monitoring information for one or more instances. + // The monitoring information. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"` } @@ -37727,11 +39225,12 @@ func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) return s } -// Describes the monitoring for the instance. +// Describes the monitoring of an instance. type Monitoring struct { _ struct{} `type:"structure"` - // Indicates whether monitoring is enabled for the instance. + // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring + // is enabled. State *string `locationName:"state" type:"string" enum:"MonitoringState"` } @@ -38181,7 +39680,7 @@ func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation { type NetworkAclEntry struct { _ struct{} `type:"structure"` - // The network range to allow or deny, in CIDR notation. + // The IPv4 network range to allow or deny, in CIDR notation. CidrBlock *string `locationName:"cidrBlock" type:"string"` // Indicates whether the rule is an egress rule (applied to traffic leaving @@ -38191,6 +39690,9 @@ type NetworkAclEntry struct { // ICMP protocol: The ICMP type and code. IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"` + // The IPv6 network range to allow or deny, in CIDR notation. + Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"` + // TCP or UDP protocols: The range of ports the rule applies to. PortRange *PortRange `locationName:"portRange" type:"structure"` @@ -38233,6 +39735,12 @@ func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry { return s } +// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. +func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry { + s.Ipv6CidrBlock = &v + return s +} + // SetPortRange sets the PortRange field's value. func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry { s.PortRange = v @@ -38261,8 +39769,8 @@ func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry { type NetworkInterface struct { _ struct{} `type:"structure"` - // The association information for an Elastic IP associated with the network - // interface. + // The association information for an Elastic IP address (IPv4) associated with + // the network interface. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"` // The network interface attachment. @@ -38280,6 +39788,9 @@ type NetworkInterface struct { // The type of interface. InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"` + // The IPv6 addresses associated with the network interface. + Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"` + // The MAC address. MacAddress *string `locationName:"macAddress" type:"string"` @@ -38292,10 +39803,10 @@ type NetworkInterface struct { // The private DNS name. PrivateDnsName *string `locationName:"privateDnsName" type:"string"` - // The IP address of the network interface within the subnet. + // The IPv4 address of the network interface within the subnet. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` - // The private IP addresses associated with the network interface. + // The private IPv4 addresses associated with the network interface. PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"` // The ID of the entity that launched the instance on your behalf (for example, @@ -38367,6 +39878,12 @@ func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface { return s } +// SetIpv6Addresses sets the Ipv6Addresses field's value. +func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface { + s.Ipv6Addresses = v + return s +} + // SetMacAddress sets the MacAddress field's value. func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface { s.MacAddress = &v @@ -38445,7 +39962,7 @@ func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface { return s } -// Describes association information for an Elastic IP address. +// Describes association information for an Elastic IP address (IPv4 only). type NetworkInterfaceAssociation struct { _ struct{} `type:"structure"` @@ -38616,22 +40133,46 @@ func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *Netw return s } -// Describes the private IP address of a network interface. +// Describes an IPv6 address associated with a network interface. +type NetworkInterfaceIpv6Address struct { + _ struct{} `type:"structure"` + + // The IPv6 address. + Ipv6Address *string `locationName:"ipv6Address" type:"string"` +} + +// String returns the string representation +func (s NetworkInterfaceIpv6Address) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NetworkInterfaceIpv6Address) GoString() string { + return s.String() +} + +// SetIpv6Address sets the Ipv6Address field's value. +func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address { + s.Ipv6Address = &v + return s +} + +// Describes the private IPv4 address of a network interface. type NetworkInterfacePrivateIpAddress struct { _ struct{} `type:"structure"` - // The association information for an Elastic IP address associated with the - // network interface. + // The association information for an Elastic IP address (IPv4) associated with + // the network interface. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"` - // Indicates whether this IP address is the primary private IP address of the - // network interface. + // Indicates whether this IPv4 address is the primary private IPv4 address of + // the network interface. Primary *bool `locationName:"primary" type:"boolean"` // The private DNS name. PrivateDnsName *string `locationName:"privateDnsName" type:"string"` - // The private IP address. + // The private IPv4 address. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` } @@ -38789,7 +40330,7 @@ func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClas return s } -// Describes the placement for the instance. +// Describes the placement of an instance. type Placement struct { _ struct{} `type:"structure"` @@ -39133,15 +40674,15 @@ func (s *PricingDetail) SetPrice(v float64) *PricingDetail { return s } -// Describes a secondary private IP address for a network interface. +// Describes a secondary private IPv4 address for a network interface. type PrivateIpAddressSpecification struct { _ struct{} `type:"structure"` - // Indicates whether the private IP address is the primary private IP address. - // Only one IP address can be designated as primary. + // Indicates whether the private IPv4 address is the primary private IPv4 address. + // Only one IPv4 address can be designated as primary. Primary *bool `locationName:"primary" type:"boolean"` - // The private IP addresses. + // The private IPv4 addresses. // // PrivateIpAddress is a required field PrivateIpAddress *string `locationName:"privateIpAddress" type:"string" required:"true"` @@ -40420,10 +41961,8 @@ func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *Repl type ReplaceNetworkAclEntryInput struct { _ struct{} `type:"structure"` - // The network range to allow or deny, in CIDR notation. - // - // CidrBlock is a required field - CidrBlock *string `locationName:"cidrBlock" type:"string" required:"true"` + // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24). + CidrBlock *string `locationName:"cidrBlock" type:"string"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -40438,20 +41977,29 @@ type ReplaceNetworkAclEntryInput struct { // Egress is a required field Egress *bool `locationName:"egress" type:"boolean" required:"true"` - // ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for - // the protocol. + // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the + // ICMP (1) protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"` + // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64). + Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"` + // The ID of the ACL. // // NetworkAclId is a required field NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"` // TCP or UDP protocols: The range of ports the rule applies to. Required if - // specifying 6 (TCP) or 17 (UDP) for the protocol. + // specifying TCP (6) or UDP (17) for the protocol. PortRange *PortRange `locationName:"portRange" type:"structure"` - // The IP protocol. You can specify all or -1 to mean all protocols. + // The IP protocol. You can specify all or -1 to mean all protocols. If you + // specify all, -1, or a protocol number other than tcp, udp, or icmp, traffic + // on all ports is allowed, regardless of any ports or ICMP types or codes you + // specify. If you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block, + // traffic for all ICMP types and codes allowed, regardless of any that you + // specify. If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block, + // you must specify an ICMP type and code. // // Protocol is a required field Protocol *string `locationName:"protocol" type:"string" required:"true"` @@ -40480,9 +42028,6 @@ func (s ReplaceNetworkAclEntryInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ReplaceNetworkAclEntryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"} - if s.CidrBlock == nil { - invalidParams.Add(request.NewErrParamRequired("CidrBlock")) - } if s.Egress == nil { invalidParams.Add(request.NewErrParamRequired("Egress")) } @@ -40529,6 +42074,12 @@ func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceN return s } +// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. +func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput { + s.Ipv6CidrBlock = &v + return s +} + // SetNetworkAclId sets the NetworkAclId field's value. func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput { s.NetworkAclId = &v @@ -40577,11 +42128,13 @@ func (s ReplaceNetworkAclEntryOutput) GoString() string { type ReplaceRouteInput struct { _ struct{} `type:"structure"` - // The CIDR address block used for the destination match. The value you provide - // must match the CIDR of an existing route in the table. - // - // DestinationCidrBlock is a required field - DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"` + // The IPv4 CIDR address block used for the destination match. The value you + // provide must match the CIDR of an existing route in the table. + DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"` + + // The IPv6 CIDR address block used for the destination match. The value you + // provide must match the CIDR of an existing route in the table. + DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"` // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have @@ -40589,13 +42142,16 @@ type ReplaceRouteInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + // [IPv6 traffic only] The ID of an egress-only Internet gateway. + EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"` + // The ID of an Internet gateway or virtual private gateway. GatewayId *string `locationName:"gatewayId" type:"string"` // The ID of a NAT instance in your VPC. InstanceId *string `locationName:"instanceId" type:"string"` - // The ID of a NAT gateway. + // [IPv4 traffic only] The ID of a NAT gateway. NatGatewayId *string `locationName:"natGatewayId" type:"string"` // The ID of a network interface. @@ -40623,9 +42179,6 @@ func (s ReplaceRouteInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ReplaceRouteInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"} - if s.DestinationCidrBlock == nil { - invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock")) - } if s.RouteTableId == nil { invalidParams.Add(request.NewErrParamRequired("RouteTableId")) } @@ -40642,12 +42195,24 @@ func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput return s } +// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value. +func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput { + s.DestinationIpv6CidrBlock = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput { s.DryRun = &v return s } +// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value. +func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput { + s.EgressOnlyInternetGatewayId = &v + return s +} + // SetGatewayId sets the GatewayId field's value. func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput { s.GatewayId = &v @@ -41257,10 +42822,11 @@ type RequestSpotLaunchSpecification struct { // The name of the key pair. KeyName *string `locationName:"keyName" type:"string"` - // Describes the monitoring for the instance. + // Describes the monitoring of an instance. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"` - // One or more network interfaces. + // One or more network interfaces. If you specify a network interface, you must + // specify subnet IDs and security group IDs using the network interface. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"` // The placement information for the instance. @@ -41780,7 +43346,8 @@ type ReservedInstancesConfiguration struct { // EC2-Classic or EC2-VPC. Platform *string `locationName:"platform" type:"string"` - // Whether the Reserved Instance is standard or convertible. + // Whether the Reserved Instance is applied to instances in a region or instances + // in a specific Availability Zone. Scope *string `locationName:"scope" type:"string" enum:"scope"` } @@ -42925,12 +44492,18 @@ func (s RevokeSecurityGroupIngressOutput) GoString() string { type Route struct { _ struct{} `type:"structure"` - // The CIDR block used for the destination match. + // The IPv4 CIDR block used for the destination match. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"` + // The IPv6 CIDR block used for the destination match. + DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"` + // The prefix of the AWS service. DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"` + // The ID of the egress-only Internet gateway. + EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"` + // The ID of a gateway attached to your VPC. GatewayId *string `locationName:"gatewayId" type:"string"` @@ -42981,12 +44554,24 @@ func (s *Route) SetDestinationCidrBlock(v string) *Route { return s } +// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value. +func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route { + s.DestinationIpv6CidrBlock = &v + return s +} + // SetDestinationPrefixListId sets the DestinationPrefixListId field's value. func (s *Route) SetDestinationPrefixListId(v string) *Route { s.DestinationPrefixListId = &v return s } +// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value. +func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route { + s.EgressOnlyInternetGatewayId = &v + return s +} + // SetGatewayId sets the GatewayId field's value. func (s *Route) SetGatewayId(v string) *Route { s.GatewayId = &v @@ -43178,12 +44763,10 @@ type RunInstancesInput struct { ClientToken *string `locationName:"clientToken" type:"string"` // If you set this parameter to true, you can't terminate the instance using - // the Amazon EC2 console, CLI, or API; otherwise, you can. If you set this - // parameter to true and then later want to be able to terminate the instance, - // you must first change the value of the disableApiTermination attribute to - // false using ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior - // to terminate, you can terminate the instance by running the shutdown command - // from the instance. + // the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute + // to false after launch, use ModifyInstanceAttribute. Alternatively, if you + // set InstanceInitiatedShutdownBehavior to terminate, you can terminate the + // instance by running the shutdown command from the instance. // // Default: false DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"` @@ -43223,6 +44806,20 @@ type RunInstancesInput struct { // Default: m1.small InstanceType *string `type:"string" enum:"InstanceType"` + // [EC2-VPC] A number of IPv6 addresses to associate with the primary network + // interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + // You cannot specify this option and the option to assign specific IPv6 addresses + // in the same request. You can specify this option if you've specified a minimum + // number of instances to launch. + Ipv6AddressCount *int64 `type:"integer"` + + // [EC2-VPC] Specify one or more IPv6 addresses from the range of the subnet + // to associate with the primary network interface. You cannot specify this + // option and the option to assign a number of IPv6 addresses in the same request. + // You cannot specify this option if you've specified a minimum number of instances + // to launch. + Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"` + // The ID of the kernel. // // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more @@ -43270,17 +44867,13 @@ type RunInstancesInput struct { // The placement for the instance. Placement *Placement `type:"structure"` - // [EC2-VPC] The primary IP address. You must specify a value from the IP address - // range of the subnet. + // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 + // address range of the subnet. // - // Only one private IP address can be designated as primary. Therefore, you - // can't specify this parameter if PrivateIpAddresses.n.Primary is set to true - // and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address. - // - // You cannot specify this option if you're launching more than one instance - // in the request. - // - // Default: We select an IP address from the IP address range of the subnet. + // Only one private IP address can be designated as primary. You can't specify + // this option if you've specified the option to designate a private IP address + // as the primary IP address in a network interface specification. You cannot + // specify this option if you're launching more than one instance in the request. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"` // The ID of the RAM disk. @@ -43417,6 +45010,18 @@ func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput { return s } +// SetIpv6AddressCount sets the Ipv6AddressCount field's value. +func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput { + s.Ipv6AddressCount = &v + return s +} + +// SetIpv6Addresses sets the Ipv6Addresses field's value. +func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput { + s.Ipv6Addresses = v + return s +} + // SetKernelId sets the KernelId field's value. func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput { s.KernelId = &v @@ -43495,11 +45100,12 @@ func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput { return s } -// Describes the monitoring for the instance. +// Describes the monitoring of an instance. type RunInstancesMonitoringEnabled struct { _ struct{} `type:"structure"` - // Indicates whether monitoring is enabled for the instance. + // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring + // is enabled. // // Enabled is a required field Enabled *bool `locationName:"enabled" type:"boolean" required:"true"` @@ -44315,6 +45921,30 @@ func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInsta return s } +// Describes an IPv6 address. +type ScheduledInstancesIpv6Address struct { + _ struct{} `type:"structure"` + + // The IPv6 address. + Ipv6Address *string `type:"string"` +} + +// String returns the string representation +func (s ScheduledInstancesIpv6Address) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScheduledInstancesIpv6Address) GoString() string { + return s.String() +} + +// SetIpv6Address sets the Ipv6Address field's value. +func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address { + s.Ipv6Address = &v + return s +} + // Describes the launch specification for a Scheduled Instance. // // If you are launching the Scheduled Instance in EC2-VPC, you must specify @@ -44509,8 +46139,8 @@ func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMon type ScheduledInstancesNetworkInterface struct { _ struct{} `type:"structure"` - // Indicates whether to assign a public IP address to instances launched in - // a VPC. The public IP address can only be assigned to a network interface + // Indicates whether to assign a public IPv4 address to instances launched in + // a VPC. The public IPv4 address can only be assigned to a network interface // for eth0, and can only be assigned to a new network interface, not an existing // one. You cannot specify more than one network interface in the request. If // launching into a default subnet, the default value is true. @@ -44528,16 +46158,23 @@ type ScheduledInstancesNetworkInterface struct { // The IDs of one or more security groups. Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"` + // The number of IPv6 addresses to assign to the network interface. The IPv6 + // addresses are automatically selected from the subnet range. + Ipv6AddressCount *int64 `type:"integer"` + + // One or more specific IPv6 addresses from the subnet range. + Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"` + // The ID of the network interface. NetworkInterfaceId *string `type:"string"` - // The IP address of the network interface within the subnet. + // The IPv4 address of the network interface within the subnet. PrivateIpAddress *string `type:"string"` - // The private IP addresses. + // The private IPv4 addresses. PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"` - // The number of secondary private IP addresses. + // The number of secondary private IPv4 addresses. SecondaryPrivateIpAddressCount *int64 `type:"integer"` // The ID of the subnet. @@ -44584,6 +46221,18 @@ func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledIn return s } +// SetIpv6AddressCount sets the Ipv6AddressCount field's value. +func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface { + s.Ipv6AddressCount = &v + return s +} + +// SetIpv6Addresses sets the Ipv6Addresses field's value. +func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface { + s.Ipv6Addresses = v + return s +} + // SetNetworkInterfaceId sets the NetworkInterfaceId field's value. func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface { s.NetworkInterfaceId = &v @@ -44647,15 +46296,15 @@ func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstances return s } -// Describes a private IP address for a Scheduled Instance. +// Describes a private IPv4 address for a Scheduled Instance. type ScheduledInstancesPrivateIpAddressConfig struct { _ struct{} `type:"structure"` - // Indicates whether this is a primary IP address. Otherwise, this is a secondary - // IP address. + // Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary + // IPv4 address. Primary *bool `type:"boolean"` - // The IP address. + // The IPv4 address. PrivateIpAddress *string `type:"string"` } @@ -45400,7 +47049,7 @@ type SpotFleetLaunchSpecification struct { // The ID of the AMI. ImageId *string `locationName:"imageId" type:"string"` - // The instance type. + // The instance type. Note that T2 and HS1 instance types are not supported. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` // The ID of the kernel. @@ -45412,7 +47061,8 @@ type SpotFleetLaunchSpecification struct { // Enable or disable monitoring for the instances. Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"` - // One or more network interfaces. + // One or more network interfaces. If you specify a network interface, you must + // specify subnet IDs and security group IDs using the network interface. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"` // The placement information. @@ -46180,7 +47830,7 @@ type SpotPrice struct { // The Availability Zone. AvailabilityZone *string `locationName:"availabilityZone" type:"string"` - // The instance type. + // The instance type. Note that T2 and HS1 instance types are not supported. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` // A general description of the AMI. @@ -46636,20 +48286,28 @@ func (s *Storage) SetS3(v *S3Storage) *Storage { type Subnet struct { _ struct{} `type:"structure"` + // Indicates whether a network interface created in this subnet (including a + // network interface created by RunInstances) receives an IPv6 address. + AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"` + // The Availability Zone of the subnet. AvailabilityZone *string `locationName:"availabilityZone" type:"string"` - // The number of unused IP addresses in the subnet. Note that the IP addresses - // for any stopped instances are considered unavailable. + // The number of unused private IPv4 addresses in the subnet. Note that the + // IPv4 addresses for any stopped instances are considered unavailable. AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"` - // The CIDR block assigned to the subnet. + // The IPv4 CIDR block assigned to the subnet. CidrBlock *string `locationName:"cidrBlock" type:"string"` // Indicates whether this is the default subnet for the Availability Zone. DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"` - // Indicates whether instances launched in this subnet receive a public IP address. + // Information about the IPv6 CIDR blocks associated with the subnet. + Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"` + + // Indicates whether instances launched in this subnet receive a public IPv4 + // address. MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"` // The current state of the subnet. @@ -46675,6 +48333,12 @@ func (s Subnet) GoString() string { return s.String() } +// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value. +func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet { + s.AssignIpv6AddressOnCreation = &v + return s +} + // SetAvailabilityZone sets the AvailabilityZone field's value. func (s *Subnet) SetAvailabilityZone(v string) *Subnet { s.AvailabilityZone = &v @@ -46699,6 +48363,12 @@ func (s *Subnet) SetDefaultForAz(v bool) *Subnet { return s } +// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value. +func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet { + s.Ipv6CidrBlockAssociationSet = v + return s +} + // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value. func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet { s.MapPublicIpOnLaunch = &v @@ -46729,6 +48399,81 @@ func (s *Subnet) SetVpcId(v string) *Subnet { return s } +// Describes the state of a CIDR block. +type SubnetCidrBlockState struct { + _ struct{} `type:"structure"` + + // The state of a CIDR block. + State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"` + + // A message about the status of the CIDR block, if applicable. + StatusMessage *string `locationName:"statusMessage" type:"string"` +} + +// String returns the string representation +func (s SubnetCidrBlockState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubnetCidrBlockState) GoString() string { + return s.String() +} + +// SetState sets the State field's value. +func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState { + s.State = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState { + s.StatusMessage = &v + return s +} + +// Describes an IPv6 CIDR block associated with a subnet. +type SubnetIpv6CidrBlockAssociation struct { + _ struct{} `type:"structure"` + + // The association ID for the CIDR block. + AssociationId *string `locationName:"associationId" type:"string"` + + // The IPv6 CIDR block. + Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"` + + // Information about the state of the CIDR block. + Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"` +} + +// String returns the string representation +func (s SubnetIpv6CidrBlockAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubnetIpv6CidrBlockAssociation) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation { + s.AssociationId = &v + return s +} + +// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. +func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation { + s.Ipv6CidrBlock = &v + return s +} + +// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value. +func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation { + s.Ipv6CidrBlockState = v + return s +} + // Describes a tag. type Tag struct { _ struct{} `type:"structure"` @@ -46861,9 +48606,7 @@ type TargetConfigurationRequest struct { // applied to. This parameter is reserved and cannot be specified in a request InstanceCount *int64 `type:"integer"` - // The Convertible Reserved Instance offering ID. If this isn't included in - // the request, the response lists your current Convertible Reserved Instance/s - // and their value/s. + // The Convertible Reserved Instance offering ID. // // OfferingId is a required field OfferingId *string `type:"string" required:"true"` @@ -47018,6 +48761,90 @@ func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateCha return s } +type UnassignIpv6AddressesInput struct { + _ struct{} `type:"structure"` + + // The IPv6 addresses to unassign from the network interface. + // + // Ipv6Addresses is a required field + Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"` + + // The ID of the network interface. + // + // NetworkInterfaceId is a required field + NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"` +} + +// String returns the string representation +func (s UnassignIpv6AddressesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UnassignIpv6AddressesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UnassignIpv6AddressesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"} + if s.Ipv6Addresses == nil { + invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses")) + } + if s.NetworkInterfaceId == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIpv6Addresses sets the Ipv6Addresses field's value. +func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput { + s.Ipv6Addresses = v + return s +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput { + s.NetworkInterfaceId = &v + return s +} + +type UnassignIpv6AddressesOutput struct { + _ struct{} `type:"structure"` + + // The ID of the network interface. + NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"` + + // The IPv6 addresses that have been unassigned from the network interface. + UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s UnassignIpv6AddressesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UnassignIpv6AddressesOutput) GoString() string { + return s.String() +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput { + s.NetworkInterfaceId = &v + return s +} + +// SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value. +func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput { + s.UnassignedIpv6Addresses = v + return s +} + // Contains the parameters for UnassignPrivateIpAddresses. type UnassignPrivateIpAddressesInput struct { _ struct{} `type:"structure"` @@ -47141,7 +48968,7 @@ func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstance type UnmonitorInstancesOutput struct { _ struct{} `type:"structure"` - // Monitoring information for one or more instances. + // The monitoring information. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"` } @@ -47949,7 +49776,7 @@ func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusIte type Vpc struct { _ struct{} `type:"structure"` - // The CIDR block for the VPC. + // The IPv4 CIDR block for the VPC. CidrBlock *string `locationName:"cidrBlock" type:"string"` // The ID of the set of DHCP options you've associated with the VPC (or default @@ -47959,6 +49786,9 @@ type Vpc struct { // The allowed tenancy of instances launched into the VPC. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"` + // Information about the IPv6 CIDR blocks associated with the VPC. + Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"` + // Indicates whether the VPC is the default VPC. IsDefault *bool `locationName:"isDefault" type:"boolean"` @@ -48000,6 +49830,12 @@ func (s *Vpc) SetInstanceTenancy(v string) *Vpc { return s } +// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value. +func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc { + s.Ipv6CidrBlockAssociationSet = v + return s +} + // SetIsDefault sets the IsDefault field's value. func (s *Vpc) SetIsDefault(v bool) *Vpc { s.IsDefault = &v @@ -48057,6 +49893,39 @@ func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment { return s } +// Describes the state of a CIDR block. +type VpcCidrBlockState struct { + _ struct{} `type:"structure"` + + // The state of the CIDR block. + State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"` + + // A message about the status of the CIDR block, if applicable. + StatusMessage *string `locationName:"statusMessage" type:"string"` +} + +// String returns the string representation +func (s VpcCidrBlockState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcCidrBlockState) GoString() string { + return s.String() +} + +// SetState sets the State field's value. +func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState { + s.State = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState { + s.StatusMessage = &v + return s +} + // Describes whether a VPC is enabled for ClassicLink. type VpcClassicLink struct { _ struct{} `type:"structure"` @@ -48177,6 +50046,48 @@ func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint { return s } +// Describes an IPv6 CIDR block associated with a VPC. +type VpcIpv6CidrBlockAssociation struct { + _ struct{} `type:"structure"` + + // The association ID for the IPv6 CIDR block. + AssociationId *string `locationName:"associationId" type:"string"` + + // The IPv6 CIDR block. + Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"` + + // Information about the state of the CIDR block. + Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"` +} + +// String returns the string representation +func (s VpcIpv6CidrBlockAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VpcIpv6CidrBlockAssociation) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation { + s.AssociationId = &v + return s +} + +// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. +func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation { + s.Ipv6CidrBlock = &v + return s +} + +// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value. +func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation { + s.Ipv6CidrBlockState = v + return s +} + // Describes a VPC peering connection. type VpcPeeringConnection struct { _ struct{} `type:"structure"` @@ -48330,9 +50241,12 @@ func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnec type VpcPeeringConnectionVpcInfo struct { _ struct{} `type:"structure"` - // The CIDR block for the VPC. + // The IPv4 CIDR block for the VPC. CidrBlock *string `locationName:"cidrBlock" type:"string"` + // The IPv6 CIDR block for the VPC. + Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"` + // The AWS account ID of the VPC owner. OwnerId *string `locationName:"ownerId" type:"string"` @@ -48360,6 +50274,12 @@ func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnecti return s } +// SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value. +func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo { + s.Ipv6CidrBlockSet = v + return s +} + // SetOwnerId sets the OwnerId field's value. func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo { s.OwnerId = &v @@ -49296,6 +51216,12 @@ const ( // InstanceTypeD28xlarge is a InstanceType enum value InstanceTypeD28xlarge = "d2.8xlarge" + + // InstanceTypeF12xlarge is a InstanceType enum value + InstanceTypeF12xlarge = "f1.2xlarge" + + // InstanceTypeF116xlarge is a InstanceType enum value + InstanceTypeF116xlarge = "f1.16xlarge" ) const ( @@ -49750,6 +51676,26 @@ const ( StatusTypeInitializing = "initializing" ) +const ( + // SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value + SubnetCidrBlockStateCodeAssociating = "associating" + + // SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value + SubnetCidrBlockStateCodeAssociated = "associated" + + // SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value + SubnetCidrBlockStateCodeDisassociating = "disassociating" + + // SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value + SubnetCidrBlockStateCodeDisassociated = "disassociated" + + // SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value + SubnetCidrBlockStateCodeFailing = "failing" + + // SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value + SubnetCidrBlockStateCodeFailed = "failed" +) + const ( // SubnetStatePending is a SubnetState enum value SubnetStatePending = "pending" @@ -49899,6 +51845,26 @@ const ( VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames" ) +const ( + // VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value + VpcCidrBlockStateCodeAssociating = "associating" + + // VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value + VpcCidrBlockStateCodeAssociated = "associated" + + // VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value + VpcCidrBlockStateCodeDisassociating = "disassociating" + + // VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value + VpcCidrBlockStateCodeDisassociated = "disassociated" + + // VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value + VpcCidrBlockStateCodeFailing = "failing" + + // VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value + VpcCidrBlockStateCodeFailed = "failed" +) + const ( // VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go index b30c5e0d6..eeea361c7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go @@ -54,7 +54,7 @@ func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegio ServiceName: ServiceName, SigningRegion: signingRegion, Endpoint: endpoint, - APIVersion: "2016-09-15", + APIVersion: "2016-11-15", }, handlers, ), diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go index c7da1bf7e..5d481072c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go @@ -422,6 +422,9 @@ func (c *ElasticBeanstalk) CreateApplicationVersionRequest(input *CreateApplicat // The specified S3 bucket does not belong to the S3 region in which the service // is running. // +// * CodeBuildNotInServiceRegionException +// The CodeBuild service is not supported in this region. +// func (c *ElasticBeanstalk) CreateApplicationVersion(input *CreateApplicationVersionInput) (*ApplicationVersionDescriptionMessage, error) { req, out := c.CreateApplicationVersionRequest(input) err := req.Send() @@ -988,8 +991,7 @@ func (c *ElasticBeanstalk) DescribeApplicationVersionsRequest(input *DescribeApp // DescribeApplicationVersions API operation for AWS Elastic Beanstalk. // -// Retrieve a list of application versions stored in your AWS Elastic Beanstalk -// storage bucket. +// Retrieve a list of application versions. // // 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 @@ -1665,9 +1667,8 @@ func (c *ElasticBeanstalk) DescribeInstancesHealthRequest(input *DescribeInstanc // DescribeInstancesHealth API operation for AWS Elastic Beanstalk. // -// Returns more detailed information about the health of the specified instances -// (for example, CPU utilization, load average, and causes). The DescribeInstancesHealth -// operation is only available with AWS Elastic Beanstalk Enhanced Health. +// Retrives detailed information about the health of instances in your AWS Elastic +// Beanstalk. This operation requires enhanced health reporting (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced.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 @@ -2647,7 +2648,7 @@ func (s *ApplicationDescriptionMessage) SetApplication(v *ApplicationDescription return s } -// Represents the application metrics for a specified environment. +// Application request metrics for an AWS Elastic Beanstalk environment. type ApplicationMetrics struct { _ struct{} `type:"structure"` @@ -2707,27 +2708,32 @@ func (s *ApplicationMetrics) SetStatusCodes(v *StatusCodes) *ApplicationMetrics type ApplicationVersionDescription struct { _ struct{} `type:"structure"` - // The name of the application associated with this release. + // The name of the application to which the application version belongs. ApplicationName *string `min:"1" type:"string"` + BuildArn *string `type:"string"` + // The creation date of the application version. DateCreated *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The last modified date of the application version. DateUpdated *time.Time `type:"timestamp" timestampFormat:"iso8601"` - // The description of this application version. + // The description of the application version. Description *string `type:"string"` + // If the version's source code was retrieved from AWS CodeCommit, the location + // of the source code for the application version. SourceBuildInformation *SourceBuildInformation `type:"structure"` - // The location where the source bundle is located for this version. + // The storage location of the application version's source bundle in Amazon + // S3. SourceBundle *S3Location `type:"structure"` // The processing status of the application version. Status *string `type:"string" enum:"ApplicationVersionStatus"` - // A label uniquely identifying the version for the associated application. + // A unique identifier for the application version. VersionLabel *string `min:"1" type:"string"` } @@ -2747,6 +2753,12 @@ func (s *ApplicationVersionDescription) SetApplicationName(v string) *Applicatio return s } +// SetBuildArn sets the BuildArn field's value. +func (s *ApplicationVersionDescription) SetBuildArn(v string) *ApplicationVersionDescription { + s.BuildArn = &v + return s +} + // SetDateCreated sets the DateCreated field's value. func (s *ApplicationVersionDescription) SetDateCreated(v time.Time) *ApplicationVersionDescription { s.DateCreated = &v @@ -2945,9 +2957,79 @@ func (s *AutoScalingGroup) SetName(v string) *AutoScalingGroup { return s } -// Represents CPU utilization information from the specified instance that belongs -// to the AWS Elastic Beanstalk environment. Use the instanceId property to -// specify the application instance for which you'd like to return data. +type BuildConfiguration struct { + _ struct{} `type:"structure"` + + ArtifactName *string `type:"string"` + + // CodeBuildServiceRole is a required field + CodeBuildServiceRole *string `type:"string" required:"true"` + + ComputeType *string `type:"string" enum:"ComputeType"` + + // Image is a required field + Image *string `type:"string" required:"true"` + + TimeoutInMinutes *int64 `type:"integer"` +} + +// String returns the string representation +func (s BuildConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BuildConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BuildConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BuildConfiguration"} + if s.CodeBuildServiceRole == nil { + invalidParams.Add(request.NewErrParamRequired("CodeBuildServiceRole")) + } + if s.Image == nil { + invalidParams.Add(request.NewErrParamRequired("Image")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArtifactName sets the ArtifactName field's value. +func (s *BuildConfiguration) SetArtifactName(v string) *BuildConfiguration { + s.ArtifactName = &v + return s +} + +// SetCodeBuildServiceRole sets the CodeBuildServiceRole field's value. +func (s *BuildConfiguration) SetCodeBuildServiceRole(v string) *BuildConfiguration { + s.CodeBuildServiceRole = &v + return s +} + +// SetComputeType sets the ComputeType field's value. +func (s *BuildConfiguration) SetComputeType(v string) *BuildConfiguration { + s.ComputeType = &v + return s +} + +// SetImage sets the Image field's value. +func (s *BuildConfiguration) SetImage(v string) *BuildConfiguration { + s.Image = &v + return s +} + +// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. +func (s *BuildConfiguration) SetTimeoutInMinutes(v int64) *BuildConfiguration { + s.TimeoutInMinutes = &v + return s +} + +// CPU utilization metrics for an instance. type CPUUtilization struct { _ struct{} `type:"structure"` @@ -3570,20 +3652,12 @@ type CreateApplicationVersionInput struct { // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` - // Determines how the system behaves if the specified application for this version - // does not already exist: - // - // * true : Automatically creates the specified application for this release - // if it does not already exist. - // - // * false : Throws an InvalidParameterValue if the specified application - // for this release does not already exist. - // - // Default: false - // - // Valid Values: true | false + // Set to true to create an application with the specified name if it doesn't + // already exist. AutoCreateApplication *bool `type:"boolean"` + BuildConfiguration *BuildConfiguration `type:"structure"` + // Describes this version. Description *string `type:"string"` @@ -3592,19 +3666,20 @@ type CreateApplicationVersionInput struct { // prior to deploying the application version to an environment. Process *bool `type:"boolean"` + // Specify a commit in an AWS CodeCommit Git repository to use as the source + // code for the application version. + // + // Specify a commit in an AWS CodeCommit repository or a source bundle in S3 + // (with SourceBundle), but not both. If neither SourceBundle nor SourceBuildInformation + // are provided, Elastic Beanstalk uses a sample application. SourceBuildInformation *SourceBuildInformation `type:"structure"` // The Amazon S3 bucket and key that identify the location of the source bundle // for this version. // - // If data found at the Amazon S3 location exceeds the maximum allowed source - // bundle size, AWS Elastic Beanstalk returns an InvalidParameterValue error. - // The maximum size allowed is 512 MB. - // - // Default: If not specified, AWS Elastic Beanstalk uses a sample application. - // If only partially specified (for example, a bucket is provided but not the - // key) or if no data is found at the Amazon S3 location, AWS Elastic Beanstalk - // returns an InvalidParameterCombination error. + // Specify a source bundle in S3 or a commit in an AWS CodeCommit repository + // (with SourceBuildInformation), but not both. If neither SourceBundle nor + // SourceBuildInformation are provided, Elastic Beanstalk uses a sample application. SourceBundle *S3Location `type:"structure"` // A label identifying this version. @@ -3642,6 +3717,11 @@ func (s *CreateApplicationVersionInput) Validate() error { if s.VersionLabel != nil && len(*s.VersionLabel) < 1 { invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1)) } + if s.BuildConfiguration != nil { + if err := s.BuildConfiguration.Validate(); err != nil { + invalidParams.AddNested("BuildConfiguration", err.(request.ErrInvalidParams)) + } + } if s.SourceBuildInformation != nil { if err := s.SourceBuildInformation.Validate(); err != nil { invalidParams.AddNested("SourceBuildInformation", err.(request.ErrInvalidParams)) @@ -3666,6 +3746,12 @@ func (s *CreateApplicationVersionInput) SetAutoCreateApplication(v bool) *Create return s } +// SetBuildConfiguration sets the BuildConfiguration field's value. +func (s *CreateApplicationVersionInput) SetBuildConfiguration(v *BuildConfiguration) *CreateApplicationVersionInput { + s.BuildConfiguration = v + return s +} + // SetDescription sets the Description field's value. func (s *CreateApplicationVersionInput) SetDescription(v string) *CreateApplicationVersionInput { s.Description = &v @@ -4181,20 +4267,14 @@ func (s DeleteApplicationOutput) GoString() string { type DeleteApplicationVersionInput struct { _ struct{} `type:"structure"` - // The name of the application to delete releases from. + // The name of the application to which the version belongs. // // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` - // Indicates whether to delete the associated source bundle from Amazon S3: - // - // * true: An attempt is made to delete the associated Amazon S3 source bundle - // specified at time of creation. - // - // * false: No action is taken on the Amazon S3 source bundle specified at - // time of creation. - // - // Valid Values: true | false + // Set to true to delete the source bundle from your storage bucket. Otherwise, + // the application version is deleted only from Elastic Beanstalk and the source + // bundle remains in Amazon S3. DeleteSourceBundle *bool `type:"boolean"` // The label of the version to delete. @@ -4473,12 +4553,11 @@ func (s *Deployment) SetVersionLabel(v string) *Deployment { return s } -// Result message containing a list of configuration descriptions. +// Request to describe application versions. type DescribeApplicationVersionsInput struct { _ struct{} `type:"structure"` - // If specified, AWS Elastic Beanstalk restricts the returned descriptions to - // only include ones that are associated with the specified application. + // Specify an application name to show only application versions for that application. ApplicationName *string `min:"1" type:"string"` // Specify a maximum number of application versions to paginate in the request. @@ -4487,8 +4566,7 @@ type DescribeApplicationVersionsInput struct { // Specify a next token to retrieve the next page in a paginated request. NextToken *string `type:"string"` - // If specified, restricts the returned descriptions to only include ones that - // have the specified version labels. + // Specify a version label to show a specific application version. VersionLabels []*string `type:"list"` } @@ -4546,7 +4624,7 @@ func (s *DescribeApplicationVersionsInput) SetVersionLabels(v []*string) *Descri type DescribeApplicationVersionsOutput struct { _ struct{} `type:"structure"` - // List of ApplicationVersionDescription objects sorted by order of creation. + // List of ApplicationVersionDescription objects sorted in order of creation. ApplicationVersions []*ApplicationVersionDescription `type:"list"` // For a paginated request, the token that you can pass in a subsequent request @@ -4855,22 +4933,18 @@ func (s *DescribeConfigurationSettingsOutput) SetConfigurationSettings(v []*Conf type DescribeEnvironmentHealthInput struct { _ struct{} `type:"structure"` - // Specifies the response elements you wish to receive. If no attribute names - // are specified, AWS Elastic Beanstalk only returns the name of the environment. + // Specify the response elements to return. To retrieve all attributes, set + // to All. If no attribute names are specified, returns the name of the environment. AttributeNames []*string `type:"list"` - // Specifies the AWS Elastic Beanstalk environment ID. + // Specify the environment by ID. // - // Condition: You must specify either this or an EnvironmentName, or both. If - // you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter - // error. + // You must specify either this or an EnvironmentName, or both. EnvironmentId *string `type:"string"` - // Specifies the AWS Elastic Beanstalk environment name. + // Specify the environment by name. // - // Condition: You must specify either this or an EnvironmentId, or both. If - // you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter - // error. + // You must specify either this or an EnvironmentName, or both. EnvironmentName *string `min:"4" type:"string"` } @@ -4915,35 +4989,36 @@ func (s *DescribeEnvironmentHealthInput) SetEnvironmentName(v string) *DescribeE return s } -// See the example below for a sample response. +// Health details for an AWS Elastic Beanstalk environment. type DescribeEnvironmentHealthOutput struct { _ struct{} `type:"structure"` - // Represents the application metrics for a specified environment. + // Application request metrics for the environment. ApplicationMetrics *ApplicationMetrics `type:"structure"` - // Returns potential causes for the reported status. + // Descriptions of the data that contributed to the environment's current health + // status. Causes []*string `type:"list"` - // Returns the color indicator that tells you information about the health of - // the environment. For more information, see Health Colors and Statuses (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html). + // The health color (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html) + // of the environment. Color *string `type:"string"` - // The AWS Elastic Beanstalk environment name. + // The environment's name. EnvironmentName *string `min:"4" type:"string"` - // Contains the response body with information about the health of the environment. + // The health status (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html) + // of the environment. For example, Ok. HealthStatus *string `type:"string"` - // Represents summary information about the health of an instance. For more - // information, see Health Colors and Statuses (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html). + // Summary health information for the instances in the environment. InstancesHealth *InstanceHealthSummary `type:"structure"` - // The date and time the information was last refreshed. + // The date and time that the health information was retrieved. RefreshedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` - // Returns the health status value of the environment. For more information, - // see Health Colors and Statuses (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html). + // The environment's operational status. Ready, Launching, Updating, Terminating, + // or Terminated. Status *string `type:"string" enum:"EnvironmentHealth"` } @@ -5525,21 +5600,21 @@ func (s *DescribeEventsOutput) SetNextToken(v string) *DescribeEventsOutput { return s } -// See the example below to learn how to create a request body. +// Parameters for a call to DescribeInstancesHealth. type DescribeInstancesHealthInput struct { _ struct{} `type:"structure"` - // Specifies the response elements you wish to receive. If no attribute names - // are specified, AWS Elastic Beanstalk only returns a list of instances. + // Specifies the response elements you wish to receive. To retrieve all attributes, + // set to All. If no attribute names are specified, returns a list of instances. AttributeNames []*string `type:"list"` - // Specifies the AWS Elastic Beanstalk environment ID. + // Specify the AWS Elastic Beanstalk environment by ID. EnvironmentId *string `type:"string"` - // Specifies the AWS Elastic Beanstalk environment name. + // Specify the AWS Elastic Beanstalk environment by name. EnvironmentName *string `min:"4" type:"string"` - // Specifies the next token of the request. + // Specify the pagination token returned by a previous call. NextToken *string `min:"1" type:"string"` } @@ -5593,17 +5668,18 @@ func (s *DescribeInstancesHealthInput) SetNextToken(v string) *DescribeInstances return s } -// See the example below for a sample response. +// Detailed health information about the Amazon EC2 instances in an AWS Elastic +// Beanstalk environment. type DescribeInstancesHealthOutput struct { _ struct{} `type:"structure"` - // Contains the response body with information about the health of the instance. + // Detailed health information about each instance. InstanceHealthList []*SingleInstanceHealth `type:"list"` - // The next token. + // Pagination token for the next page of results, if available. NextToken *string `min:"1" type:"string"` - // The date and time the information was last refreshed. + // The date and time that the health information was retrieved. RefreshedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` } @@ -7165,7 +7241,7 @@ func (s *RetrieveEnvironmentInfoOutput) SetEnvironmentInfo(v []*EnvironmentInfoD return s } -// A specification of a location in Amazon S3. +// The bucket and key of an item stored in Amazon S3. type S3Location struct { _ struct{} `type:"structure"` @@ -7198,13 +7274,12 @@ func (s *S3Location) SetS3Key(v string) *S3Location { return s } -// Represents health information from the specified instance that belongs to -// the AWS Elastic Beanstalk environment. Use the InstanceId property to specify -// the application instance for which you'd like to return data. +// Detailed health information about an Amazon EC2 instance in your Elastic +// Beanstalk environment. type SingleInstanceHealth struct { _ struct{} `type:"structure"` - // Represents the application metrics for a specified environment. + // Request metrics from your application. ApplicationMetrics *ApplicationMetrics `type:"structure"` // The availability zone in which the instance runs. @@ -7235,8 +7310,7 @@ type SingleInstanceHealth struct { // The time at which the EC2 instance was launched. LaunchedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` - // Represents CPU utilization and load average information for applications - // running in the specified environment. + // Operating system metrics from the instance. System *SystemStatus `type:"structure"` } @@ -7343,15 +7417,23 @@ func (s *SolutionStackDescription) SetSolutionStackName(v string) *SolutionStack return s } +// Location of the source code for an application version. type SourceBuildInformation struct { _ struct{} `type:"structure"` + // The repository name and commit ID, separated by a forward slash. For example, + // my-repo/265cfa0cf6af46153527f55d6503ec030551f57a. + // // SourceLocation is a required field SourceLocation *string `min:"3" type:"string" required:"true"` + // Location where the repository is stored, such as CodeCommit. + // // SourceRepository is a required field SourceRepository *string `type:"string" required:"true" enum:"SourceRepository"` + // The type of repository, such as Git. + // // SourceType is a required field SourceType *string `type:"string" required:"true" enum:"SourceType"` } @@ -7609,14 +7691,11 @@ func (s SwapEnvironmentCNAMEsOutput) GoString() string { return s.String() } -// Represents CPU utilization and load average information for applications -// running in the specified environment. +// CPU utilization and load average metrics for an Amazon EC2 instance. type SystemStatus struct { _ struct{} `type:"structure"` - // Represents CPU utilization information from the specified instance that belongs - // to the AWS Elastic Beanstalk environment. Use the instanceId property to - // specify the application instance for which you'd like to return data. + // CPU utilization metrics for the instance. CPUUtilization *CPUUtilization `type:"structure"` // Load average in the last 1-minute and 5-minute periods. For more information, @@ -7870,7 +7949,7 @@ type UpdateApplicationVersionInput struct { // ApplicationName is a required field ApplicationName *string `min:"1" type:"string" required:"true"` - // A new description for this release. + // A new description for this version. Description *string `type:"string"` // The name of the version to update. @@ -8361,8 +8440,10 @@ type ValidationMessage struct { // A message describing the error or warning. Message *string `type:"string"` + // The namespace to which the option belongs. Namespace *string `type:"string"` + // The name of the option. OptionName *string `type:"string"` // An indication of the severity of this message: @@ -8457,6 +8538,20 @@ const ( // ApplicationVersionStatusProcessing is a ApplicationVersionStatus enum value ApplicationVersionStatusProcessing = "Processing" + + // ApplicationVersionStatusBuilding is a ApplicationVersionStatus enum value + ApplicationVersionStatusBuilding = "Building" +) + +const ( + // ComputeTypeBuildGeneral1Small is a ComputeType enum value + ComputeTypeBuildGeneral1Small = "BUILD_GENERAL1_SMALL" + + // ComputeTypeBuildGeneral1Medium is a ComputeType enum value + ComputeTypeBuildGeneral1Medium = "BUILD_GENERAL1_MEDIUM" + + // ComputeTypeBuildGeneral1Large is a ComputeType enum value + ComputeTypeBuildGeneral1Large = "BUILD_GENERAL1_LARGE" ) const ( @@ -8650,11 +8745,17 @@ const ( const ( // SourceRepositoryCodeCommit is a SourceRepository enum value SourceRepositoryCodeCommit = "CodeCommit" + + // SourceRepositoryS3 is a SourceRepository enum value + SourceRepositoryS3 = "S3" ) const ( // SourceTypeGit is a SourceType enum value SourceTypeGit = "Git" + + // SourceTypeZip is a SourceType enum value + SourceTypeZip = "Zip" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go b/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go index 176c363e8..6c916789a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go @@ -636,6 +636,79 @@ func (c *Lambda) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutp return out, err } +const opGetAccountSettings = "GetAccountSettings" + +// GetAccountSettingsRequest generates a "aws/request.Request" representing the +// client's request for the GetAccountSettings operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetAccountSettings for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetAccountSettings method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetAccountSettingsRequest method. +// req, resp := client.GetAccountSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *Lambda) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req *request.Request, output *GetAccountSettingsOutput) { + op := &request.Operation{ + Name: opGetAccountSettings, + HTTPMethod: "GET", + HTTPPath: "/2016-08-19/account-settings/", + } + + if input == nil { + input = &GetAccountSettingsInput{} + } + + req = c.newRequest(op, input, output) + output = &GetAccountSettingsOutput{} + req.Data = output + return +} + +// GetAccountSettings API operation for AWS Lambda. +// +// Returns a customer's account settings. +// +// You can use this operation to retrieve Lambda limit information such as code +// size and concurrency limits. For more information on limits, see AWS Lambda +// Limits (http://docs.aws.amazon.com/lambda/latest/dg/limits.html). You can +// also retrieve resource usage statistics such as code storage usage and function +// count. +// +// 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 Lambda's +// API operation GetAccountSettings for usage and error information. +// +// Returned Error Codes: +// * TooManyRequestsException + +// +// * ServiceException +// The AWS Lambda service encountered an internal error. +// +func (c *Lambda) GetAccountSettings(input *GetAccountSettingsInput) (*GetAccountSettingsOutput, error) { + req, out := c.GetAccountSettingsRequest(input) + err := req.Send() + return out, err +} + const opGetAlias = "GetAlias" // GetAliasRequest generates a "aws/request.Request" representing the @@ -1187,7 +1260,7 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // key settings. // // * KMSAccessDeniedException -// Lambda was unable to decrypt the environment variables becauses KMS access +// Lambda was unable to decrypt the environment variables because KMS access // was denied. Please check the Lambda function's KMS permissions. // // * KMSNotFoundException @@ -2184,6 +2257,99 @@ func (c *Lambda) UpdateFunctionConfiguration(input *UpdateFunctionConfigurationI return out, err } +// Provides limits of code size and concurrency associated with the current +// account and region. +type AccountLimit struct { + _ struct{} `type:"structure"` + + // Size, in bytes, of code/dependencies that you can zip into a deployment package + // (uncompressed zip/jar size) for uploading. The default limit is 250 MB. + CodeSizeUnzipped *int64 `type:"long"` + + // Size, in bytes, of a single zipped code/dependencies package you can upload + // for your Lambda function(.zip/.jar file). Try using AWS S3 for uploading + // larger files. Default limit is 50 MB. + CodeSizeZipped *int64 `type:"long"` + + // Number of simultaneous executions of your function per region. For more information + // or to request a limit increase for concurrent executions, see Lambda Function + // Concurrent Executions (http://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html). + // The default limit is 100. + ConcurrentExecutions *int64 `type:"integer"` + + // Maximum size, in megabytes, of a code package you can upload per region. + // The default size is 75 GB. + TotalCodeSize *int64 `type:"long"` +} + +// String returns the string representation +func (s AccountLimit) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountLimit) GoString() string { + return s.String() +} + +// SetCodeSizeUnzipped sets the CodeSizeUnzipped field's value. +func (s *AccountLimit) SetCodeSizeUnzipped(v int64) *AccountLimit { + s.CodeSizeUnzipped = &v + return s +} + +// SetCodeSizeZipped sets the CodeSizeZipped field's value. +func (s *AccountLimit) SetCodeSizeZipped(v int64) *AccountLimit { + s.CodeSizeZipped = &v + return s +} + +// SetConcurrentExecutions sets the ConcurrentExecutions field's value. +func (s *AccountLimit) SetConcurrentExecutions(v int64) *AccountLimit { + s.ConcurrentExecutions = &v + return s +} + +// SetTotalCodeSize sets the TotalCodeSize field's value. +func (s *AccountLimit) SetTotalCodeSize(v int64) *AccountLimit { + s.TotalCodeSize = &v + return s +} + +// Provides code size usage and function count associated with the current account +// and region. +type AccountUsage struct { + _ struct{} `type:"structure"` + + // The number of your account's existing functions per region. + FunctionCount *int64 `type:"long"` + + // Total size, in megabytes, of the account's deployment packages per region. + TotalCodeSize *int64 `type:"long"` +} + +// String returns the string representation +func (s AccountUsage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountUsage) GoString() string { + return s.String() +} + +// SetFunctionCount sets the FunctionCount field's value. +func (s *AccountUsage) SetFunctionCount(v int64) *AccountUsage { + s.FunctionCount = &v + return s +} + +// SetTotalCodeSize sets the TotalCodeSize field's value. +func (s *AccountUsage) SetTotalCodeSize(v int64) *AccountUsage { + s.TotalCodeSize = &v + return s +} + type AddPermissionInput struct { _ struct{} `type:"structure"` @@ -2557,12 +2723,20 @@ type CreateEventSourceMappingInput struct { // FunctionName is a required field FunctionName *string `min:"1" type:"string" required:"true"` - // The position in the stream where AWS Lambda should start reading. For more - // information, go to ShardIteratorType (http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#Kinesis-GetShardIterator-request-ShardIteratorType) + // The position in the stream where AWS Lambda should start reading. Valid only + // for Kinesis streams. For more information, go to ShardIteratorType (http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#Kinesis-GetShardIterator-request-ShardIteratorType) // in the Amazon Kinesis API Reference. // // StartingPosition is a required field StartingPosition *string `type:"string" required:"true" enum:"EventSourcePosition"` + + // The timestamp of the data record from which to start reading. Used with shard + // iterator type (http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html#Kinesis-GetShardIterator-request-ShardIteratorType) + // AT_TIMESTAMP. If a record with this exact timestamp does not exist, the iterator + // returned is for the next (later) record. If the timestamp is older than the + // current trim horizon, the iterator returned is for the oldest untrimmed data + // record (TRIM_HORIZON). Valid only for Kinesis streams. + StartingPositionTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` } // String returns the string representation @@ -2630,6 +2804,12 @@ func (s *CreateEventSourceMappingInput) SetStartingPosition(v string) *CreateEve return s } +// SetStartingPositionTimestamp sets the StartingPositionTimestamp field's value. +func (s *CreateEventSourceMappingInput) SetStartingPositionTimestamp(v time.Time) *CreateEventSourceMappingInput { + s.StartingPositionTimestamp = &v + return s +} + type CreateFunctionInput struct { _ struct{} `type:"structure"` @@ -2638,6 +2818,10 @@ type CreateFunctionInput struct { // Code is a required field Code *FunctionCode `type:"structure" required:"true"` + // The parent object that contains the target ARN (Amazon Resource Name) of + // an Amazon SQS queue or Amazon SNS topic. + DeadLetterConfig *DeadLetterConfig `type:"structure"` + // A short, user-defined function description. Lambda does not use this value. // Assign a meaningful description as you see fit. Description *string `type:"string"` @@ -2689,6 +2873,11 @@ type CreateFunctionInput struct { // To use the Node.js runtime v4.3, set the value to "nodejs4.3". To use earlier // runtime (v0.10.42), set the value to "nodejs". // + // You can no longer create functions using the v0.10.42 runtime version as + // of November, 2016. Existing functions will be supported until early 2017 + // but we recommend you migrate them to nodejs4.3 runtime version as soon as + // possible. + // // Runtime is a required field Runtime *string `type:"string" required:"true" enum:"Runtime"` @@ -2759,6 +2948,12 @@ func (s *CreateFunctionInput) SetCode(v *FunctionCode) *CreateFunctionInput { return s } +// SetDeadLetterConfig sets the DeadLetterConfig field's value. +func (s *CreateFunctionInput) SetDeadLetterConfig(v *DeadLetterConfig) *CreateFunctionInput { + s.DeadLetterConfig = v + return s +} + // SetDescription sets the Description field's value. func (s *CreateFunctionInput) SetDescription(v string) *CreateFunctionInput { s.Description = &v @@ -2825,6 +3020,32 @@ func (s *CreateFunctionInput) SetVpcConfig(v *VpcConfig) *CreateFunctionInput { return s } +// The parent object that contains the target ARN (Amazon Resource Name) of +// an Amazon SQS queue or Amazon SNS topic. +type DeadLetterConfig struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Value) of an Amazon SQS queue or Amazon SNS topic + // you specify as your Dead Letter Queue (DLQ). + TargetArn *string `type:"string"` +} + +// String returns the string representation +func (s DeadLetterConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeadLetterConfig) GoString() string { + return s.String() +} + +// SetTargetArn sets the TargetArn field's value. +func (s *DeadLetterConfig) SetTargetArn(v string) *DeadLetterConfig { + s.TargetArn = &v + return s +} + type DeleteAliasInput struct { _ struct{} `type:"structure"` @@ -3334,6 +3555,10 @@ type FunctionConfiguration struct { // The size, in bytes, of the function .zip file you uploaded. CodeSize *int64 `type:"long"` + // The parent object that contains the target ARN (Amazon Resource Name) of + // an Amazon SQS queue or Amazon SNS topic. + DeadLetterConfig *DeadLetterConfig `type:"structure"` + // The user-provided description. Description *string `type:"string"` @@ -3405,6 +3630,12 @@ func (s *FunctionConfiguration) SetCodeSize(v int64) *FunctionConfiguration { return s } +// SetDeadLetterConfig sets the DeadLetterConfig field's value. +func (s *FunctionConfiguration) SetDeadLetterConfig(v *DeadLetterConfig) *FunctionConfiguration { + s.DeadLetterConfig = v + return s +} + // SetDescription sets the Description field's value. func (s *FunctionConfiguration) SetDescription(v string) *FunctionConfiguration { s.Description = &v @@ -3483,6 +3714,54 @@ func (s *FunctionConfiguration) SetVpcConfig(v *VpcConfigResponse) *FunctionConf return s } +type GetAccountSettingsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetAccountSettingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAccountSettingsInput) GoString() string { + return s.String() +} + +type GetAccountSettingsOutput struct { + _ struct{} `type:"structure"` + + // Provides limits of code size and concurrency associated with the current + // account and region. + AccountLimit *AccountLimit `type:"structure"` + + // Provides code size usage and function count associated with the current account + // and region. + AccountUsage *AccountUsage `type:"structure"` +} + +// String returns the string representation +func (s GetAccountSettingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAccountSettingsOutput) GoString() string { + return s.String() +} + +// SetAccountLimit sets the AccountLimit field's value. +func (s *GetAccountSettingsOutput) SetAccountLimit(v *AccountLimit) *GetAccountSettingsOutput { + s.AccountLimit = v + return s +} + +// SetAccountUsage sets the AccountUsage field's value. +func (s *GetAccountSettingsOutput) SetAccountUsage(v *AccountUsage) *GetAccountSettingsOutput { + s.AccountUsage = v + return s +} + type GetAliasInput struct { _ struct{} `type:"structure"` @@ -4941,6 +5220,10 @@ func (s *UpdateFunctionCodeInput) SetZipFile(v []byte) *UpdateFunctionCodeInput type UpdateFunctionConfigurationInput struct { _ struct{} `type:"structure"` + // The parent object that contains the target ARN (Amazon Resource Name) of + // an Amazon SQS queue or Amazon SNS topic. + DeadLetterConfig *DeadLetterConfig `type:"structure"` + // A short user-defined function description. AWS Lambda does not use this value. // Assign a meaningful description as you see fit. Description *string `type:"string"` @@ -4984,6 +5267,9 @@ type UpdateFunctionConfigurationInput struct { // // To use the Node.js runtime v4.3, set the value to "nodejs4.3". To use earlier // runtime (v0.10.42), set the value to "nodejs". + // + // You can no longer downgrade to the v0.10.42 runtime version. This version + // will no longer be supported as of early 2017. Runtime *string `type:"string" enum:"Runtime"` // The function execution time at which AWS Lambda should terminate the function. @@ -5030,6 +5316,12 @@ func (s *UpdateFunctionConfigurationInput) Validate() error { return nil } +// SetDeadLetterConfig sets the DeadLetterConfig field's value. +func (s *UpdateFunctionConfigurationInput) SetDeadLetterConfig(v *DeadLetterConfig) *UpdateFunctionConfigurationInput { + s.DeadLetterConfig = v + return s +} + // SetDescription sets the Description field's value. func (s *UpdateFunctionConfigurationInput) SetDescription(v string) *UpdateFunctionConfigurationInput { s.Description = &v @@ -5174,6 +5466,9 @@ const ( // EventSourcePositionLatest is a EventSourcePosition enum value EventSourcePositionLatest = "LATEST" + + // EventSourcePositionAtTimestamp is a EventSourcePosition enum value + EventSourcePositionAtTimestamp = "AT_TIMESTAMP" ) const ( @@ -5207,6 +5502,12 @@ const ( // RuntimePython27 is a Runtime enum value RuntimePython27 = "python2.7" + + // RuntimeDotnetcore10 is a Runtime enum value + RuntimeDotnetcore10 = "dotnetcore1.0" + + // RuntimeNodejs43Edge is a Runtime enum value + RuntimeNodejs43Edge = "nodejs4.3-edge" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go index 5b0cf821d..11b152c88 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go @@ -1,6 +1,6 @@ // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. -// Package ssm provides a client for Amazon Simple Systems Management Service. +// Package ssm provides a client for Amazon Simple Systems Manager (SSM). package ssm import ( @@ -54,7 +54,7 @@ func (c *SSM) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *requ return } -// AddTagsToResource API operation for Amazon Simple Systems Management Service. +// AddTagsToResource API operation for Amazon Simple Systems Manager (SSM). // // Adds or overwrites one or more tags for the specified resource. Tags are // metadata that you assign to your managed instances. Tags enable you to categorize @@ -79,7 +79,7 @@ func (c *SSM) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *requ // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation AddTagsToResource for usage and error information. // // Returned Error Codes: @@ -94,6 +94,10 @@ func (c *SSM) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *requ // * InternalServerError // An error occurred on the server side. // +// * TooManyTagsError +// The Targets parameter includes too many tags. Remove one or more tags and +// try the command again. +// func (c *SSM) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) { req, out := c.AddTagsToResourceRequest(input) err := req.Send() @@ -143,7 +147,7 @@ func (c *SSM) CancelCommandRequest(input *CancelCommandInput) (req *request.Requ return } -// CancelCommand API operation for Amazon Simple Systems Management Service. +// CancelCommand API operation for Amazon Simple Systems Manager (SSM). // // Attempts to cancel the command specified by the Command ID. There is no guarantee // that the command will be terminated and the underlying process stopped. @@ -152,7 +156,7 @@ func (c *SSM) CancelCommandRequest(input *CancelCommandInput) (req *request.Requ // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation CancelCommand for usage and error information. // // Returned Error Codes: @@ -163,6 +167,17 @@ func (c *SSM) CancelCommandRequest(input *CancelCommandInput) (req *request.Requ // // * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// // The instance is not in valid state. Valid states are: Running, Pending, Stopped, // Stopping. Invalid states are: Shutting-down and Terminated. // @@ -218,7 +233,7 @@ func (c *SSM) CreateActivationRequest(input *CreateActivationInput) (req *reques return } -// CreateActivation API operation for Amazon Simple Systems Management Service. +// CreateActivation API operation for Amazon Simple Systems Manager (SSM). // // Registers your on-premises server or virtual machine with Amazon EC2 so that // you can manage these resources using Run Command. An on-premises server or @@ -232,7 +247,7 @@ func (c *SSM) CreateActivationRequest(input *CreateActivationInput) (req *reques // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation CreateActivation for usage and error information. // // Returned Error Codes: @@ -288,13 +303,13 @@ func (c *SSM) CreateAssociationRequest(input *CreateAssociationInput) (req *requ return } -// CreateAssociation API operation for Amazon Simple Systems Management Service. +// CreateAssociation API operation for Amazon Simple Systems Manager (SSM). // -// Associates the specified SSM document with the specified instance. +// Associates the specified SSM document with the specified instances or targets. // -// When you associate an SSM document with an instance, the configuration agent -// on the instance (SSM agent for Linux and EC2Config service for Windows) processes -// the document and configures the instance as specified. +// When you associate an SSM document with one or more instances using instance +// IDs or tags, the SSM agent running on the instance processes the document +// and configures the instance as specified. // // If you associate a document with an instance that already has an associated // document, the system throws the AssociationAlreadyExists exception. @@ -303,7 +318,7 @@ func (c *SSM) CreateAssociationRequest(input *CreateAssociationInput) (req *requ // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation CreateAssociation for usage and error information. // // Returned Error Codes: @@ -319,7 +334,21 @@ func (c *SSM) CreateAssociationRequest(input *CreateAssociationInput) (req *requ // * InvalidDocument // The specified document does not exist. // +// * InvalidDocumentVersion +// The document version is not valid or does not exist. +// // * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// // The instance is not in valid state. Valid states are: Running, Pending, Stopped, // Stopping. Invalid states are: Shutting-down and Terminated. // @@ -327,10 +356,20 @@ func (c *SSM) CreateAssociationRequest(input *CreateAssociationInput) (req *requ // The document does not support the platform type of the given instance ID(s). // For example, you sent an SSM document for a Windows instance to a Linux instance. // +// * InvalidOutputLocation +// The output location is not valid or does not exist. +// // * InvalidParameters // You must specify values for all required parameters in the SSM document. // You can only supply values to parameters defined in the SSM document. // +// * InvalidTarget +// The target is not valid or does not exist. It might not be configured for +// EC2 Systems Manager or you might not have permission to perform the operation. +// +// * InvalidSchedule +// The schedule is invalid. Verify your cron or rate expression and try again. +// func (c *SSM) CreateAssociation(input *CreateAssociationInput) (*CreateAssociationOutput, error) { req, out := c.CreateAssociationRequest(input) err := req.Send() @@ -380,13 +419,13 @@ func (c *SSM) CreateAssociationBatchRequest(input *CreateAssociationBatchInput) return } -// CreateAssociationBatch API operation for Amazon Simple Systems Management Service. +// CreateAssociationBatch API operation for Amazon Simple Systems Manager (SSM). // -// Associates the specified SSM document with the specified instances. +// Associates the specified SSM document with the specified instances or targets. // -// When you associate an SSM document with an instance, the configuration agent -// on the instance (SSM agent for Linux and EC2Config service for Windows) processes -// the document and configures the instance as specified. +// When you associate an SSM document with one or more instances using instance +// IDs or tags, the SSM agent running on the instance processes the document +// and configures the instance as specified. // // If you associate a document with an instance that already has an associated // document, the system throws the AssociationAlreadyExists exception. @@ -395,7 +434,7 @@ func (c *SSM) CreateAssociationBatchRequest(input *CreateAssociationBatchInput) // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation CreateAssociationBatch for usage and error information. // // Returned Error Codes: @@ -405,7 +444,21 @@ func (c *SSM) CreateAssociationBatchRequest(input *CreateAssociationBatchInput) // * InvalidDocument // The specified document does not exist. // +// * InvalidDocumentVersion +// The document version is not valid or does not exist. +// // * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// // The instance is not in valid state. Valid states are: Running, Pending, Stopped, // Stopping. Invalid states are: Shutting-down and Terminated. // @@ -423,6 +476,16 @@ func (c *SSM) CreateAssociationBatchRequest(input *CreateAssociationBatchInput) // The document does not support the platform type of the given instance ID(s). // For example, you sent an SSM document for a Windows instance to a Linux instance. // +// * InvalidOutputLocation +// The output location is not valid or does not exist. +// +// * InvalidTarget +// The target is not valid or does not exist. It might not be configured for +// EC2 Systems Manager or you might not have permission to perform the operation. +// +// * InvalidSchedule +// The schedule is invalid. Verify your cron or rate expression and try again. +// func (c *SSM) CreateAssociationBatch(input *CreateAssociationBatchInput) (*CreateAssociationBatchOutput, error) { req, out := c.CreateAssociationBatchRequest(input) err := req.Send() @@ -472,7 +535,7 @@ func (c *SSM) CreateDocumentRequest(input *CreateDocumentInput) (req *request.Re return } -// CreateDocument API operation for Amazon Simple Systems Management Service. +// CreateDocument API operation for Amazon Simple Systems Manager (SSM). // // Creates an SSM document. // @@ -483,7 +546,7 @@ func (c *SSM) CreateDocumentRequest(input *CreateDocumentInput) (req *request.Re // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation CreateDocument for usage and error information. // // Returned Error Codes: @@ -502,12 +565,87 @@ func (c *SSM) CreateDocumentRequest(input *CreateDocumentInput) (req *request.Re // * DocumentLimitExceeded // You can have at most 200 active SSM documents. // +// * InvalidDocumentSchemaVersion +// The version of the document schema is not supported. +// func (c *SSM) CreateDocument(input *CreateDocumentInput) (*CreateDocumentOutput, error) { req, out := c.CreateDocumentRequest(input) err := req.Send() return out, err } +const opCreateMaintenanceWindow = "CreateMaintenanceWindow" + +// CreateMaintenanceWindowRequest generates a "aws/request.Request" representing the +// client's request for the CreateMaintenanceWindow operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateMaintenanceWindow for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateMaintenanceWindow method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateMaintenanceWindowRequest method. +// req, resp := client.CreateMaintenanceWindowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) CreateMaintenanceWindowRequest(input *CreateMaintenanceWindowInput) (req *request.Request, output *CreateMaintenanceWindowOutput) { + op := &request.Operation{ + Name: opCreateMaintenanceWindow, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateMaintenanceWindowInput{} + } + + req = c.newRequest(op, input, output) + output = &CreateMaintenanceWindowOutput{} + req.Data = output + return +} + +// CreateMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM). +// +// Creates a new Maintenance Window. +// +// 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 Simple Systems Manager (SSM)'s +// API operation CreateMaintenanceWindow for usage and error information. +// +// Returned Error Codes: +// * IdempotentParameterMismatch +// Error returned when an idempotent operation is retried and the parameters +// don’t match the original call to the API with the same idempotency token. +// +// * ResourceLimitExceededException +// Error returned when the caller has exceeded the default resource limits (e.g. +// too many Maintenance Windows have been created). +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) CreateMaintenanceWindow(input *CreateMaintenanceWindowInput) (*CreateMaintenanceWindowOutput, error) { + req, out := c.CreateMaintenanceWindowRequest(input) + err := req.Send() + return out, err +} + const opDeleteActivation = "DeleteActivation" // DeleteActivationRequest generates a "aws/request.Request" representing the @@ -551,7 +689,7 @@ func (c *SSM) DeleteActivationRequest(input *DeleteActivationInput) (req *reques return } -// DeleteActivation API operation for Amazon Simple Systems Management Service. +// DeleteActivation API operation for Amazon Simple Systems Manager (SSM). // // Deletes an activation. You are not required to delete an activation. If you // delete an activation, you can no longer use it to register additional managed @@ -562,7 +700,7 @@ func (c *SSM) DeleteActivationRequest(input *DeleteActivationInput) (req *reques // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation DeleteActivation for usage and error information. // // Returned Error Codes: @@ -626,7 +764,7 @@ func (c *SSM) DeleteAssociationRequest(input *DeleteAssociationInput) (req *requ return } -// DeleteAssociation API operation for Amazon Simple Systems Management Service. +// DeleteAssociation API operation for Amazon Simple Systems Manager (SSM). // // Disassociates the specified SSM document from the specified instance. // @@ -639,7 +777,7 @@ func (c *SSM) DeleteAssociationRequest(input *DeleteAssociationInput) (req *requ // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation DeleteAssociation for usage and error information. // // Returned Error Codes: @@ -653,6 +791,17 @@ func (c *SSM) DeleteAssociationRequest(input *DeleteAssociationInput) (req *requ // The specified document does not exist. // // * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// // The instance is not in valid state. Valid states are: Running, Pending, Stopped, // Stopping. Invalid states are: Shutting-down and Terminated. // @@ -709,7 +858,7 @@ func (c *SSM) DeleteDocumentRequest(input *DeleteDocumentInput) (req *request.Re return } -// DeleteDocument API operation for Amazon Simple Systems Management Service. +// DeleteDocument API operation for Amazon Simple Systems Manager (SSM). // // Deletes the SSM document and all instance associations to the document. // @@ -720,7 +869,7 @@ func (c *SSM) DeleteDocumentRequest(input *DeleteDocumentInput) (req *request.Re // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation DeleteDocument for usage and error information. // // Returned Error Codes: @@ -744,6 +893,137 @@ func (c *SSM) DeleteDocument(input *DeleteDocumentInput) (*DeleteDocumentOutput, return out, err } +const opDeleteMaintenanceWindow = "DeleteMaintenanceWindow" + +// DeleteMaintenanceWindowRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMaintenanceWindow operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteMaintenanceWindow for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteMaintenanceWindow method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteMaintenanceWindowRequest method. +// req, resp := client.DeleteMaintenanceWindowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DeleteMaintenanceWindowRequest(input *DeleteMaintenanceWindowInput) (req *request.Request, output *DeleteMaintenanceWindowOutput) { + op := &request.Operation{ + Name: opDeleteMaintenanceWindow, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteMaintenanceWindowInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteMaintenanceWindowOutput{} + req.Data = output + return +} + +// DeleteMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM). +// +// Deletes a Maintenance Window. +// +// 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 Simple Systems Manager (SSM)'s +// API operation DeleteMaintenanceWindow for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DeleteMaintenanceWindow(input *DeleteMaintenanceWindowInput) (*DeleteMaintenanceWindowOutput, error) { + req, out := c.DeleteMaintenanceWindowRequest(input) + err := req.Send() + return out, err +} + +const opDeleteParameter = "DeleteParameter" + +// DeleteParameterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteParameter operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteParameter for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteParameter method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteParameterRequest method. +// req, resp := client.DeleteParameterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DeleteParameterRequest(input *DeleteParameterInput) (req *request.Request, output *DeleteParameterOutput) { + op := &request.Operation{ + Name: opDeleteParameter, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteParameterInput{} + } + + req = c.newRequest(op, input, output) + output = &DeleteParameterOutput{} + req.Data = output + return +} + +// DeleteParameter API operation for Amazon Simple Systems Manager (SSM). +// +// Delete a parameter from the system. +// +// 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 Simple Systems Manager (SSM)'s +// API operation DeleteParameter for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * ParameterNotFound +// The parameter could not be found. Verify the name and try again. +// +func (c *SSM) DeleteParameter(input *DeleteParameterInput) (*DeleteParameterOutput, error) { + req, out := c.DeleteParameterRequest(input) + err := req.Send() + return out, err +} + const opDeregisterManagedInstance = "DeregisterManagedInstance" // DeregisterManagedInstanceRequest generates a "aws/request.Request" representing the @@ -787,7 +1067,7 @@ func (c *SSM) DeregisterManagedInstanceRequest(input *DeregisterManagedInstanceI return } -// DeregisterManagedInstance API operation for Amazon Simple Systems Management Service. +// DeregisterManagedInstance API operation for Amazon Simple Systems Manager (SSM). // // Removes the server or virtual machine from the list of registered servers. // You can reregister the instance again at any time. If you don’t plan to use @@ -797,11 +1077,22 @@ func (c *SSM) DeregisterManagedInstanceRequest(input *DeregisterManagedInstanceI // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation DeregisterManagedInstance for usage and error information. // // Returned Error Codes: // * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// // The instance is not in valid state. Valid states are: Running, Pending, Stopped, // Stopping. Invalid states are: Shutting-down and Terminated. // @@ -814,6 +1105,142 @@ func (c *SSM) DeregisterManagedInstance(input *DeregisterManagedInstanceInput) ( return out, err } +const opDeregisterTargetFromMaintenanceWindow = "DeregisterTargetFromMaintenanceWindow" + +// DeregisterTargetFromMaintenanceWindowRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterTargetFromMaintenanceWindow operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterTargetFromMaintenanceWindow for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterTargetFromMaintenanceWindow method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterTargetFromMaintenanceWindowRequest method. +// req, resp := client.DeregisterTargetFromMaintenanceWindowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DeregisterTargetFromMaintenanceWindowRequest(input *DeregisterTargetFromMaintenanceWindowInput) (req *request.Request, output *DeregisterTargetFromMaintenanceWindowOutput) { + op := &request.Operation{ + Name: opDeregisterTargetFromMaintenanceWindow, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeregisterTargetFromMaintenanceWindowInput{} + } + + req = c.newRequest(op, input, output) + output = &DeregisterTargetFromMaintenanceWindowOutput{} + req.Data = output + return +} + +// DeregisterTargetFromMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM). +// +// Removes a target from a Maintenance Window. +// +// 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 Simple Systems Manager (SSM)'s +// API operation DeregisterTargetFromMaintenanceWindow for usage and error information. +// +// Returned Error Codes: +// * DoesNotExistException +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn’t exist. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DeregisterTargetFromMaintenanceWindow(input *DeregisterTargetFromMaintenanceWindowInput) (*DeregisterTargetFromMaintenanceWindowOutput, error) { + req, out := c.DeregisterTargetFromMaintenanceWindowRequest(input) + err := req.Send() + return out, err +} + +const opDeregisterTaskFromMaintenanceWindow = "DeregisterTaskFromMaintenanceWindow" + +// DeregisterTaskFromMaintenanceWindowRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterTaskFromMaintenanceWindow operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeregisterTaskFromMaintenanceWindow for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeregisterTaskFromMaintenanceWindow method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeregisterTaskFromMaintenanceWindowRequest method. +// req, resp := client.DeregisterTaskFromMaintenanceWindowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DeregisterTaskFromMaintenanceWindowRequest(input *DeregisterTaskFromMaintenanceWindowInput) (req *request.Request, output *DeregisterTaskFromMaintenanceWindowOutput) { + op := &request.Operation{ + Name: opDeregisterTaskFromMaintenanceWindow, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeregisterTaskFromMaintenanceWindowInput{} + } + + req = c.newRequest(op, input, output) + output = &DeregisterTaskFromMaintenanceWindowOutput{} + req.Data = output + return +} + +// DeregisterTaskFromMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM). +// +// Removes a task from a Maintenance Window. +// +// 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 Simple Systems Manager (SSM)'s +// API operation DeregisterTaskFromMaintenanceWindow for usage and error information. +// +// Returned Error Codes: +// * DoesNotExistException +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn’t exist. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DeregisterTaskFromMaintenanceWindow(input *DeregisterTaskFromMaintenanceWindowInput) (*DeregisterTaskFromMaintenanceWindowOutput, error) { + req, out := c.DeregisterTaskFromMaintenanceWindowRequest(input) + err := req.Send() + return out, err +} + const opDescribeActivations = "DescribeActivations" // DescribeActivationsRequest generates a "aws/request.Request" representing the @@ -863,7 +1290,7 @@ func (c *SSM) DescribeActivationsRequest(input *DescribeActivationsInput) (req * return } -// DescribeActivations API operation for Amazon Simple Systems Management Service. +// DescribeActivations API operation for Amazon Simple Systems Manager (SSM). // // Details about the activation, including: the date and time the activation // was created, the expiration date, the IAM role assigned to the instances @@ -873,7 +1300,7 @@ func (c *SSM) DescribeActivationsRequest(input *DescribeActivationsInput) (req * // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation DescribeActivations for usage and error information. // // Returned Error Codes: @@ -961,7 +1388,7 @@ func (c *SSM) DescribeAssociationRequest(input *DescribeAssociationInput) (req * return } -// DescribeAssociation API operation for Amazon Simple Systems Management Service. +// DescribeAssociation API operation for Amazon Simple Systems Manager (SSM). // // Describes the associations for the specified SSM document or instance. // @@ -969,7 +1396,7 @@ func (c *SSM) DescribeAssociationRequest(input *DescribeAssociationInput) (req * // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation DescribeAssociation for usage and error information. // // Returned Error Codes: @@ -983,6 +1410,17 @@ func (c *SSM) DescribeAssociationRequest(input *DescribeAssociationInput) (req * // The specified document does not exist. // // * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// // The instance is not in valid state. Valid states are: Running, Pending, Stopped, // Stopping. Invalid states are: Shutting-down and Terminated. // @@ -992,6 +1430,73 @@ func (c *SSM) DescribeAssociation(input *DescribeAssociationInput) (*DescribeAss return out, err } +const opDescribeAutomationExecutions = "DescribeAutomationExecutions" + +// DescribeAutomationExecutionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAutomationExecutions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeAutomationExecutions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeAutomationExecutions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeAutomationExecutionsRequest method. +// req, resp := client.DescribeAutomationExecutionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeAutomationExecutionsRequest(input *DescribeAutomationExecutionsInput) (req *request.Request, output *DescribeAutomationExecutionsOutput) { + op := &request.Operation{ + Name: opDescribeAutomationExecutions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeAutomationExecutionsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeAutomationExecutionsOutput{} + req.Data = output + return +} + +// DescribeAutomationExecutions API operation for Amazon Simple Systems Manager (SSM). +// +// Provides details about all active and terminated Automation executions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation DescribeAutomationExecutions for usage and error information. +// +// Returned Error Codes: +// * InvalidNextToken +// The specified token is not valid. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DescribeAutomationExecutions(input *DescribeAutomationExecutionsInput) (*DescribeAutomationExecutionsOutput, error) { + req, out := c.DescribeAutomationExecutionsRequest(input) + err := req.Send() + return out, err +} + const opDescribeDocument = "DescribeDocument" // DescribeDocumentRequest generates a "aws/request.Request" representing the @@ -1035,7 +1540,7 @@ func (c *SSM) DescribeDocumentRequest(input *DescribeDocumentInput) (req *reques return } -// DescribeDocument API operation for Amazon Simple Systems Management Service. +// DescribeDocument API operation for Amazon Simple Systems Manager (SSM). // // Describes the specified SSM document. // @@ -1043,7 +1548,7 @@ func (c *SSM) DescribeDocumentRequest(input *DescribeDocumentInput) (req *reques // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation DescribeDocument for usage and error information. // // Returned Error Codes: @@ -1053,6 +1558,9 @@ func (c *SSM) DescribeDocumentRequest(input *DescribeDocumentInput) (req *reques // * InvalidDocument // The specified document does not exist. // +// * InvalidDocumentVersion +// The document version is not valid or does not exist. +// func (c *SSM) DescribeDocument(input *DescribeDocumentInput) (*DescribeDocumentOutput, error) { req, out := c.DescribeDocumentRequest(input) err := req.Send() @@ -1102,7 +1610,7 @@ func (c *SSM) DescribeDocumentPermissionRequest(input *DescribeDocumentPermissio return } -// DescribeDocumentPermission API operation for Amazon Simple Systems Management Service. +// DescribeDocumentPermission API operation for Amazon Simple Systems Manager (SSM). // // Describes the permissions for an SSM document. If you created the document, // you are the owner. If a document is shared, it can either be shared privately @@ -1112,7 +1620,7 @@ func (c *SSM) DescribeDocumentPermissionRequest(input *DescribeDocumentPermissio // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation DescribeDocumentPermission for usage and error information. // // Returned Error Codes: @@ -1132,6 +1640,170 @@ func (c *SSM) DescribeDocumentPermission(input *DescribeDocumentPermissionInput) return out, err } +const opDescribeEffectiveInstanceAssociations = "DescribeEffectiveInstanceAssociations" + +// DescribeEffectiveInstanceAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEffectiveInstanceAssociations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeEffectiveInstanceAssociations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeEffectiveInstanceAssociations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeEffectiveInstanceAssociationsRequest method. +// req, resp := client.DescribeEffectiveInstanceAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeEffectiveInstanceAssociationsRequest(input *DescribeEffectiveInstanceAssociationsInput) (req *request.Request, output *DescribeEffectiveInstanceAssociationsOutput) { + op := &request.Operation{ + Name: opDescribeEffectiveInstanceAssociations, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEffectiveInstanceAssociationsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeEffectiveInstanceAssociationsOutput{} + req.Data = output + return +} + +// DescribeEffectiveInstanceAssociations API operation for Amazon Simple Systems Manager (SSM). +// +// All associations for the instance(s). +// +// 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 Simple Systems Manager (SSM)'s +// API operation DescribeEffectiveInstanceAssociations for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InvalidNextToken +// The specified token is not valid. +// +func (c *SSM) DescribeEffectiveInstanceAssociations(input *DescribeEffectiveInstanceAssociationsInput) (*DescribeEffectiveInstanceAssociationsOutput, error) { + req, out := c.DescribeEffectiveInstanceAssociationsRequest(input) + err := req.Send() + return out, err +} + +const opDescribeInstanceAssociationsStatus = "DescribeInstanceAssociationsStatus" + +// DescribeInstanceAssociationsStatusRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstanceAssociationsStatus operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeInstanceAssociationsStatus for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeInstanceAssociationsStatus method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeInstanceAssociationsStatusRequest method. +// req, resp := client.DescribeInstanceAssociationsStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeInstanceAssociationsStatusRequest(input *DescribeInstanceAssociationsStatusInput) (req *request.Request, output *DescribeInstanceAssociationsStatusOutput) { + op := &request.Operation{ + Name: opDescribeInstanceAssociationsStatus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeInstanceAssociationsStatusInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeInstanceAssociationsStatusOutput{} + req.Data = output + return +} + +// DescribeInstanceAssociationsStatus API operation for Amazon Simple Systems Manager (SSM). +// +// The status of the associations for the instance(s). +// +// 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 Simple Systems Manager (SSM)'s +// API operation DescribeInstanceAssociationsStatus for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InvalidNextToken +// The specified token is not valid. +// +func (c *SSM) DescribeInstanceAssociationsStatus(input *DescribeInstanceAssociationsStatusInput) (*DescribeInstanceAssociationsStatusOutput, error) { + req, out := c.DescribeInstanceAssociationsStatusRequest(input) + err := req.Send() + return out, err +} + const opDescribeInstanceInformation = "DescribeInstanceInformation" // DescribeInstanceInformationRequest generates a "aws/request.Request" representing the @@ -1181,7 +1853,7 @@ func (c *SSM) DescribeInstanceInformationRequest(input *DescribeInstanceInformat return } -// DescribeInstanceInformation API operation for Amazon Simple Systems Management Service. +// DescribeInstanceInformation API operation for Amazon Simple Systems Manager (SSM). // // Describes one or more of your instances. You can use this to get information // about instances like the operating system platform, the SSM agent version @@ -1194,7 +1866,7 @@ func (c *SSM) DescribeInstanceInformationRequest(input *DescribeInstanceInformat // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation DescribeInstanceInformation for usage and error information. // // Returned Error Codes: @@ -1202,6 +1874,17 @@ func (c *SSM) DescribeInstanceInformationRequest(input *DescribeInstanceInformat // An error occurred on the server side. // // * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// // The instance is not in valid state. Valid states are: Running, Pending, Stopped, // Stopping. Invalid states are: Shutting-down and Terminated. // @@ -1245,6 +1928,637 @@ func (c *SSM) DescribeInstanceInformationPages(input *DescribeInstanceInformatio }) } +const opDescribeMaintenanceWindowExecutionTaskInvocations = "DescribeMaintenanceWindowExecutionTaskInvocations" + +// DescribeMaintenanceWindowExecutionTaskInvocationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMaintenanceWindowExecutionTaskInvocations operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeMaintenanceWindowExecutionTaskInvocations for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeMaintenanceWindowExecutionTaskInvocations method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeMaintenanceWindowExecutionTaskInvocationsRequest method. +// req, resp := client.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) { + op := &request.Operation{ + Name: opDescribeMaintenanceWindowExecutionTaskInvocations, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMaintenanceWindowExecutionTaskInvocationsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeMaintenanceWindowExecutionTaskInvocationsOutput{} + req.Data = output + return +} + +// DescribeMaintenanceWindowExecutionTaskInvocations API operation for Amazon Simple Systems Manager (SSM). +// +// Retrieves the individual task executions (one per target) for a particular +// task executed as part of a Maintenance Window execution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation DescribeMaintenanceWindowExecutionTaskInvocations for usage and error information. +// +// Returned Error Codes: +// * DoesNotExistException +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn’t exist. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocations(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput) (*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, error) { + req, out := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input) + err := req.Send() + return out, err +} + +const opDescribeMaintenanceWindowExecutionTasks = "DescribeMaintenanceWindowExecutionTasks" + +// DescribeMaintenanceWindowExecutionTasksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMaintenanceWindowExecutionTasks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeMaintenanceWindowExecutionTasks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeMaintenanceWindowExecutionTasks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeMaintenanceWindowExecutionTasksRequest method. +// req, resp := client.DescribeMaintenanceWindowExecutionTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeMaintenanceWindowExecutionTasksRequest(input *DescribeMaintenanceWindowExecutionTasksInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionTasksOutput) { + op := &request.Operation{ + Name: opDescribeMaintenanceWindowExecutionTasks, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMaintenanceWindowExecutionTasksInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeMaintenanceWindowExecutionTasksOutput{} + req.Data = output + return +} + +// DescribeMaintenanceWindowExecutionTasks API operation for Amazon Simple Systems Manager (SSM). +// +// For a given Maintenance Window execution, lists the tasks that were executed. +// +// 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 Simple Systems Manager (SSM)'s +// API operation DescribeMaintenanceWindowExecutionTasks for usage and error information. +// +// Returned Error Codes: +// * DoesNotExistException +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn’t exist. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DescribeMaintenanceWindowExecutionTasks(input *DescribeMaintenanceWindowExecutionTasksInput) (*DescribeMaintenanceWindowExecutionTasksOutput, error) { + req, out := c.DescribeMaintenanceWindowExecutionTasksRequest(input) + err := req.Send() + return out, err +} + +const opDescribeMaintenanceWindowExecutions = "DescribeMaintenanceWindowExecutions" + +// DescribeMaintenanceWindowExecutionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMaintenanceWindowExecutions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeMaintenanceWindowExecutions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeMaintenanceWindowExecutions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeMaintenanceWindowExecutionsRequest method. +// req, resp := client.DescribeMaintenanceWindowExecutionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeMaintenanceWindowExecutionsRequest(input *DescribeMaintenanceWindowExecutionsInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionsOutput) { + op := &request.Operation{ + Name: opDescribeMaintenanceWindowExecutions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMaintenanceWindowExecutionsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeMaintenanceWindowExecutionsOutput{} + req.Data = output + return +} + +// DescribeMaintenanceWindowExecutions API operation for Amazon Simple Systems Manager (SSM). +// +// Lists the executions of a Maintenance Window (meaning, information about +// when the Maintenance Window was scheduled to be active and information about +// tasks registered and run with the Maintenance Window). +// +// 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 Simple Systems Manager (SSM)'s +// API operation DescribeMaintenanceWindowExecutions for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DescribeMaintenanceWindowExecutions(input *DescribeMaintenanceWindowExecutionsInput) (*DescribeMaintenanceWindowExecutionsOutput, error) { + req, out := c.DescribeMaintenanceWindowExecutionsRequest(input) + err := req.Send() + return out, err +} + +const opDescribeMaintenanceWindowTargets = "DescribeMaintenanceWindowTargets" + +// DescribeMaintenanceWindowTargetsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMaintenanceWindowTargets operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeMaintenanceWindowTargets for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeMaintenanceWindowTargets method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeMaintenanceWindowTargetsRequest method. +// req, resp := client.DescribeMaintenanceWindowTargetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeMaintenanceWindowTargetsRequest(input *DescribeMaintenanceWindowTargetsInput) (req *request.Request, output *DescribeMaintenanceWindowTargetsOutput) { + op := &request.Operation{ + Name: opDescribeMaintenanceWindowTargets, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMaintenanceWindowTargetsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeMaintenanceWindowTargetsOutput{} + req.Data = output + return +} + +// DescribeMaintenanceWindowTargets API operation for Amazon Simple Systems Manager (SSM). +// +// Lists the targets registered with the Maintenance Window. +// +// 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 Simple Systems Manager (SSM)'s +// API operation DescribeMaintenanceWindowTargets for usage and error information. +// +// Returned Error Codes: +// * DoesNotExistException +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn’t exist. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DescribeMaintenanceWindowTargets(input *DescribeMaintenanceWindowTargetsInput) (*DescribeMaintenanceWindowTargetsOutput, error) { + req, out := c.DescribeMaintenanceWindowTargetsRequest(input) + err := req.Send() + return out, err +} + +const opDescribeMaintenanceWindowTasks = "DescribeMaintenanceWindowTasks" + +// DescribeMaintenanceWindowTasksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMaintenanceWindowTasks operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeMaintenanceWindowTasks for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeMaintenanceWindowTasks method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeMaintenanceWindowTasksRequest method. +// req, resp := client.DescribeMaintenanceWindowTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeMaintenanceWindowTasksRequest(input *DescribeMaintenanceWindowTasksInput) (req *request.Request, output *DescribeMaintenanceWindowTasksOutput) { + op := &request.Operation{ + Name: opDescribeMaintenanceWindowTasks, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMaintenanceWindowTasksInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeMaintenanceWindowTasksOutput{} + req.Data = output + return +} + +// DescribeMaintenanceWindowTasks API operation for Amazon Simple Systems Manager (SSM). +// +// Lists the tasks in a Maintenance Window. +// +// 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 Simple Systems Manager (SSM)'s +// API operation DescribeMaintenanceWindowTasks for usage and error information. +// +// Returned Error Codes: +// * DoesNotExistException +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn’t exist. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DescribeMaintenanceWindowTasks(input *DescribeMaintenanceWindowTasksInput) (*DescribeMaintenanceWindowTasksOutput, error) { + req, out := c.DescribeMaintenanceWindowTasksRequest(input) + err := req.Send() + return out, err +} + +const opDescribeMaintenanceWindows = "DescribeMaintenanceWindows" + +// DescribeMaintenanceWindowsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeMaintenanceWindows operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeMaintenanceWindows for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeMaintenanceWindows method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeMaintenanceWindowsRequest method. +// req, resp := client.DescribeMaintenanceWindowsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeMaintenanceWindowsRequest(input *DescribeMaintenanceWindowsInput) (req *request.Request, output *DescribeMaintenanceWindowsOutput) { + op := &request.Operation{ + Name: opDescribeMaintenanceWindows, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeMaintenanceWindowsInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeMaintenanceWindowsOutput{} + req.Data = output + return +} + +// DescribeMaintenanceWindows API operation for Amazon Simple Systems Manager (SSM). +// +// Retrieves the Maintenance Windows in an AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation DescribeMaintenanceWindows for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) DescribeMaintenanceWindows(input *DescribeMaintenanceWindowsInput) (*DescribeMaintenanceWindowsOutput, error) { + req, out := c.DescribeMaintenanceWindowsRequest(input) + err := req.Send() + return out, err +} + +const opDescribeParameters = "DescribeParameters" + +// DescribeParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeParameters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DescribeParameters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DescribeParameters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DescribeParametersRequest method. +// req, resp := client.DescribeParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) DescribeParametersRequest(input *DescribeParametersInput) (req *request.Request, output *DescribeParametersOutput) { + op := &request.Operation{ + Name: opDescribeParameters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeParametersInput{} + } + + req = c.newRequest(op, input, output) + output = &DescribeParametersOutput{} + req.Data = output + return +} + +// DescribeParameters API operation for Amazon Simple Systems Manager (SSM). +// +// Get information about a parameter. +// +// 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 Simple Systems Manager (SSM)'s +// API operation DescribeParameters for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidFilterValue +// The filter value is not valid. Verify the value and try again. +// +// * InvalidNextToken +// The specified token is not valid. +// +func (c *SSM) DescribeParameters(input *DescribeParametersInput) (*DescribeParametersOutput, error) { + req, out := c.DescribeParametersRequest(input) + err := req.Send() + return out, err +} + +const opGetAutomationExecution = "GetAutomationExecution" + +// GetAutomationExecutionRequest generates a "aws/request.Request" representing the +// client's request for the GetAutomationExecution operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetAutomationExecution for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetAutomationExecution method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetAutomationExecutionRequest method. +// req, resp := client.GetAutomationExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) GetAutomationExecutionRequest(input *GetAutomationExecutionInput) (req *request.Request, output *GetAutomationExecutionOutput) { + op := &request.Operation{ + Name: opGetAutomationExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetAutomationExecutionInput{} + } + + req = c.newRequest(op, input, output) + output = &GetAutomationExecutionOutput{} + req.Data = output + return +} + +// GetAutomationExecution API operation for Amazon Simple Systems Manager (SSM). +// +// Get detailed information about a particular Automation execution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation GetAutomationExecution for usage and error information. +// +// Returned Error Codes: +// * AutomationExecutionNotFoundException +// There is no automation execution information for the requested automation +// execution ID. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) GetAutomationExecution(input *GetAutomationExecutionInput) (*GetAutomationExecutionOutput, error) { + req, out := c.GetAutomationExecutionRequest(input) + err := req.Send() + return out, err +} + +const opGetCommandInvocation = "GetCommandInvocation" + +// GetCommandInvocationRequest generates a "aws/request.Request" representing the +// client's request for the GetCommandInvocation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetCommandInvocation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetCommandInvocation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetCommandInvocationRequest method. +// req, resp := client.GetCommandInvocationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) GetCommandInvocationRequest(input *GetCommandInvocationInput) (req *request.Request, output *GetCommandInvocationOutput) { + op := &request.Operation{ + Name: opGetCommandInvocation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetCommandInvocationInput{} + } + + req = c.newRequest(op, input, output) + output = &GetCommandInvocationOutput{} + req.Data = output + return +} + +// GetCommandInvocation API operation for Amazon Simple Systems Manager (SSM). +// +// Returns detailed information about command execution for an invocation or +// plugin. +// +// 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 Simple Systems Manager (SSM)'s +// API operation GetCommandInvocation for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidCommandId + +// +// * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InvalidPluginName +// The plugin name is not valid. +// +// * InvocationDoesNotExist +// The command ID and instance ID you specified did not match any invocations. +// Verify the command ID adn the instance ID and try again. +// +func (c *SSM) GetCommandInvocation(input *GetCommandInvocationInput) (*GetCommandInvocationOutput, error) { + req, out := c.GetCommandInvocationRequest(input) + err := req.Send() + return out, err +} + const opGetDocument = "GetDocument" // GetDocumentRequest generates a "aws/request.Request" representing the @@ -1288,7 +2602,7 @@ func (c *SSM) GetDocumentRequest(input *GetDocumentInput) (req *request.Request, return } -// GetDocument API operation for Amazon Simple Systems Management Service. +// GetDocument API operation for Amazon Simple Systems Manager (SSM). // // Gets the contents of the specified SSM document. // @@ -1296,7 +2610,7 @@ func (c *SSM) GetDocumentRequest(input *GetDocumentInput) (req *request.Request, // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation GetDocument for usage and error information. // // Returned Error Codes: @@ -1306,12 +2620,503 @@ func (c *SSM) GetDocumentRequest(input *GetDocumentInput) (req *request.Request, // * InvalidDocument // The specified document does not exist. // +// * InvalidDocumentVersion +// The document version is not valid or does not exist. +// func (c *SSM) GetDocument(input *GetDocumentInput) (*GetDocumentOutput, error) { req, out := c.GetDocumentRequest(input) err := req.Send() return out, err } +const opGetInventory = "GetInventory" + +// GetInventoryRequest generates a "aws/request.Request" representing the +// client's request for the GetInventory operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetInventory for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetInventory method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetInventoryRequest method. +// req, resp := client.GetInventoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) GetInventoryRequest(input *GetInventoryInput) (req *request.Request, output *GetInventoryOutput) { + op := &request.Operation{ + Name: opGetInventory, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetInventoryInput{} + } + + req = c.newRequest(op, input, output) + output = &GetInventoryOutput{} + req.Data = output + return +} + +// GetInventory API operation for Amazon Simple Systems Manager (SSM). +// +// Query inventory information. +// +// 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 Simple Systems Manager (SSM)'s +// API operation GetInventory for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidFilter +// The filter name is not valid. Verify the you entered the correct name and +// try again. +// +// * InvalidNextToken +// The specified token is not valid. +// +// * InvalidTypeNameException +// The parameter type name is not valid. +// +// * InvalidResultAttributeException +// The specified inventory item result attribute is not valid. +// +func (c *SSM) GetInventory(input *GetInventoryInput) (*GetInventoryOutput, error) { + req, out := c.GetInventoryRequest(input) + err := req.Send() + return out, err +} + +const opGetInventorySchema = "GetInventorySchema" + +// GetInventorySchemaRequest generates a "aws/request.Request" representing the +// client's request for the GetInventorySchema operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetInventorySchema for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetInventorySchema method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetInventorySchemaRequest method. +// req, resp := client.GetInventorySchemaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) GetInventorySchemaRequest(input *GetInventorySchemaInput) (req *request.Request, output *GetInventorySchemaOutput) { + op := &request.Operation{ + Name: opGetInventorySchema, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetInventorySchemaInput{} + } + + req = c.newRequest(op, input, output) + output = &GetInventorySchemaOutput{} + req.Data = output + return +} + +// GetInventorySchema API operation for Amazon Simple Systems Manager (SSM). +// +// Return a list of inventory type names for the account, or return a list of +// attribute names for a specific Inventory item type. +// +// 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 Simple Systems Manager (SSM)'s +// API operation GetInventorySchema for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidTypeNameException +// The parameter type name is not valid. +// +// * InvalidNextToken +// The specified token is not valid. +// +func (c *SSM) GetInventorySchema(input *GetInventorySchemaInput) (*GetInventorySchemaOutput, error) { + req, out := c.GetInventorySchemaRequest(input) + err := req.Send() + return out, err +} + +const opGetMaintenanceWindow = "GetMaintenanceWindow" + +// GetMaintenanceWindowRequest generates a "aws/request.Request" representing the +// client's request for the GetMaintenanceWindow operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetMaintenanceWindow for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetMaintenanceWindow method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetMaintenanceWindowRequest method. +// req, resp := client.GetMaintenanceWindowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) GetMaintenanceWindowRequest(input *GetMaintenanceWindowInput) (req *request.Request, output *GetMaintenanceWindowOutput) { + op := &request.Operation{ + Name: opGetMaintenanceWindow, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetMaintenanceWindowInput{} + } + + req = c.newRequest(op, input, output) + output = &GetMaintenanceWindowOutput{} + req.Data = output + return +} + +// GetMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM). +// +// Retrieves a Maintenance Window. +// +// 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 Simple Systems Manager (SSM)'s +// API operation GetMaintenanceWindow for usage and error information. +// +// Returned Error Codes: +// * DoesNotExistException +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn’t exist. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) GetMaintenanceWindow(input *GetMaintenanceWindowInput) (*GetMaintenanceWindowOutput, error) { + req, out := c.GetMaintenanceWindowRequest(input) + err := req.Send() + return out, err +} + +const opGetMaintenanceWindowExecution = "GetMaintenanceWindowExecution" + +// GetMaintenanceWindowExecutionRequest generates a "aws/request.Request" representing the +// client's request for the GetMaintenanceWindowExecution operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetMaintenanceWindowExecution for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetMaintenanceWindowExecution method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetMaintenanceWindowExecutionRequest method. +// req, resp := client.GetMaintenanceWindowExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) GetMaintenanceWindowExecutionRequest(input *GetMaintenanceWindowExecutionInput) (req *request.Request, output *GetMaintenanceWindowExecutionOutput) { + op := &request.Operation{ + Name: opGetMaintenanceWindowExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetMaintenanceWindowExecutionInput{} + } + + req = c.newRequest(op, input, output) + output = &GetMaintenanceWindowExecutionOutput{} + req.Data = output + return +} + +// GetMaintenanceWindowExecution API operation for Amazon Simple Systems Manager (SSM). +// +// Retrieves details about a specific task executed as part of a Maintenance +// Window execution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation GetMaintenanceWindowExecution for usage and error information. +// +// Returned Error Codes: +// * DoesNotExistException +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn’t exist. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) GetMaintenanceWindowExecution(input *GetMaintenanceWindowExecutionInput) (*GetMaintenanceWindowExecutionOutput, error) { + req, out := c.GetMaintenanceWindowExecutionRequest(input) + err := req.Send() + return out, err +} + +const opGetMaintenanceWindowExecutionTask = "GetMaintenanceWindowExecutionTask" + +// GetMaintenanceWindowExecutionTaskRequest generates a "aws/request.Request" representing the +// client's request for the GetMaintenanceWindowExecutionTask operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetMaintenanceWindowExecutionTask for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetMaintenanceWindowExecutionTask method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetMaintenanceWindowExecutionTaskRequest method. +// req, resp := client.GetMaintenanceWindowExecutionTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) GetMaintenanceWindowExecutionTaskRequest(input *GetMaintenanceWindowExecutionTaskInput) (req *request.Request, output *GetMaintenanceWindowExecutionTaskOutput) { + op := &request.Operation{ + Name: opGetMaintenanceWindowExecutionTask, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetMaintenanceWindowExecutionTaskInput{} + } + + req = c.newRequest(op, input, output) + output = &GetMaintenanceWindowExecutionTaskOutput{} + req.Data = output + return +} + +// GetMaintenanceWindowExecutionTask API operation for Amazon Simple Systems Manager (SSM). +// +// Retrieves the details about a specific task executed as part of a Maintenance +// Window execution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation GetMaintenanceWindowExecutionTask for usage and error information. +// +// Returned Error Codes: +// * DoesNotExistException +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn’t exist. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) GetMaintenanceWindowExecutionTask(input *GetMaintenanceWindowExecutionTaskInput) (*GetMaintenanceWindowExecutionTaskOutput, error) { + req, out := c.GetMaintenanceWindowExecutionTaskRequest(input) + err := req.Send() + return out, err +} + +const opGetParameterHistory = "GetParameterHistory" + +// GetParameterHistoryRequest generates a "aws/request.Request" representing the +// client's request for the GetParameterHistory operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetParameterHistory for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetParameterHistory method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetParameterHistoryRequest method. +// req, resp := client.GetParameterHistoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) GetParameterHistoryRequest(input *GetParameterHistoryInput) (req *request.Request, output *GetParameterHistoryOutput) { + op := &request.Operation{ + Name: opGetParameterHistory, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetParameterHistoryInput{} + } + + req = c.newRequest(op, input, output) + output = &GetParameterHistoryOutput{} + req.Data = output + return +} + +// GetParameterHistory API operation for Amazon Simple Systems Manager (SSM). +// +// Query a list of all parameters used by the AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation GetParameterHistory for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * ParameterNotFound +// The parameter could not be found. Verify the name and try again. +// +// * InvalidNextToken +// The specified token is not valid. +// +func (c *SSM) GetParameterHistory(input *GetParameterHistoryInput) (*GetParameterHistoryOutput, error) { + req, out := c.GetParameterHistoryRequest(input) + err := req.Send() + return out, err +} + +const opGetParameters = "GetParameters" + +// GetParametersRequest generates a "aws/request.Request" representing the +// client's request for the GetParameters operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetParameters for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetParameters method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetParametersRequest method. +// req, resp := client.GetParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) GetParametersRequest(input *GetParametersInput) (req *request.Request, output *GetParametersOutput) { + op := &request.Operation{ + Name: opGetParameters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetParametersInput{} + } + + req = c.newRequest(op, input, output) + output = &GetParametersOutput{} + req.Data = output + return +} + +// GetParameters API operation for Amazon Simple Systems Manager (SSM). +// +// Get a list of parameters used by the AWS account.> +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation GetParameters for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) GetParameters(input *GetParametersInput) (*GetParametersOutput, error) { + req, out := c.GetParametersRequest(input) + err := req.Send() + return out, err +} + const opListAssociations = "ListAssociations" // ListAssociationsRequest generates a "aws/request.Request" representing the @@ -1361,7 +3166,7 @@ func (c *SSM) ListAssociationsRequest(input *ListAssociationsInput) (req *reques return } -// ListAssociations API operation for Amazon Simple Systems Management Service. +// ListAssociations API operation for Amazon Simple Systems Manager (SSM). // // Lists the associations for the specified SSM document or instance. // @@ -1369,7 +3174,7 @@ func (c *SSM) ListAssociationsRequest(input *ListAssociationsInput) (req *reques // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation ListAssociations for usage and error information. // // Returned Error Codes: @@ -1459,7 +3264,7 @@ func (c *SSM) ListCommandInvocationsRequest(input *ListCommandInvocationsInput) return } -// ListCommandInvocations API operation for Amazon Simple Systems Management Service. +// ListCommandInvocations API operation for Amazon Simple Systems Manager (SSM). // // An invocation is copy of a command sent to a specific instance. A command // can apply to one or more instances. A command invocation applies to one instance. @@ -1471,7 +3276,7 @@ func (c *SSM) ListCommandInvocationsRequest(input *ListCommandInvocationsInput) // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation ListCommandInvocations for usage and error information. // // Returned Error Codes: @@ -1482,6 +3287,17 @@ func (c *SSM) ListCommandInvocationsRequest(input *ListCommandInvocationsInput) // // * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// // The instance is not in valid state. Valid states are: Running, Pending, Stopped, // Stopping. Invalid states are: Shutting-down and Terminated. // @@ -1571,7 +3387,7 @@ func (c *SSM) ListCommandsRequest(input *ListCommandsInput) (req *request.Reques return } -// ListCommands API operation for Amazon Simple Systems Management Service. +// ListCommands API operation for Amazon Simple Systems Manager (SSM). // // Lists the commands requested by users of the AWS account. // @@ -1579,7 +3395,7 @@ func (c *SSM) ListCommandsRequest(input *ListCommandsInput) (req *request.Reques // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation ListCommands for usage and error information. // // Returned Error Codes: @@ -1590,6 +3406,17 @@ func (c *SSM) ListCommandsRequest(input *ListCommandsInput) (req *request.Reques // // * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// // The instance is not in valid state. Valid states are: Running, Pending, Stopped, // Stopping. Invalid states are: Shutting-down and Terminated. // @@ -1630,6 +3457,76 @@ func (c *SSM) ListCommandsPages(input *ListCommandsInput, fn func(p *ListCommand }) } +const opListDocumentVersions = "ListDocumentVersions" + +// ListDocumentVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListDocumentVersions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListDocumentVersions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListDocumentVersions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListDocumentVersionsRequest method. +// req, resp := client.ListDocumentVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) ListDocumentVersionsRequest(input *ListDocumentVersionsInput) (req *request.Request, output *ListDocumentVersionsOutput) { + op := &request.Operation{ + Name: opListDocumentVersions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListDocumentVersionsInput{} + } + + req = c.newRequest(op, input, output) + output = &ListDocumentVersionsOutput{} + req.Data = output + return +} + +// ListDocumentVersions API operation for Amazon Simple Systems Manager (SSM). +// +// List all versions for a document. +// +// 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 Simple Systems Manager (SSM)'s +// API operation ListDocumentVersions for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidNextToken +// The specified token is not valid. +// +// * InvalidDocument +// The specified document does not exist. +// +func (c *SSM) ListDocumentVersions(input *ListDocumentVersionsInput) (*ListDocumentVersionsOutput, error) { + req, out := c.ListDocumentVersionsRequest(input) + err := req.Send() + return out, err +} + const opListDocuments = "ListDocuments" // ListDocumentsRequest generates a "aws/request.Request" representing the @@ -1679,7 +3576,7 @@ func (c *SSM) ListDocumentsRequest(input *ListDocumentsInput) (req *request.Requ return } -// ListDocuments API operation for Amazon Simple Systems Management Service. +// ListDocuments API operation for Amazon Simple Systems Manager (SSM). // // Describes one or more of your SSM documents. // @@ -1687,7 +3584,7 @@ func (c *SSM) ListDocumentsRequest(input *ListDocumentsInput) (req *request.Requ // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation ListDocuments for usage and error information. // // Returned Error Codes: @@ -1731,6 +3628,95 @@ func (c *SSM) ListDocumentsPages(input *ListDocumentsInput, fn func(p *ListDocum }) } +const opListInventoryEntries = "ListInventoryEntries" + +// ListInventoryEntriesRequest generates a "aws/request.Request" representing the +// client's request for the ListInventoryEntries operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListInventoryEntries for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListInventoryEntries method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListInventoryEntriesRequest method. +// req, resp := client.ListInventoryEntriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) ListInventoryEntriesRequest(input *ListInventoryEntriesInput) (req *request.Request, output *ListInventoryEntriesOutput) { + op := &request.Operation{ + Name: opListInventoryEntries, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListInventoryEntriesInput{} + } + + req = c.newRequest(op, input, output) + output = &ListInventoryEntriesOutput{} + req.Data = output + return +} + +// ListInventoryEntries API operation for Amazon Simple Systems Manager (SSM). +// +// A list of inventory items returned by the request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s +// API operation ListInventoryEntries for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InvalidTypeNameException +// The parameter type name is not valid. +// +// * InvalidFilter +// The filter name is not valid. Verify the you entered the correct name and +// try again. +// +// * InvalidNextToken +// The specified token is not valid. +// +func (c *SSM) ListInventoryEntries(input *ListInventoryEntriesInput) (*ListInventoryEntriesOutput, error) { + req, out := c.ListInventoryEntriesRequest(input) + err := req.Send() + return out, err +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -1774,7 +3760,7 @@ func (c *SSM) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req * return } -// ListTagsForResource API operation for Amazon Simple Systems Management Service. +// ListTagsForResource API operation for Amazon Simple Systems Manager (SSM). // // Returns a list of the tags assigned to the specified resource. // @@ -1782,7 +3768,7 @@ func (c *SSM) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req * // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation ListTagsForResource for usage and error information. // // Returned Error Codes: @@ -1846,7 +3832,7 @@ func (c *SSM) ModifyDocumentPermissionRequest(input *ModifyDocumentPermissionInp return } -// ModifyDocumentPermission API operation for Amazon Simple Systems Management Service. +// ModifyDocumentPermission API operation for Amazon Simple Systems Manager (SSM). // // Share a document publicly or privately. If you share a document privately, // you must specify the AWS user account IDs for those people who can use the @@ -1857,7 +3843,7 @@ func (c *SSM) ModifyDocumentPermissionRequest(input *ModifyDocumentPermissionInp // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation ModifyDocumentPermission for usage and error information. // // Returned Error Codes: @@ -1885,6 +3871,344 @@ func (c *SSM) ModifyDocumentPermission(input *ModifyDocumentPermissionInput) (*M return out, err } +const opPutInventory = "PutInventory" + +// PutInventoryRequest generates a "aws/request.Request" representing the +// client's request for the PutInventory operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutInventory for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutInventory method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutInventoryRequest method. +// req, resp := client.PutInventoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) PutInventoryRequest(input *PutInventoryInput) (req *request.Request, output *PutInventoryOutput) { + op := &request.Operation{ + Name: opPutInventory, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutInventoryInput{} + } + + req = c.newRequest(op, input, output) + output = &PutInventoryOutput{} + req.Data = output + return +} + +// PutInventory API operation for Amazon Simple Systems Manager (SSM). +// +// Bulk update custom inventory items on one more instance. The request adds +// an inventory item, if it doesn't already exist, or updates an inventory item, +// if it does exist. +// +// 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 Simple Systems Manager (SSM)'s +// API operation PutInventory for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// +// The instance is not in valid state. Valid states are: Running, Pending, Stopped, +// Stopping. Invalid states are: Shutting-down and Terminated. +// +// * InvalidTypeNameException +// The parameter type name is not valid. +// +// * InvalidItemContentException +// One or more content items is not valid. +// +// * TotalSizeLimitExceededException +// The size of inventory data has exceeded the total size limit for the resource. +// +// * ItemSizeLimitExceededException +// The inventory item size has exceeded the size limit. +// +// * ItemContentMismatchException +// The inventory item has invalid content. +// +// * CustomSchemaCountLimitExceededException +// You have exceeded the limit for custom schemas. Delete one or more custom +// schemas and try again. +// +// * UnsupportedInventorySchemaVersionException +// Inventory item type schema version has to match supported versions in the +// service. Check output of GetInventorySchema to see the available schema version +// for each type. +// +func (c *SSM) PutInventory(input *PutInventoryInput) (*PutInventoryOutput, error) { + req, out := c.PutInventoryRequest(input) + err := req.Send() + return out, err +} + +const opPutParameter = "PutParameter" + +// PutParameterRequest generates a "aws/request.Request" representing the +// client's request for the PutParameter operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See PutParameter for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the PutParameter method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PutParameterRequest method. +// req, resp := client.PutParameterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) PutParameterRequest(input *PutParameterInput) (req *request.Request, output *PutParameterOutput) { + op := &request.Operation{ + Name: opPutParameter, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutParameterInput{} + } + + req = c.newRequest(op, input, output) + output = &PutParameterOutput{} + req.Data = output + return +} + +// PutParameter API operation for Amazon Simple Systems Manager (SSM). +// +// Add one or more paramaters to the system. +// +// 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 Simple Systems Manager (SSM)'s +// API operation PutParameter for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidKeyId +// The query key ID is not valid. +// +// * ParameterLimitExceeded +// You have exceeded the number of parameters for this AWS account. Delete one +// or more parameters and try again. +// +// * TooManyUpdates +// There are concurrent updates for a resource that supports one update at a +// time. +// +// * ParameterAlreadyExists +// The parameter already exists. You can't create duplicate parameters. +// +// * UnsupportedParameterType +// The parameter type is not supported. +// +func (c *SSM) PutParameter(input *PutParameterInput) (*PutParameterOutput, error) { + req, out := c.PutParameterRequest(input) + err := req.Send() + return out, err +} + +const opRegisterTargetWithMaintenanceWindow = "RegisterTargetWithMaintenanceWindow" + +// RegisterTargetWithMaintenanceWindowRequest generates a "aws/request.Request" representing the +// client's request for the RegisterTargetWithMaintenanceWindow operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterTargetWithMaintenanceWindow for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterTargetWithMaintenanceWindow method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterTargetWithMaintenanceWindowRequest method. +// req, resp := client.RegisterTargetWithMaintenanceWindowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) RegisterTargetWithMaintenanceWindowRequest(input *RegisterTargetWithMaintenanceWindowInput) (req *request.Request, output *RegisterTargetWithMaintenanceWindowOutput) { + op := &request.Operation{ + Name: opRegisterTargetWithMaintenanceWindow, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RegisterTargetWithMaintenanceWindowInput{} + } + + req = c.newRequest(op, input, output) + output = &RegisterTargetWithMaintenanceWindowOutput{} + req.Data = output + return +} + +// RegisterTargetWithMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM). +// +// Registers a target with a Maintenance Window. +// +// 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 Simple Systems Manager (SSM)'s +// API operation RegisterTargetWithMaintenanceWindow for usage and error information. +// +// Returned Error Codes: +// * IdempotentParameterMismatch +// Error returned when an idempotent operation is retried and the parameters +// don’t match the original call to the API with the same idempotency token. +// +// * DoesNotExistException +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn’t exist. +// +// * ResourceLimitExceededException +// Error returned when the caller has exceeded the default resource limits (e.g. +// too many Maintenance Windows have been created). +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) RegisterTargetWithMaintenanceWindow(input *RegisterTargetWithMaintenanceWindowInput) (*RegisterTargetWithMaintenanceWindowOutput, error) { + req, out := c.RegisterTargetWithMaintenanceWindowRequest(input) + err := req.Send() + return out, err +} + +const opRegisterTaskWithMaintenanceWindow = "RegisterTaskWithMaintenanceWindow" + +// RegisterTaskWithMaintenanceWindowRequest generates a "aws/request.Request" representing the +// client's request for the RegisterTaskWithMaintenanceWindow operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RegisterTaskWithMaintenanceWindow for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RegisterTaskWithMaintenanceWindow method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RegisterTaskWithMaintenanceWindowRequest method. +// req, resp := client.RegisterTaskWithMaintenanceWindowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) RegisterTaskWithMaintenanceWindowRequest(input *RegisterTaskWithMaintenanceWindowInput) (req *request.Request, output *RegisterTaskWithMaintenanceWindowOutput) { + op := &request.Operation{ + Name: opRegisterTaskWithMaintenanceWindow, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RegisterTaskWithMaintenanceWindowInput{} + } + + req = c.newRequest(op, input, output) + output = &RegisterTaskWithMaintenanceWindowOutput{} + req.Data = output + return +} + +// RegisterTaskWithMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM). +// +// Adds a new task to a Maintenance Window. +// +// 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 Simple Systems Manager (SSM)'s +// API operation RegisterTaskWithMaintenanceWindow for usage and error information. +// +// Returned Error Codes: +// * IdempotentParameterMismatch +// Error returned when an idempotent operation is retried and the parameters +// don’t match the original call to the API with the same idempotency token. +// +// * DoesNotExistException +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn’t exist. +// +// * ResourceLimitExceededException +// Error returned when the caller has exceeded the default resource limits (e.g. +// too many Maintenance Windows have been created). +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) RegisterTaskWithMaintenanceWindow(input *RegisterTaskWithMaintenanceWindowInput) (*RegisterTaskWithMaintenanceWindowOutput, error) { + req, out := c.RegisterTaskWithMaintenanceWindowRequest(input) + err := req.Send() + return out, err +} + const opRemoveTagsFromResource = "RemoveTagsFromResource" // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the @@ -1928,7 +4252,7 @@ func (c *SSM) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) return } -// RemoveTagsFromResource API operation for Amazon Simple Systems Management Service. +// RemoveTagsFromResource API operation for Amazon Simple Systems Manager (SSM). // // Removes all tags from the specified resource. // @@ -1936,7 +4260,7 @@ func (c *SSM) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation RemoveTagsFromResource for usage and error information. // // Returned Error Codes: @@ -2000,7 +4324,7 @@ func (c *SSM) SendCommandRequest(input *SendCommandInput) (req *request.Request, return } -// SendCommand API operation for Amazon Simple Systems Management Service. +// SendCommand API operation for Amazon Simple Systems Manager (SSM). // // Executes commands on one or more remote instances. // @@ -2008,7 +4332,7 @@ func (c *SSM) SendCommandRequest(input *SendCommandInput) (req *request.Request, // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation SendCommand for usage and error information. // // Returned Error Codes: @@ -2019,6 +4343,17 @@ func (c *SSM) SendCommandRequest(input *SendCommandInput) (req *request.Request, // An error occurred on the server side. // // * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// // The instance is not in valid state. Valid states are: Running, Pending, Stopped, // Stopping. Invalid states are: Shutting-down and Terminated. // @@ -2042,8 +4377,8 @@ func (c *SSM) SendCommandRequest(input *SendCommandInput) (req *request.Request, // * InvalidRole // The role name can't contain invalid characters. Also verify that you specified // an IAM role for notifications that includes the required trust policy. For -// information about configuring the IAM role for SSM notifications, see Configuring -// SNS Notifications SSM (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/rc-sns.html) +// information about configuring the IAM role for Run Command notifications, +// see Getting Amazon SNS Notifications When a Command Changes Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/rc-sns.html) // in the Amazon Elastic Compute Cloud User Guide . // // * InvalidNotificationConfig @@ -2056,6 +4391,241 @@ func (c *SSM) SendCommand(input *SendCommandInput) (*SendCommandOutput, error) { return out, err } +const opStartAutomationExecution = "StartAutomationExecution" + +// StartAutomationExecutionRequest generates a "aws/request.Request" representing the +// client's request for the StartAutomationExecution operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StartAutomationExecution for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StartAutomationExecution method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StartAutomationExecutionRequest method. +// req, resp := client.StartAutomationExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) StartAutomationExecutionRequest(input *StartAutomationExecutionInput) (req *request.Request, output *StartAutomationExecutionOutput) { + op := &request.Operation{ + Name: opStartAutomationExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartAutomationExecutionInput{} + } + + req = c.newRequest(op, input, output) + output = &StartAutomationExecutionOutput{} + req.Data = output + return +} + +// StartAutomationExecution API operation for Amazon Simple Systems Manager (SSM). +// +// Initiates execution of an Automation document. +// +// 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 Simple Systems Manager (SSM)'s +// API operation StartAutomationExecution for usage and error information. +// +// Returned Error Codes: +// * AutomationDefinitionNotFoundException +// An Automation document with the specified name could not be found. +// +// * InvalidAutomationExecutionParametersException +// The supplied parameters for invoking the specified Automation document are +// incorrect. For example, they may not match the set of parameters permitted +// for the specified Automation document. +// +// * AutomationExecutionLimitExceededException +// The number of simultaneously running Automation executions exceeded the allowable +// limit. +// +// * AutomationDefinitionVersionNotFoundException +// An Automation document with the specified name and version could not be found. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) StartAutomationExecution(input *StartAutomationExecutionInput) (*StartAutomationExecutionOutput, error) { + req, out := c.StartAutomationExecutionRequest(input) + err := req.Send() + return out, err +} + +const opStopAutomationExecution = "StopAutomationExecution" + +// StopAutomationExecutionRequest generates a "aws/request.Request" representing the +// client's request for the StopAutomationExecution operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See StopAutomationExecution for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the StopAutomationExecution method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the StopAutomationExecutionRequest method. +// req, resp := client.StopAutomationExecutionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) StopAutomationExecutionRequest(input *StopAutomationExecutionInput) (req *request.Request, output *StopAutomationExecutionOutput) { + op := &request.Operation{ + Name: opStopAutomationExecution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopAutomationExecutionInput{} + } + + req = c.newRequest(op, input, output) + output = &StopAutomationExecutionOutput{} + req.Data = output + return +} + +// StopAutomationExecution API operation for Amazon Simple Systems Manager (SSM). +// +// Stop an Automation that is currently executing. +// +// 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 Simple Systems Manager (SSM)'s +// API operation StopAutomationExecution for usage and error information. +// +// Returned Error Codes: +// * AutomationExecutionNotFoundException +// There is no automation execution information for the requested automation +// execution ID. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) StopAutomationExecution(input *StopAutomationExecutionInput) (*StopAutomationExecutionOutput, error) { + req, out := c.StopAutomationExecutionRequest(input) + err := req.Send() + return out, err +} + +const opUpdateAssociation = "UpdateAssociation" + +// UpdateAssociationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAssociation operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateAssociation for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateAssociation method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateAssociationRequest method. +// req, resp := client.UpdateAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) UpdateAssociationRequest(input *UpdateAssociationInput) (req *request.Request, output *UpdateAssociationOutput) { + op := &request.Operation{ + Name: opUpdateAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateAssociationInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateAssociationOutput{} + req.Data = output + return +} + +// UpdateAssociation API operation for Amazon Simple Systems Manager (SSM). +// +// Updates an association. You can only update the document version, schedule, +// parameters, and Amazon S3 output of an 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 Amazon Simple Systems Manager (SSM)'s +// API operation UpdateAssociation for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidSchedule +// The schedule is invalid. Verify your cron or rate expression and try again. +// +// * InvalidParameters +// You must specify values for all required parameters in the SSM document. +// You can only supply values to parameters defined in the SSM document. +// +// * InvalidOutputLocation +// The output location is not valid or does not exist. +// +// * InvalidDocumentVersion +// The document version is not valid or does not exist. +// +// * AssociationDoesNotExist +// The specified association does not exist. +// +// * InvalidUpdate +// The update is not valid. +// +// * TooManyUpdates +// There are concurrent updates for a resource that supports one update at a +// time. +// +func (c *SSM) UpdateAssociation(input *UpdateAssociationInput) (*UpdateAssociationOutput, error) { + req, out := c.UpdateAssociationRequest(input) + err := req.Send() + return out, err +} + const opUpdateAssociationStatus = "UpdateAssociationStatus" // UpdateAssociationStatusRequest generates a "aws/request.Request" representing the @@ -2099,7 +4669,7 @@ func (c *SSM) UpdateAssociationStatusRequest(input *UpdateAssociationStatusInput return } -// UpdateAssociationStatus API operation for Amazon Simple Systems Management Service. +// UpdateAssociationStatus API operation for Amazon Simple Systems Manager (SSM). // // Updates the status of the SSM document associated with the specified instance. // @@ -2107,7 +4677,7 @@ func (c *SSM) UpdateAssociationStatusRequest(input *UpdateAssociationStatusInput // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation UpdateAssociationStatus for usage and error information. // // Returned Error Codes: @@ -2115,6 +4685,17 @@ func (c *SSM) UpdateAssociationStatusRequest(input *UpdateAssociationStatusInput // An error occurred on the server side. // // * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// // The instance is not in valid state. Valid states are: Running, Pending, Stopped, // Stopping. Invalid states are: Shutting-down and Terminated. // @@ -2137,6 +4718,234 @@ func (c *SSM) UpdateAssociationStatus(input *UpdateAssociationStatusInput) (*Upd return out, err } +const opUpdateDocument = "UpdateDocument" + +// UpdateDocumentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDocument operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateDocument for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateDocument method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateDocumentRequest method. +// req, resp := client.UpdateDocumentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) UpdateDocumentRequest(input *UpdateDocumentInput) (req *request.Request, output *UpdateDocumentOutput) { + op := &request.Operation{ + Name: opUpdateDocument, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDocumentInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateDocumentOutput{} + req.Data = output + return +} + +// UpdateDocument API operation for Amazon Simple Systems Manager (SSM). +// +// The document you want to update. +// +// 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 Simple Systems Manager (SSM)'s +// API operation UpdateDocument for usage and error information. +// +// Returned Error Codes: +// * MaxDocumentSizeExceeded +// The size limit of an SSM document is 64 KB. +// +// * DocumentVersionLimitExceeded +// The document has too many versions. Delete one or more document versions +// and try again. +// +// * InternalServerError +// An error occurred on the server side. +// +// * DuplicateDocumentContent +// The content of the association document matches another document. Change +// the content of the document and try again. +// +// * InvalidDocumentContent +// The content for the SSM document is not valid. +// +// * InvalidDocumentVersion +// The document version is not valid or does not exist. +// +// * InvalidDocumentSchemaVersion +// The version of the document schema is not supported. +// +// * InvalidDocument +// The specified document does not exist. +// +func (c *SSM) UpdateDocument(input *UpdateDocumentInput) (*UpdateDocumentOutput, error) { + req, out := c.UpdateDocumentRequest(input) + err := req.Send() + return out, err +} + +const opUpdateDocumentDefaultVersion = "UpdateDocumentDefaultVersion" + +// UpdateDocumentDefaultVersionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDocumentDefaultVersion operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateDocumentDefaultVersion for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateDocumentDefaultVersion method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateDocumentDefaultVersionRequest method. +// req, resp := client.UpdateDocumentDefaultVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) UpdateDocumentDefaultVersionRequest(input *UpdateDocumentDefaultVersionInput) (req *request.Request, output *UpdateDocumentDefaultVersionOutput) { + op := &request.Operation{ + Name: opUpdateDocumentDefaultVersion, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDocumentDefaultVersionInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateDocumentDefaultVersionOutput{} + req.Data = output + return +} + +// UpdateDocumentDefaultVersion API operation for Amazon Simple Systems Manager (SSM). +// +// Set the default version of a document. +// +// 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 Simple Systems Manager (SSM)'s +// API operation UpdateDocumentDefaultVersion for usage and error information. +// +// Returned Error Codes: +// * InternalServerError +// An error occurred on the server side. +// +// * InvalidDocument +// The specified document does not exist. +// +// * InvalidDocumentVersion +// The document version is not valid or does not exist. +// +// * InvalidDocumentSchemaVersion +// The version of the document schema is not supported. +// +func (c *SSM) UpdateDocumentDefaultVersion(input *UpdateDocumentDefaultVersionInput) (*UpdateDocumentDefaultVersionOutput, error) { + req, out := c.UpdateDocumentDefaultVersionRequest(input) + err := req.Send() + return out, err +} + +const opUpdateMaintenanceWindow = "UpdateMaintenanceWindow" + +// UpdateMaintenanceWindowRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMaintenanceWindow operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See UpdateMaintenanceWindow for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the UpdateMaintenanceWindow method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UpdateMaintenanceWindowRequest method. +// req, resp := client.UpdateMaintenanceWindowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *SSM) UpdateMaintenanceWindowRequest(input *UpdateMaintenanceWindowInput) (req *request.Request, output *UpdateMaintenanceWindowOutput) { + op := &request.Operation{ + Name: opUpdateMaintenanceWindow, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateMaintenanceWindowInput{} + } + + req = c.newRequest(op, input, output) + output = &UpdateMaintenanceWindowOutput{} + req.Data = output + return +} + +// UpdateMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM). +// +// Updates an existing Maintenance Window. Only specified parameters are modified. +// +// 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 Simple Systems Manager (SSM)'s +// API operation UpdateMaintenanceWindow for usage and error information. +// +// Returned Error Codes: +// * DoesNotExistException +// Error returned when the ID specified for a resource (e.g. a Maintenance Window) +// doesn’t exist. +// +// * InternalServerError +// An error occurred on the server side. +// +func (c *SSM) UpdateMaintenanceWindow(input *UpdateMaintenanceWindowInput) (*UpdateMaintenanceWindowOutput, error) { + req, out := c.UpdateMaintenanceWindowRequest(input) + err := req.Send() + return out, err +} + const opUpdateManagedInstanceRole = "UpdateManagedInstanceRole" // UpdateManagedInstanceRoleRequest generates a "aws/request.Request" representing the @@ -2180,7 +4989,7 @@ func (c *SSM) UpdateManagedInstanceRoleRequest(input *UpdateManagedInstanceRoleI return } -// UpdateManagedInstanceRole API operation for Amazon Simple Systems Management Service. +// UpdateManagedInstanceRole API operation for Amazon Simple Systems Manager (SSM). // // Assigns or changes an Amazon Identity and Access Management (IAM) role to // the managed instance. @@ -2189,11 +4998,22 @@ func (c *SSM) UpdateManagedInstanceRoleRequest(input *UpdateManagedInstanceRoleI // with awserr.Error's Code and Message methods to get detailed information about // the error. // -// See the AWS API reference guide for Amazon Simple Systems Management Service's +// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s // API operation UpdateManagedInstanceRole for usage and error information. // // Returned Error Codes: // * InvalidInstanceId +// The following problems can cause this exception: +// +// You do not have permission to access the instance. +// +// The SSM agent is not running. On managed instances and Linux instances, verify +// that the SSM agent is running. On EC2 Windows instances, verify that the +// EC2Config service is running. +// +// The SSM agent or EC2Config service is not registered to the SSM endpoint. +// Try reinstalling the SSM agent or EC2Config service. +// // The instance is not in valid state. Valid states are: Running, Pending, Stopped, // Stopping. Invalid states are: Shutting-down and Terminated. // @@ -2212,7 +5032,7 @@ func (c *SSM) UpdateManagedInstanceRole(input *UpdateManagedInstanceRoleInput) ( type Activation struct { _ struct{} `type:"structure"` - // The ID created by SSM when you submitted the activation. + // The ID created by Systems Manager when you submitted the activation. ActivationId *string `type:"string"` // The date the activation was created. @@ -2402,11 +5222,30 @@ func (s AddTagsToResourceOutput) GoString() string { type Association struct { _ struct{} `type:"structure"` + // The ID created by the system when you create an association. An association + // is a binding between a document and a set of targets with a schedule. + AssociationId *string `type:"string"` + + // The version of the document used in the association. + DocumentVersion *string `type:"string"` + // The ID of the instance. InstanceId *string `type:"string"` + // The date on which the association was last run. + LastExecutionDate *time.Time `type:"timestamp" timestampFormat:"unix"` + // The name of the SSM document. Name *string `type:"string"` + + // Information about the association. + Overview *AssociationOverview `type:"structure"` + + // A cron expression that specifies a schedule when the association runs. + ScheduleExpression *string `min:"1" type:"string"` + + // The instances targeted by the request to create an association. + Targets []*Target `type:"list"` } // String returns the string representation @@ -2419,36 +5258,99 @@ func (s Association) GoString() string { return s.String() } +// SetAssociationId sets the AssociationId field's value. +func (s *Association) SetAssociationId(v string) *Association { + s.AssociationId = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *Association) SetDocumentVersion(v string) *Association { + s.DocumentVersion = &v + return s +} + // SetInstanceId sets the InstanceId field's value. func (s *Association) SetInstanceId(v string) *Association { s.InstanceId = &v return s } +// SetLastExecutionDate sets the LastExecutionDate field's value. +func (s *Association) SetLastExecutionDate(v time.Time) *Association { + s.LastExecutionDate = &v + return s +} + // SetName sets the Name field's value. func (s *Association) SetName(v string) *Association { s.Name = &v return s } +// SetOverview sets the Overview field's value. +func (s *Association) SetOverview(v *AssociationOverview) *Association { + s.Overview = v + return s +} + +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *Association) SetScheduleExpression(v string) *Association { + s.ScheduleExpression = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *Association) SetTargets(v []*Target) *Association { + s.Targets = v + return s +} + // Describes the parameters for a document. type AssociationDescription struct { _ struct{} `type:"structure"` + // The association ID. + AssociationId *string `type:"string"` + // The date when the association was made. Date *time.Time `type:"timestamp" timestampFormat:"unix"` + // The document version. + DocumentVersion *string `type:"string"` + // The ID of the instance. InstanceId *string `type:"string"` + // The date on which the association was last run. + LastExecutionDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The last date on which the association was successfully run. + LastSuccessfulExecutionDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The date when the association was last updated. + LastUpdateAssociationDate *time.Time `type:"timestamp" timestampFormat:"unix"` + // The name of the SSM document. Name *string `type:"string"` + // An Amazon S3 bucket where you want to store the output details of the request. + OutputLocation *InstanceAssociationOutputLocation `type:"structure"` + + // Information about the association. + Overview *AssociationOverview `type:"structure"` + // A description of the parameters for a document. Parameters map[string][]*string `type:"map"` + // A cron expression that specifies a schedule when the association runs. + ScheduleExpression *string `min:"1" type:"string"` + // The association status. Status *AssociationStatus `type:"structure"` + + // The instances targeted by the request. + Targets []*Target `type:"list"` } // String returns the string representation @@ -2461,36 +5363,90 @@ func (s AssociationDescription) GoString() string { return s.String() } +// SetAssociationId sets the AssociationId field's value. +func (s *AssociationDescription) SetAssociationId(v string) *AssociationDescription { + s.AssociationId = &v + return s +} + // SetDate sets the Date field's value. func (s *AssociationDescription) SetDate(v time.Time) *AssociationDescription { s.Date = &v return s } +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *AssociationDescription) SetDocumentVersion(v string) *AssociationDescription { + s.DocumentVersion = &v + return s +} + // SetInstanceId sets the InstanceId field's value. func (s *AssociationDescription) SetInstanceId(v string) *AssociationDescription { s.InstanceId = &v return s } +// SetLastExecutionDate sets the LastExecutionDate field's value. +func (s *AssociationDescription) SetLastExecutionDate(v time.Time) *AssociationDescription { + s.LastExecutionDate = &v + return s +} + +// SetLastSuccessfulExecutionDate sets the LastSuccessfulExecutionDate field's value. +func (s *AssociationDescription) SetLastSuccessfulExecutionDate(v time.Time) *AssociationDescription { + s.LastSuccessfulExecutionDate = &v + return s +} + +// SetLastUpdateAssociationDate sets the LastUpdateAssociationDate field's value. +func (s *AssociationDescription) SetLastUpdateAssociationDate(v time.Time) *AssociationDescription { + s.LastUpdateAssociationDate = &v + return s +} + // SetName sets the Name field's value. func (s *AssociationDescription) SetName(v string) *AssociationDescription { s.Name = &v return s } +// SetOutputLocation sets the OutputLocation field's value. +func (s *AssociationDescription) SetOutputLocation(v *InstanceAssociationOutputLocation) *AssociationDescription { + s.OutputLocation = v + return s +} + +// SetOverview sets the Overview field's value. +func (s *AssociationDescription) SetOverview(v *AssociationOverview) *AssociationDescription { + s.Overview = v + return s +} + // SetParameters sets the Parameters field's value. func (s *AssociationDescription) SetParameters(v map[string][]*string) *AssociationDescription { s.Parameters = v return s } +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *AssociationDescription) SetScheduleExpression(v string) *AssociationDescription { + s.ScheduleExpression = &v + return s +} + // SetStatus sets the Status field's value. func (s *AssociationDescription) SetStatus(v *AssociationStatus) *AssociationDescription { s.Status = v return s } +// SetTargets sets the Targets field's value. +func (s *AssociationDescription) SetTargets(v []*Target) *AssociationDescription { + s.Targets = v + return s +} + // Describes a filter. type AssociationFilter struct { _ struct{} `type:"structure"` @@ -2547,6 +5503,50 @@ func (s *AssociationFilter) SetValue(v string) *AssociationFilter { return s } +// Information about the association. +type AssociationOverview struct { + _ struct{} `type:"structure"` + + // Returns the number of targets for the association status. For example, if + // you created an association with two instances, and one of them was successful, + // this would return the count of instances by status. + AssociationStatusAggregatedCount map[string]*int64 `type:"map"` + + // A detailed status of the association. + DetailedStatus *string `type:"string"` + + // The status of the association. Status can be: Pending, Success, or Failed. + Status *string `type:"string"` +} + +// String returns the string representation +func (s AssociationOverview) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociationOverview) GoString() string { + return s.String() +} + +// SetAssociationStatusAggregatedCount sets the AssociationStatusAggregatedCount field's value. +func (s *AssociationOverview) SetAssociationStatusAggregatedCount(v map[string]*int64) *AssociationOverview { + s.AssociationStatusAggregatedCount = v + return s +} + +// SetDetailedStatus sets the DetailedStatus field's value. +func (s *AssociationOverview) SetDetailedStatus(v string) *AssociationOverview { + s.DetailedStatus = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AssociationOverview) SetStatus(v string) *AssociationOverview { + s.Status = &v + return s +} + // Describes an association status. type AssociationStatus struct { _ struct{} `type:"structure"` @@ -2562,7 +5562,7 @@ type AssociationStatus struct { // The reason for the status. // // Message is a required field - Message *string `type:"string" required:"true"` + Message *string `min:"1" type:"string" required:"true"` // The status. // @@ -2589,6 +5589,9 @@ func (s *AssociationStatus) Validate() error { if s.Message == nil { invalidParams.Add(request.NewErrParamRequired("Message")) } + if s.Message != nil && len(*s.Message) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Message", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -2623,6 +5626,271 @@ func (s *AssociationStatus) SetName(v string) *AssociationStatus { return s } +// Detailed information about the current state of an individual Automation +// execution. +type AutomationExecution struct { + _ struct{} `type:"structure"` + + // The execution ID. + AutomationExecutionId *string `min:"36" type:"string"` + + // The execution status of the Automation. + AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"` + + // The name of the Automation document used during the execution. + DocumentName *string `type:"string"` + + // The version of the document to use during execution. + DocumentVersion *string `type:"string"` + + // The time the execution finished. + ExecutionEndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The time the execution started. + ExecutionStartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // A message describing why an execution has failed, if the status is set to + // Failed. + FailureMessage *string `type:"string"` + + // The list of execution outputs as defined in the automation document. + Outputs map[string][]*string `min:"1" type:"map"` + + // The key-value map of execution parameters, which were supplied when calling + // StartAutomationExecution. + Parameters map[string][]*string `min:"1" type:"map"` + + // A list of details about the current state of all steps that comprise an execution. + // An Automation document contains a list of steps that are executed in order. + StepExecutions []*StepExecution `type:"list"` +} + +// String returns the string representation +func (s AutomationExecution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutomationExecution) GoString() string { + return s.String() +} + +// SetAutomationExecutionId sets the AutomationExecutionId field's value. +func (s *AutomationExecution) SetAutomationExecutionId(v string) *AutomationExecution { + s.AutomationExecutionId = &v + return s +} + +// SetAutomationExecutionStatus sets the AutomationExecutionStatus field's value. +func (s *AutomationExecution) SetAutomationExecutionStatus(v string) *AutomationExecution { + s.AutomationExecutionStatus = &v + return s +} + +// SetDocumentName sets the DocumentName field's value. +func (s *AutomationExecution) SetDocumentName(v string) *AutomationExecution { + s.DocumentName = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *AutomationExecution) SetDocumentVersion(v string) *AutomationExecution { + s.DocumentVersion = &v + return s +} + +// SetExecutionEndTime sets the ExecutionEndTime field's value. +func (s *AutomationExecution) SetExecutionEndTime(v time.Time) *AutomationExecution { + s.ExecutionEndTime = &v + return s +} + +// SetExecutionStartTime sets the ExecutionStartTime field's value. +func (s *AutomationExecution) SetExecutionStartTime(v time.Time) *AutomationExecution { + s.ExecutionStartTime = &v + return s +} + +// SetFailureMessage sets the FailureMessage field's value. +func (s *AutomationExecution) SetFailureMessage(v string) *AutomationExecution { + s.FailureMessage = &v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *AutomationExecution) SetOutputs(v map[string][]*string) *AutomationExecution { + s.Outputs = v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *AutomationExecution) SetParameters(v map[string][]*string) *AutomationExecution { + s.Parameters = v + return s +} + +// SetStepExecutions sets the StepExecutions field's value. +func (s *AutomationExecution) SetStepExecutions(v []*StepExecution) *AutomationExecution { + s.StepExecutions = v + return s +} + +// A filter used to match specific automation executions. This is used to limit +// the scope of Automation execution information returned. +type AutomationExecutionFilter struct { + _ struct{} `type:"structure"` + + // The aspect of the Automation execution information that should be limited. + // + // Key is a required field + Key *string `type:"string" required:"true" enum:"AutomationExecutionFilterKey"` + + // The values used to limit the execution information associated with the filter's + // key. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s AutomationExecutionFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutomationExecutionFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AutomationExecutionFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AutomationExecutionFilter"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *AutomationExecutionFilter) SetKey(v string) *AutomationExecutionFilter { + s.Key = &v + return s +} + +// SetValues sets the Values field's value. +func (s *AutomationExecutionFilter) SetValues(v []*string) *AutomationExecutionFilter { + s.Values = v + return s +} + +// Details about a specific Automation execution. +type AutomationExecutionMetadata struct { + _ struct{} `type:"structure"` + + // The execution ID. + AutomationExecutionId *string `min:"36" type:"string"` + + // The status of the execution. Valid values include: Running, Succeeded, Failed, + // Timed out, or Cancelled. + AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"` + + // The name of the Automation document used during execution. + DocumentName *string `type:"string"` + + // The document version used during the execution. + DocumentVersion *string `type:"string"` + + // The IAM role ARN of the user who executed the Automation. + ExecutedBy *string `type:"string"` + + // The time the execution finished. This is not populated if the execution is + // still in progress. + ExecutionEndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The time the execution started.> + ExecutionStartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // An Amazon S3 bucket where execution information is stored. + LogFile *string `type:"string"` + + // The list of execution outputs as defined in the Automation document. + Outputs map[string][]*string `min:"1" type:"map"` +} + +// String returns the string representation +func (s AutomationExecutionMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutomationExecutionMetadata) GoString() string { + return s.String() +} + +// SetAutomationExecutionId sets the AutomationExecutionId field's value. +func (s *AutomationExecutionMetadata) SetAutomationExecutionId(v string) *AutomationExecutionMetadata { + s.AutomationExecutionId = &v + return s +} + +// SetAutomationExecutionStatus sets the AutomationExecutionStatus field's value. +func (s *AutomationExecutionMetadata) SetAutomationExecutionStatus(v string) *AutomationExecutionMetadata { + s.AutomationExecutionStatus = &v + return s +} + +// SetDocumentName sets the DocumentName field's value. +func (s *AutomationExecutionMetadata) SetDocumentName(v string) *AutomationExecutionMetadata { + s.DocumentName = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *AutomationExecutionMetadata) SetDocumentVersion(v string) *AutomationExecutionMetadata { + s.DocumentVersion = &v + return s +} + +// SetExecutedBy sets the ExecutedBy field's value. +func (s *AutomationExecutionMetadata) SetExecutedBy(v string) *AutomationExecutionMetadata { + s.ExecutedBy = &v + return s +} + +// SetExecutionEndTime sets the ExecutionEndTime field's value. +func (s *AutomationExecutionMetadata) SetExecutionEndTime(v time.Time) *AutomationExecutionMetadata { + s.ExecutionEndTime = &v + return s +} + +// SetExecutionStartTime sets the ExecutionStartTime field's value. +func (s *AutomationExecutionMetadata) SetExecutionStartTime(v time.Time) *AutomationExecutionMetadata { + s.ExecutionStartTime = &v + return s +} + +// SetLogFile sets the LogFile field's value. +func (s *AutomationExecutionMetadata) SetLogFile(v string) *AutomationExecutionMetadata { + s.LogFile = &v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *AutomationExecutionMetadata) SetOutputs(v map[string][]*string) *AutomationExecutionMetadata { + s.Outputs = v + return s +} + type CancelCommandInput struct { _ struct{} `type:"structure"` @@ -2634,7 +5902,7 @@ type CancelCommandInput struct { // (Optional) A list of instance IDs on which you want to cancel the command. // If not provided, the command is canceled on every instance on which it was // requested. - InstanceIds []*string `min:"1" type:"list"` + InstanceIds []*string `type:"list"` } // String returns the string representation @@ -2656,9 +5924,6 @@ func (s *CancelCommandInput) Validate() error { if s.CommandId != nil && len(*s.CommandId) < 36 { invalidParams.Add(request.NewErrParamMinLen("CommandId", 36)) } - if s.InstanceIds != nil && len(s.InstanceIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InstanceIds", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -2705,16 +5970,42 @@ type Command struct { // of what the command should do. Comment *string `type:"string"` + // The number of targets for which the command invocation reached a terminal + // state. Terminal states include the following: Success, Failed, Execution + // Timed Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable. + CompletedCount *int64 `type:"integer"` + // The name of the SSM document requested for execution. DocumentName *string `type:"string"` + // The number of targets for which the status is Failed or Execution Timed Out. + ErrorCount *int64 `type:"integer"` + // If this time is reached and the command has not already started executing, // it will not execute. Calculated based on the ExpiresAfter user input provided // as part of the SendCommand API. ExpiresAfter *time.Time `type:"timestamp" timestampFormat:"unix"` // The instance IDs against which this command was requested. - InstanceIds []*string `min:"1" type:"list"` + InstanceIds []*string `type:"list"` + + // The maximum number of instances that are allowed to execute the command at + // the same time. You can specify a number of instances, such as 10, or a percentage + // of instances, such as 10%. The default value is 50. For more information + // about how to use MaxConcurrency, see Executing a Command Using Amazon EC2 + // Run Command (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html) + // (Linux) or Executing a Command Using Amazon EC2 Run Command (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html) + // (Windows). + MaxConcurrency *string `min:"1" type:"string"` + + // The maximum number of errors allowed before the system stops sending the + // command to additional targets. You can specify a number of errors, such as + // 10, or a percentage or errors, such as 10%. The default value is 50. For + // more information about how to use MaxErrors, see Executing a Command Using + // Amazon EC2 Run Command (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html) + // (Linux) or Executing a Command Using Amazon EC2 Run Command (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html) + // (Windows). + MaxErrors *string `min:"1" type:"string"` // Configurations for sending notifications about command status changes. NotificationConfig *NotificationConfig `type:"structure"` @@ -2727,6 +6018,10 @@ type Command struct { // executions should be stored. This was requested when issuing the command. OutputS3KeyPrefix *string `type:"string"` + // The region where the Amazon Simple Storage Service (Amazon S3) output bucket + // is located. The default value is the region where Run Command is being called. + OutputS3Region *string `min:"3" type:"string"` + // The parameter values to be inserted in the SSM document when executing the // command. Parameters map[string][]*string `type:"map"` @@ -2734,12 +6029,56 @@ type Command struct { // The date and time the command was requested. RequestedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` - // The IAM service role that SSM uses to act on your behalf when sending notifications - // about command status changes. + // The IAM service role that Run Command uses to act on your behalf when sending + // notifications about command status changes. ServiceRole *string `type:"string"` // The status of the command. Status *string `type:"string" enum:"CommandStatus"` + + // A detailed status of the command execution. StatusDetails includes more information + // than Status because it includes states resulting from error and concurrency + // control parameters. StatusDetails can show different results than Status. + // For more information about these statuses, see Monitor Commands (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html) + // (Linux) or Monitor Commands (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitor-commands.html) + // (Windows). StatusDetails can be one of the following values: + // + // * Pending – The command has not been sent to any instances. + // + // * In Progress – The command has been sent to at least one instance but + // has not reached a final state on all instances. + // + // * Success – The command successfully executed on all invocations. This + // is a terminal state. + // + // * Delivery Timed Out – The value of MaxErrors or more command invocations + // shows a status of Delivery Timed Out. This is a terminal state. + // + // * Execution Timed Out – The value of MaxErrors or more command invocations + // shows a status of Execution Timed Out. This is a terminal state. + // + // * Failed – The value of MaxErrors or more command invocations shows a + // status of Failed. This is a terminal state. + // + // * Incomplete – The command was attempted on all instances and one or more + // invocations does not have a value of Success but not enough invocations + // failed for the status to be Failed. This is a terminal state. + // + // * Canceled – The command was terminated before it was completed. This + // is a terminal state. + // + // * Rate Exceeded – The number of instances targeted by the command exceeded + // the account limit for pending invocations. The system has canceled the + // command before executing it on any instance. This is a terminal state. + StatusDetails *string `type:"string"` + + // The number of targets for the command. + TargetCount *int64 `type:"integer"` + + // An array of search criteria that targets instances using a Key;Value combination + // that you specify. Targets is required if you don't provide one or more instance + // IDs in the call. + Targets []*Target `type:"list"` } // String returns the string representation @@ -2764,12 +6103,24 @@ func (s *Command) SetComment(v string) *Command { return s } +// SetCompletedCount sets the CompletedCount field's value. +func (s *Command) SetCompletedCount(v int64) *Command { + s.CompletedCount = &v + return s +} + // SetDocumentName sets the DocumentName field's value. func (s *Command) SetDocumentName(v string) *Command { s.DocumentName = &v return s } +// SetErrorCount sets the ErrorCount field's value. +func (s *Command) SetErrorCount(v int64) *Command { + s.ErrorCount = &v + return s +} + // SetExpiresAfter sets the ExpiresAfter field's value. func (s *Command) SetExpiresAfter(v time.Time) *Command { s.ExpiresAfter = &v @@ -2782,6 +6133,18 @@ func (s *Command) SetInstanceIds(v []*string) *Command { return s } +// SetMaxConcurrency sets the MaxConcurrency field's value. +func (s *Command) SetMaxConcurrency(v string) *Command { + s.MaxConcurrency = &v + return s +} + +// SetMaxErrors sets the MaxErrors field's value. +func (s *Command) SetMaxErrors(v string) *Command { + s.MaxErrors = &v + return s +} + // SetNotificationConfig sets the NotificationConfig field's value. func (s *Command) SetNotificationConfig(v *NotificationConfig) *Command { s.NotificationConfig = v @@ -2800,6 +6163,12 @@ func (s *Command) SetOutputS3KeyPrefix(v string) *Command { return s } +// SetOutputS3Region sets the OutputS3Region field's value. +func (s *Command) SetOutputS3Region(v string) *Command { + s.OutputS3Region = &v + return s +} + // SetParameters sets the Parameters field's value. func (s *Command) SetParameters(v map[string][]*string) *Command { s.Parameters = v @@ -2824,6 +6193,24 @@ func (s *Command) SetStatus(v string) *Command { return s } +// SetStatusDetails sets the StatusDetails field's value. +func (s *Command) SetStatusDetails(v string) *Command { + s.StatusDetails = &v + return s +} + +// SetTargetCount sets the TargetCount field's value. +func (s *Command) SetTargetCount(v int64) *Command { + s.TargetCount = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *Command) SetTargets(v []*Target) *Command { + s.Targets = v + return s +} + // Describes a command filter. type CommandFilter struct { _ struct{} `type:"structure"` @@ -2903,6 +6290,11 @@ type CommandInvocation struct { // The instance ID in which this invocation was requested. InstanceId *string `type:"string"` + // The name of the invocation target. For Amazon EC2 instances this is the value + // for the aws:Name tag. For on-premises instances, this is the name of the + // instance. + InstanceName *string `type:"string"` + // Configurations for sending notifications about command status changes on // a per instance basis. NotificationConfig *NotificationConfig `type:"structure"` @@ -2910,13 +6302,70 @@ type CommandInvocation struct { // The time and date the request was sent to this instance. RequestedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` - // The IAM service role that SSM uses to act on your behalf when sending notifications - // about command status changes on a per instance basis. + // The IAM service role that Run Command uses to act on your behalf when sending + // notifications about command status changes on a per instance basis. ServiceRole *string `type:"string"` + // The URL to the plugin’s StdErr file in Amazon S3, if the Amazon S3 bucket + // was defined for the parent command. For an invocation, StandardErrorUrl is + // populated if there is just one plugin defined for the command, and the Amazon + // S3 bucket was defined for the command. + StandardErrorUrl *string `type:"string"` + + // The URL to the plugin’s StdOut file in Amazon S3, if the Amazon S3 bucket + // was defined for the parent command. For an invocation, StandardOutputUrl + // is populated if there is just one plugin defined for the command, and the + // Amazon S3 bucket was defined for the command. + StandardOutputUrl *string `type:"string"` + // Whether or not the invocation succeeded, failed, or is pending. Status *string `type:"string" enum:"CommandInvocationStatus"` + // A detailed status of the command execution for each invocation (each instance + // targeted by the command). StatusDetails includes more information than Status + // because it includes states resulting from error and concurrency control parameters. + // StatusDetails can show different results than Status. For more information + // about these statuses, see Monitor Commands (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html) + // (Linux) or Monitor Commands (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitor-commands.html) + // (Windows). StatusDetails can be one of the following values: + // + // * Pending – The command has not been sent to the instance. + // + // * In Progress – The command has been sent to the instance but has not + // reached a terminal state. + // + // * Success – The execution of the command or plugin was successfully completed. + // This is a terminal state. + // + // * Delivery Timed Out – The command was not delivered to the instance before + // the delivery timeout expired. Delivery timeouts do not count against the + // parent command’s MaxErrors limit, but they do contribute to whether the + // parent command status is Success or Incomplete. This is a terminal state. + // + // * Execution Timed Out – Command execution started on the instance, but + // the execution was not complete before the execution timeout expired. Execution + // timeouts count against the MaxErrors limit of the parent command. This + // is a terminal state. + // + // * Failed – The command was not successful on the instance. For a plugin, + // this indicates that the result code was not zero. For a command invocation, + // this indicates that the result code for one or more plugins was not zero. + // Invocation failures count against the MaxErrors limit of the parent command. + // This is a terminal state. + // + // * Canceled – The command was terminated before it was completed. This + // is a terminal state. + // + // * Undeliverable – The command can't be delivered to the instance. The + // instance might not exist or might not be responding. Undeliverable invocations + // don't count against the parent command’s MaxErrors limit and don't contribute + // to whether the parent command status is Success or Incomplete. This is + // a terminal state. + // + // * Terminated – The parent command exceeded its MaxErrors limit and subsequent + // command invocations were canceled by the system. This is a terminal state. + StatusDetails *string `type:"string"` + // Gets the trace output sent by the agent. TraceOutput *string `type:"string"` } @@ -2961,6 +6410,12 @@ func (s *CommandInvocation) SetInstanceId(v string) *CommandInvocation { return s } +// SetInstanceName sets the InstanceName field's value. +func (s *CommandInvocation) SetInstanceName(v string) *CommandInvocation { + s.InstanceName = &v + return s +} + // SetNotificationConfig sets the NotificationConfig field's value. func (s *CommandInvocation) SetNotificationConfig(v *NotificationConfig) *CommandInvocation { s.NotificationConfig = v @@ -2979,12 +6434,30 @@ func (s *CommandInvocation) SetServiceRole(v string) *CommandInvocation { return s } +// SetStandardErrorUrl sets the StandardErrorUrl field's value. +func (s *CommandInvocation) SetStandardErrorUrl(v string) *CommandInvocation { + s.StandardErrorUrl = &v + return s +} + +// SetStandardOutputUrl sets the StandardOutputUrl field's value. +func (s *CommandInvocation) SetStandardOutputUrl(v string) *CommandInvocation { + s.StandardOutputUrl = &v + return s +} + // SetStatus sets the Status field's value. func (s *CommandInvocation) SetStatus(v string) *CommandInvocation { s.Status = &v return s } +// SetStatusDetails sets the StatusDetails field's value. +func (s *CommandInvocation) SetStatusDetails(v string) *CommandInvocation { + s.StatusDetails = &v + return s +} + // SetTraceOutput sets the TraceOutput field's value. func (s *CommandInvocation) SetTraceOutput(v string) *CommandInvocation { s.TraceOutput = &v @@ -3004,13 +6477,38 @@ type CommandPlugin struct { Output *string `type:"string"` // The S3 bucket where the responses to the command executions should be stored. - // This was requested when issuing the command. + // This was requested when issuing the command. For example, in the following + // response: + // + // test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript + // + // test_folder is the name of the Amazon S3 bucket; + // + // ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix; + // + // i-1234567876543 is the instance ID; + // + // awsrunShellScript is the name of the plugin. OutputS3BucketName *string `min:"3" type:"string"` // The S3 directory path inside the bucket where the responses to the command // executions should be stored. This was requested when issuing the command. + // For example, in the following response: + // + // test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript + // + // test_folder is the name of the Amazon S3 bucket; + // + // ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix; + // + // i-1234567876543 is the instance ID; + // + // awsrunShellScript is the name of the plugin. OutputS3KeyPrefix *string `type:"string"` + // The name of the region where the output is stored in Amazon S3. + OutputS3Region *string `min:"3" type:"string"` + // A numeric response code generated after executing the plugin. ResponseCode *int64 `type:"integer"` @@ -3021,8 +6519,61 @@ type CommandPlugin struct { // The time the plugin started executing. ResponseStartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + // The URL for the complete text written by the plugin to stderr. If execution + // is not yet complete, then this string is empty. + StandardErrorUrl *string `type:"string"` + + // The URL for the complete text written by the plugin to stdout in Amazon S3. + // If the Amazon S3 bucket for the command was not specified, then this string + // is empty. + StandardOutputUrl *string `type:"string"` + // The status of this plugin. You can execute a document with multiple plugins. Status *string `type:"string" enum:"CommandPluginStatus"` + + // A detailed status of the plugin execution. StatusDetails includes more information + // than Status because it includes states resulting from error and concurrency + // control parameters. StatusDetails can show different results than Status. + // For more information about these statuses, see Monitor Commands (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html) + // (Linux) or Monitor Commands (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitor-commands.html) + // (Windows). StatusDetails can be one of the following values: + // + // * Pending – The command has not been sent to the instance. + // + // * In Progress – The command has been sent to the instance but has not + // reached a terminal state. + // + // * Success – The execution of the command or plugin was successfully completed. + // This is a terminal state. + // + // * Delivery Timed Out – The command was not delivered to the instance before + // the delivery timeout expired. Delivery timeouts do not count against the + // parent command’s MaxErrors limit, but they do contribute to whether the + // parent command status is Success or Incomplete. This is a terminal state. + // + // * Execution Timed Out – Command execution started on the instance, but + // the execution was not complete before the execution timeout expired. Execution + // timeouts count against the MaxErrors limit of the parent command. This + // is a terminal state. + // + // * Failed – The command was not successful on the instance. For a plugin, + // this indicates that the result code was not zero. For a command invocation, + // this indicates that the result code for one or more plugins was not zero. + // Invocation failures count against the MaxErrors limit of the parent command. + // This is a terminal state. + // + // * Canceled – The command was terminated before it was completed. This + // is a terminal state. + // + // * Undeliverable – The command can't be delivered to the instance. The + // instance might not exist, or it might not be responding. Undeliverable + // invocations don't count against the parent command’s MaxErrors limit, + // and they don't contribute to whether the parent command status is Success + // or Incomplete. This is a terminal state. + // + // * Terminated – The parent command exceeded its MaxErrors limit and subsequent + // command invocations were canceled by the system. This is a terminal state. + StatusDetails *string `type:"string"` } // String returns the string representation @@ -3059,6 +6610,12 @@ func (s *CommandPlugin) SetOutputS3KeyPrefix(v string) *CommandPlugin { return s } +// SetOutputS3Region sets the OutputS3Region field's value. +func (s *CommandPlugin) SetOutputS3Region(v string) *CommandPlugin { + s.OutputS3Region = &v + return s +} + // SetResponseCode sets the ResponseCode field's value. func (s *CommandPlugin) SetResponseCode(v int64) *CommandPlugin { s.ResponseCode = &v @@ -3077,12 +6634,30 @@ func (s *CommandPlugin) SetResponseStartDateTime(v time.Time) *CommandPlugin { return s } +// SetStandardErrorUrl sets the StandardErrorUrl field's value. +func (s *CommandPlugin) SetStandardErrorUrl(v string) *CommandPlugin { + s.StandardErrorUrl = &v + return s +} + +// SetStandardOutputUrl sets the StandardOutputUrl field's value. +func (s *CommandPlugin) SetStandardOutputUrl(v string) *CommandPlugin { + s.StandardOutputUrl = &v + return s +} + // SetStatus sets the Status field's value. func (s *CommandPlugin) SetStatus(v string) *CommandPlugin { s.Status = &v return s } +// SetStatusDetails sets the StatusDetails field's value. +func (s *CommandPlugin) SetStatusDetails(v string) *CommandPlugin { + s.StatusDetails = &v + return s +} + type CreateActivationInput struct { _ struct{} `type:"structure"` @@ -3205,7 +6780,7 @@ type CreateAssociationBatchInput struct { // One or more associations. // // Entries is a required field - Entries []*CreateAssociationBatchRequestEntry `locationNameList:"entries" type:"list" required:"true"` + Entries []*CreateAssociationBatchRequestEntry `locationNameList:"entries" min:"1" type:"list" required:"true"` } // String returns the string representation @@ -3224,6 +6799,19 @@ func (s *CreateAssociationBatchInput) Validate() error { if s.Entries == nil { invalidParams.Add(request.NewErrParamRequired("Entries")) } + if s.Entries != nil && len(s.Entries) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Entries", 1)) + } + if s.Entries != nil { + for i, v := range s.Entries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3273,14 +6861,28 @@ func (s *CreateAssociationBatchOutput) SetSuccessful(v []*AssociationDescription type CreateAssociationBatchRequestEntry struct { _ struct{} `type:"structure"` + // The document version. + DocumentVersion *string `type:"string"` + // The ID of the instance. InstanceId *string `type:"string"` // The name of the configuration document. - Name *string `type:"string"` + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // An Amazon S3 bucket where you want to store the results of this request. + OutputLocation *InstanceAssociationOutputLocation `type:"structure"` // A description of the parameters for a document. Parameters map[string][]*string `type:"map"` + + // A cron expression that specifies a schedule when the association runs. + ScheduleExpression *string `min:"1" type:"string"` + + // The instances targeted by the request. + Targets []*Target `type:"list"` } // String returns the string representation @@ -3293,6 +6895,43 @@ func (s CreateAssociationBatchRequestEntry) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAssociationBatchRequestEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAssociationBatchRequestEntry"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1)) + } + if s.OutputLocation != nil { + if err := s.OutputLocation.Validate(); err != nil { + invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams)) + } + } + if s.Targets != nil { + for i, v := range s.Targets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *CreateAssociationBatchRequestEntry) SetDocumentVersion(v string) *CreateAssociationBatchRequestEntry { + s.DocumentVersion = &v + return s +} + // SetInstanceId sets the InstanceId field's value. func (s *CreateAssociationBatchRequestEntry) SetInstanceId(v string) *CreateAssociationBatchRequestEntry { s.InstanceId = &v @@ -3305,27 +6944,66 @@ func (s *CreateAssociationBatchRequestEntry) SetName(v string) *CreateAssociatio return s } +// SetOutputLocation sets the OutputLocation field's value. +func (s *CreateAssociationBatchRequestEntry) SetOutputLocation(v *InstanceAssociationOutputLocation) *CreateAssociationBatchRequestEntry { + s.OutputLocation = v + return s +} + // SetParameters sets the Parameters field's value. func (s *CreateAssociationBatchRequestEntry) SetParameters(v map[string][]*string) *CreateAssociationBatchRequestEntry { s.Parameters = v return s } +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *CreateAssociationBatchRequestEntry) SetScheduleExpression(v string) *CreateAssociationBatchRequestEntry { + s.ScheduleExpression = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *CreateAssociationBatchRequestEntry) SetTargets(v []*Target) *CreateAssociationBatchRequestEntry { + s.Targets = v + return s +} + type CreateAssociationInput struct { _ struct{} `type:"structure"` + // The document version you want to associate with the target(s). Can be a specific + // version or the default version. + DocumentVersion *string `type:"string"` + // The instance ID. - // - // InstanceId is a required field - InstanceId *string `type:"string" required:"true"` + InstanceId *string `type:"string"` // The name of the SSM document. // // Name is a required field Name *string `type:"string" required:"true"` + // An Amazon S3 bucket where you want to store the output details of the request. + // For example: + // + // "{ \"S3Location\": { \"OutputS3Region\": \"\", \"OutputS3BucketName\": + // \"bucket name\", \"OutputS3KeyPrefix\": \"folder name\" } }" + OutputLocation *InstanceAssociationOutputLocation `type:"structure"` + // The parameters for the documents runtime configuration. Parameters map[string][]*string `type:"map"` + + // A cron expression when the association will be applied to the target(s). + // Supported expressions are every half, 1, 2, 4, 8 or 12 hour(s); every specified + // day and time of the week. For example: cron(0 0/30 * 1/1 * ? *) to run every + // thirty minutes; cron(0 0 0/4 1/1 * ? *) to run every four hours; and cron(0 + // 0 10 ? * SUN *) to run every Sunday at 10 a.m. + ScheduleExpression *string `min:"1" type:"string"` + + // The targets (either instances or tags) for the association. Instances are + // specified using Key=instanceids,Values=,. Tags + // are specified using Key=,Values=. + Targets []*Target `type:"list"` } // String returns the string representation @@ -3341,12 +7019,27 @@ func (s CreateAssociationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateAssociationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateAssociationInput"} - if s.InstanceId == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceId")) - } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } + if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1)) + } + if s.OutputLocation != nil { + if err := s.OutputLocation.Validate(); err != nil { + invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams)) + } + } + if s.Targets != nil { + for i, v := range s.Targets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3354,6 +7047,12 @@ func (s *CreateAssociationInput) Validate() error { return nil } +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *CreateAssociationInput) SetDocumentVersion(v string) *CreateAssociationInput { + s.DocumentVersion = &v + return s +} + // SetInstanceId sets the InstanceId field's value. func (s *CreateAssociationInput) SetInstanceId(v string) *CreateAssociationInput { s.InstanceId = &v @@ -3366,12 +7065,30 @@ func (s *CreateAssociationInput) SetName(v string) *CreateAssociationInput { return s } +// SetOutputLocation sets the OutputLocation field's value. +func (s *CreateAssociationInput) SetOutputLocation(v *InstanceAssociationOutputLocation) *CreateAssociationInput { + s.OutputLocation = v + return s +} + // SetParameters sets the Parameters field's value. func (s *CreateAssociationInput) SetParameters(v map[string][]*string) *CreateAssociationInput { s.Parameters = v return s } +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *CreateAssociationInput) SetScheduleExpression(v string) *CreateAssociationInput { + s.ScheduleExpression = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *CreateAssociationInput) SetTargets(v []*Target) *CreateAssociationInput { + s.Targets = v + return s +} + type CreateAssociationOutput struct { _ struct{} `type:"structure"` @@ -3403,6 +7120,10 @@ type CreateDocumentInput struct { // Content is a required field Content *string `min:"1" type:"string" required:"true"` + // The type of document to create. Valid document types include: Policy, Automation, + // and Command. + DocumentType *string `type:"string" enum:"DocumentType"` + // A name for the SSM document. // // Name is a required field @@ -3444,6 +7165,12 @@ func (s *CreateDocumentInput) SetContent(v string) *CreateDocumentInput { return s } +// SetDocumentType sets the DocumentType field's value. +func (s *CreateDocumentInput) SetDocumentType(v string) *CreateDocumentInput { + s.DocumentType = &v + return s +} + // SetName sets the Name field's value. func (s *CreateDocumentInput) SetName(v string) *CreateDocumentInput { s.Name = &v @@ -3473,6 +7200,146 @@ func (s *CreateDocumentOutput) SetDocumentDescription(v *DocumentDescription) *C return s } +type CreateMaintenanceWindowInput struct { + _ struct{} `type:"structure"` + + // Whether targets must be registered with the Maintenance Window before tasks + // can be defined for those targets. + // + // AllowUnassociatedTargets is a required field + AllowUnassociatedTargets *bool `type:"boolean" required:"true"` + + // User-provided idempotency token. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The number of hours before the end of the Maintenance Window that Systems + // Manager stops scheduling new tasks for execution. + // + // Cutoff is a required field + Cutoff *int64 `type:"integer" required:"true"` + + // The duration of the Maintenance Window in hours. + // + // Duration is a required field + Duration *int64 `min:"1" type:"integer" required:"true"` + + // The name of the Maintenance Window. + // + // Name is a required field + Name *string `min:"3" type:"string" required:"true"` + + // The schedule of the Maintenance Window in the form of a cron or rate expression. + // + // Schedule is a required field + Schedule *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateMaintenanceWindowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMaintenanceWindowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMaintenanceWindowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMaintenanceWindowInput"} + if s.AllowUnassociatedTargets == nil { + invalidParams.Add(request.NewErrParamRequired("AllowUnassociatedTargets")) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Cutoff == nil { + invalidParams.Add(request.NewErrParamRequired("Cutoff")) + } + if s.Duration == nil { + invalidParams.Add(request.NewErrParamRequired("Duration")) + } + if s.Duration != nil && *s.Duration < 1 { + invalidParams.Add(request.NewErrParamMinValue("Duration", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Name", 3)) + } + if s.Schedule == nil { + invalidParams.Add(request.NewErrParamRequired("Schedule")) + } + if s.Schedule != nil && len(*s.Schedule) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Schedule", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value. +func (s *CreateMaintenanceWindowInput) SetAllowUnassociatedTargets(v bool) *CreateMaintenanceWindowInput { + s.AllowUnassociatedTargets = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateMaintenanceWindowInput) SetClientToken(v string) *CreateMaintenanceWindowInput { + s.ClientToken = &v + return s +} + +// SetCutoff sets the Cutoff field's value. +func (s *CreateMaintenanceWindowInput) SetCutoff(v int64) *CreateMaintenanceWindowInput { + s.Cutoff = &v + return s +} + +// SetDuration sets the Duration field's value. +func (s *CreateMaintenanceWindowInput) SetDuration(v int64) *CreateMaintenanceWindowInput { + s.Duration = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateMaintenanceWindowInput) SetName(v string) *CreateMaintenanceWindowInput { + s.Name = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *CreateMaintenanceWindowInput) SetSchedule(v string) *CreateMaintenanceWindowInput { + s.Schedule = &v + return s +} + +type CreateMaintenanceWindowOutput struct { + _ struct{} `type:"structure"` + + // The ID of the created Maintenance Window. + WindowId *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s CreateMaintenanceWindowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateMaintenanceWindowOutput) GoString() string { + return s.String() +} + +// SetWindowId sets the WindowId field's value. +func (s *CreateMaintenanceWindowOutput) SetWindowId(v string) *CreateMaintenanceWindowOutput { + s.WindowId = &v + return s +} + type DeleteActivationInput struct { _ struct{} `type:"structure"` @@ -3528,15 +7395,14 @@ func (s DeleteActivationOutput) GoString() string { type DeleteAssociationInput struct { _ struct{} `type:"structure"` + // The association ID that you want to delete. + AssociationId *string `type:"string"` + // The ID of the instance. - // - // InstanceId is a required field - InstanceId *string `type:"string" required:"true"` + InstanceId *string `type:"string"` // The name of the SSM document. - // - // Name is a required field - Name *string `type:"string" required:"true"` + Name *string `type:"string"` } // String returns the string representation @@ -3549,20 +7415,10 @@ func (s DeleteAssociationInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAssociationInput"} - if s.InstanceId == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceId")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAssociationId sets the AssociationId field's value. +func (s *DeleteAssociationInput) SetAssociationId(v string) *DeleteAssociationInput { + s.AssociationId = &v + return s } // SetInstanceId sets the InstanceId field's value. @@ -3643,6 +7499,125 @@ func (s DeleteDocumentOutput) GoString() string { return s.String() } +type DeleteMaintenanceWindowInput struct { + _ struct{} `type:"structure"` + + // The ID of the Maintenance Window to delete. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteMaintenanceWindowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteMaintenanceWindowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMaintenanceWindowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMaintenanceWindowInput"} + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWindowId sets the WindowId field's value. +func (s *DeleteMaintenanceWindowInput) SetWindowId(v string) *DeleteMaintenanceWindowInput { + s.WindowId = &v + return s +} + +type DeleteMaintenanceWindowOutput struct { + _ struct{} `type:"structure"` + + // The ID of the deleted Maintenance Window. + WindowId *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s DeleteMaintenanceWindowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteMaintenanceWindowOutput) GoString() string { + return s.String() +} + +// SetWindowId sets the WindowId field's value. +func (s *DeleteMaintenanceWindowOutput) SetWindowId(v string) *DeleteMaintenanceWindowOutput { + s.WindowId = &v + return s +} + +type DeleteParameterInput struct { + _ struct{} `type:"structure"` + + // The name of the parameter to delete. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteParameterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteParameterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteParameterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteParameterInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteParameterInput) SetName(v string) *DeleteParameterInput { + s.Name = &v + return s +} + +type DeleteParameterOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteParameterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteParameterOutput) GoString() string { + return s.String() +} + type DeregisterManagedInstanceInput struct { _ struct{} `type:"structure"` @@ -3696,6 +7671,186 @@ func (s DeregisterManagedInstanceOutput) GoString() string { return s.String() } +type DeregisterTargetFromMaintenanceWindowInput struct { + _ struct{} `type:"structure"` + + // The ID of the Maintenance Window the target should be removed from. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` + + // The ID of the target definition to remove. + // + // WindowTargetId is a required field + WindowTargetId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeregisterTargetFromMaintenanceWindowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeregisterTargetFromMaintenanceWindowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeregisterTargetFromMaintenanceWindowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeregisterTargetFromMaintenanceWindowInput"} + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + if s.WindowTargetId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowTargetId")) + } + if s.WindowTargetId != nil && len(*s.WindowTargetId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("WindowTargetId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWindowId sets the WindowId field's value. +func (s *DeregisterTargetFromMaintenanceWindowInput) SetWindowId(v string) *DeregisterTargetFromMaintenanceWindowInput { + s.WindowId = &v + return s +} + +// SetWindowTargetId sets the WindowTargetId field's value. +func (s *DeregisterTargetFromMaintenanceWindowInput) SetWindowTargetId(v string) *DeregisterTargetFromMaintenanceWindowInput { + s.WindowTargetId = &v + return s +} + +type DeregisterTargetFromMaintenanceWindowOutput struct { + _ struct{} `type:"structure"` + + // The ID of the Maintenance Window the target was removed from. + WindowId *string `min:"20" type:"string"` + + // The ID of the removed target definition. + WindowTargetId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s DeregisterTargetFromMaintenanceWindowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeregisterTargetFromMaintenanceWindowOutput) GoString() string { + return s.String() +} + +// SetWindowId sets the WindowId field's value. +func (s *DeregisterTargetFromMaintenanceWindowOutput) SetWindowId(v string) *DeregisterTargetFromMaintenanceWindowOutput { + s.WindowId = &v + return s +} + +// SetWindowTargetId sets the WindowTargetId field's value. +func (s *DeregisterTargetFromMaintenanceWindowOutput) SetWindowTargetId(v string) *DeregisterTargetFromMaintenanceWindowOutput { + s.WindowTargetId = &v + return s +} + +type DeregisterTaskFromMaintenanceWindowInput struct { + _ struct{} `type:"structure"` + + // The ID of the Maintenance Window the task should be removed from. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` + + // The ID of the task to remove from the Maintenance Window. + // + // WindowTaskId is a required field + WindowTaskId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeregisterTaskFromMaintenanceWindowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeregisterTaskFromMaintenanceWindowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeregisterTaskFromMaintenanceWindowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskFromMaintenanceWindowInput"} + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + if s.WindowTaskId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowTaskId")) + } + if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWindowId sets the WindowId field's value. +func (s *DeregisterTaskFromMaintenanceWindowInput) SetWindowId(v string) *DeregisterTaskFromMaintenanceWindowInput { + s.WindowId = &v + return s +} + +// SetWindowTaskId sets the WindowTaskId field's value. +func (s *DeregisterTaskFromMaintenanceWindowInput) SetWindowTaskId(v string) *DeregisterTaskFromMaintenanceWindowInput { + s.WindowTaskId = &v + return s +} + +type DeregisterTaskFromMaintenanceWindowOutput struct { + _ struct{} `type:"structure"` + + // The ID of the Maintenance Window the task was removed from. + WindowId *string `min:"20" type:"string"` + + // The ID of the task removed from the Maintenance Window. + WindowTaskId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s DeregisterTaskFromMaintenanceWindowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeregisterTaskFromMaintenanceWindowOutput) GoString() string { + return s.String() +} + +// SetWindowId sets the WindowId field's value. +func (s *DeregisterTaskFromMaintenanceWindowOutput) SetWindowId(v string) *DeregisterTaskFromMaintenanceWindowOutput { + s.WindowId = &v + return s +} + +// SetWindowTaskId sets the WindowTaskId field's value. +func (s *DeregisterTaskFromMaintenanceWindowOutput) SetWindowTaskId(v string) *DeregisterTaskFromMaintenanceWindowOutput { + s.WindowTaskId = &v + return s +} + // Filter for the DescribeActivation API. type DescribeActivationsFilter struct { _ struct{} `type:"structure"` @@ -3821,15 +7976,14 @@ func (s *DescribeActivationsOutput) SetNextToken(v string) *DescribeActivationsO type DescribeAssociationInput struct { _ struct{} `type:"structure"` + // The association ID for which you want information. + AssociationId *string `type:"string"` + // The instance ID. - // - // InstanceId is a required field - InstanceId *string `type:"string" required:"true"` + InstanceId *string `type:"string"` // The name of the SSM document. - // - // Name is a required field - Name *string `type:"string" required:"true"` + Name *string `type:"string"` } // String returns the string representation @@ -3842,20 +7996,10 @@ func (s DescribeAssociationInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAssociationInput"} - if s.InstanceId == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceId")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAssociationId sets the AssociationId field's value. +func (s *DescribeAssociationInput) SetAssociationId(v string) *DescribeAssociationInput { + s.AssociationId = &v + return s } // SetInstanceId sets the InstanceId field's value. @@ -3893,9 +8037,117 @@ func (s *DescribeAssociationOutput) SetAssociationDescription(v *AssociationDesc return s } +type DescribeAutomationExecutionsInput struct { + _ struct{} `type:"structure"` + + // Filters used to limit the scope of executions that are requested. + Filters []*AutomationExecutionFilter `min:"1" type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeAutomationExecutionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAutomationExecutionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAutomationExecutionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAutomationExecutionsInput"} + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeAutomationExecutionsInput) SetFilters(v []*AutomationExecutionFilter) *DescribeAutomationExecutionsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeAutomationExecutionsInput) SetMaxResults(v int64) *DescribeAutomationExecutionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeAutomationExecutionsInput) SetNextToken(v string) *DescribeAutomationExecutionsInput { + s.NextToken = &v + return s +} + +type DescribeAutomationExecutionsOutput struct { + _ struct{} `type:"structure"` + + // The list of details about each automation execution which has occurred which + // matches the filter specification, if any. + AutomationExecutionMetadataList []*AutomationExecutionMetadata `type:"list"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeAutomationExecutionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAutomationExecutionsOutput) GoString() string { + return s.String() +} + +// SetAutomationExecutionMetadataList sets the AutomationExecutionMetadataList field's value. +func (s *DescribeAutomationExecutionsOutput) SetAutomationExecutionMetadataList(v []*AutomationExecutionMetadata) *DescribeAutomationExecutionsOutput { + s.AutomationExecutionMetadataList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeAutomationExecutionsOutput) SetNextToken(v string) *DescribeAutomationExecutionsOutput { + s.NextToken = &v + return s +} + type DescribeDocumentInput struct { _ struct{} `type:"structure"` + // The document version for which you want information. Can be a specific version + // or the default version. + DocumentVersion *string `type:"string"` + // The name of the SSM document. // // Name is a required field @@ -3925,6 +8177,12 @@ func (s *DescribeDocumentInput) Validate() error { return nil } +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *DescribeDocumentInput) SetDocumentVersion(v string) *DescribeDocumentInput { + s.DocumentVersion = &v + return s +} + // SetName sets the Name field's value. func (s *DescribeDocumentInput) SetName(v string) *DescribeDocumentInput { s.Name = &v @@ -4030,11 +8288,204 @@ func (s *DescribeDocumentPermissionOutput) SetAccountIds(v []*string) *DescribeD return s } +type DescribeEffectiveInstanceAssociationsInput struct { + _ struct{} `type:"structure"` + + // The instance ID for which you want to view all associations. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeEffectiveInstanceAssociationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEffectiveInstanceAssociationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEffectiveInstanceAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEffectiveInstanceAssociationsInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DescribeEffectiveInstanceAssociationsInput) SetInstanceId(v string) *DescribeEffectiveInstanceAssociationsInput { + s.InstanceId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeEffectiveInstanceAssociationsInput) SetMaxResults(v int64) *DescribeEffectiveInstanceAssociationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeEffectiveInstanceAssociationsInput) SetNextToken(v string) *DescribeEffectiveInstanceAssociationsInput { + s.NextToken = &v + return s +} + +type DescribeEffectiveInstanceAssociationsOutput struct { + _ struct{} `type:"structure"` + + // The associations for the requested instance. + Associations []*InstanceAssociation `type:"list"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeEffectiveInstanceAssociationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEffectiveInstanceAssociationsOutput) GoString() string { + return s.String() +} + +// SetAssociations sets the Associations field's value. +func (s *DescribeEffectiveInstanceAssociationsOutput) SetAssociations(v []*InstanceAssociation) *DescribeEffectiveInstanceAssociationsOutput { + s.Associations = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeEffectiveInstanceAssociationsOutput) SetNextToken(v string) *DescribeEffectiveInstanceAssociationsOutput { + s.NextToken = &v + return s +} + +type DescribeInstanceAssociationsStatusInput struct { + _ struct{} `type:"structure"` + + // The instance IDs for which you want association status information. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInstanceAssociationsStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstanceAssociationsStatusInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInstanceAssociationsStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAssociationsStatusInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DescribeInstanceAssociationsStatusInput) SetInstanceId(v string) *DescribeInstanceAssociationsStatusInput { + s.InstanceId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeInstanceAssociationsStatusInput) SetMaxResults(v int64) *DescribeInstanceAssociationsStatusInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInstanceAssociationsStatusInput) SetNextToken(v string) *DescribeInstanceAssociationsStatusInput { + s.NextToken = &v + return s +} + +type DescribeInstanceAssociationsStatusOutput struct { + _ struct{} `type:"structure"` + + // Status information about the association. + InstanceAssociationStatusInfos []*InstanceAssociationStatusInfo `type:"list"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInstanceAssociationsStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstanceAssociationsStatusOutput) GoString() string { + return s.String() +} + +// SetInstanceAssociationStatusInfos sets the InstanceAssociationStatusInfos field's value. +func (s *DescribeInstanceAssociationsStatusOutput) SetInstanceAssociationStatusInfos(v []*InstanceAssociationStatusInfo) *DescribeInstanceAssociationsStatusOutput { + s.InstanceAssociationStatusInfos = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInstanceAssociationsStatusOutput) SetNextToken(v string) *DescribeInstanceAssociationsStatusOutput { + s.NextToken = &v + return s +} + type DescribeInstanceInformationInput struct { _ struct{} `type:"structure"` // One or more filters. Use a filter to return a more specific list of instances. - InstanceInformationFilterList []*InstanceInformationFilter `locationNameList:"InstanceInformationFilter" min:"1" type:"list"` + Filters []*InstanceInformationStringFilter `locationNameList:"InstanceInformationStringFilter" type:"list"` + + // One or more filters. Use a filter to return a more specific list of instances. + InstanceInformationFilterList []*InstanceInformationFilter `locationNameList:"InstanceInformationFilter" type:"list"` // The maximum number of items to return for this call. The call also returns // a token that you can specify in a subsequent call to get the next set of @@ -4059,12 +8510,19 @@ func (s DescribeInstanceInformationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeInstanceInformationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceInformationInput"} - if s.InstanceInformationFilterList != nil && len(s.InstanceInformationFilterList) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InstanceInformationFilterList", 1)) - } if s.MaxResults != nil && *s.MaxResults < 5 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } if s.InstanceInformationFilterList != nil { for i, v := range s.InstanceInformationFilterList { if v == nil { @@ -4082,6 +8540,12 @@ func (s *DescribeInstanceInformationInput) Validate() error { return nil } +// SetFilters sets the Filters field's value. +func (s *DescribeInstanceInformationInput) SetFilters(v []*InstanceInformationStringFilter) *DescribeInstanceInformationInput { + s.Filters = v + return s +} + // SetInstanceInformationFilterList sets the InstanceInformationFilterList field's value. func (s *DescribeInstanceInformationInput) SetInstanceInformationFilterList(v []*InstanceInformationFilter) *DescribeInstanceInformationInput { s.InstanceInformationFilterList = v @@ -4133,6 +8597,857 @@ func (s *DescribeInstanceInformationOutput) SetNextToken(v string) *DescribeInst return s } +type DescribeMaintenanceWindowExecutionTaskInvocationsInput struct { + _ struct{} `type:"structure"` + + // Optional filters used to scope down the returned task invocations. The supported + // filter key is STATUS with the corresponding values PENDING, IN_PROGRESS, + // SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED. + Filters []*MaintenanceWindowFilter `type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"10" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` + + // The ID of the specific task in the Maintenance Window task that should be + // retrieved. + // + // TaskId is a required field + TaskId *string `min:"36" type:"string" required:"true"` + + // The ID of the Maintenance Window execution the task is part of. + // + // WindowExecutionId is a required field + WindowExecutionId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeMaintenanceWindowExecutionTaskInvocationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMaintenanceWindowExecutionTaskInvocationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionTaskInvocationsInput"} + if s.MaxResults != nil && *s.MaxResults < 10 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10)) + } + if s.TaskId == nil { + invalidParams.Add(request.NewErrParamRequired("TaskId")) + } + if s.TaskId != nil && len(*s.TaskId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("TaskId", 36)) + } + if s.WindowExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowExecutionId")) + } + if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionTaskInvocationsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionTaskInvocationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput { + s.NextToken = &v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetTaskId(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput { + s.TaskId = &v + return s +} + +// SetWindowExecutionId sets the WindowExecutionId field's value. +func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetWindowExecutionId(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput { + s.WindowExecutionId = &v + return s +} + +type DescribeMaintenanceWindowExecutionTaskInvocationsOutput struct { + _ struct{} `type:"structure"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` + + // Information about the task invocation results per invocation. + WindowExecutionTaskInvocationIdentities []*MaintenanceWindowExecutionTaskInvocationIdentity `type:"list"` +} + +// String returns the string representation +func (s DescribeMaintenanceWindowExecutionTaskInvocationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMaintenanceWindowExecutionTaskInvocationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsOutput { + s.NextToken = &v + return s +} + +// SetWindowExecutionTaskInvocationIdentities sets the WindowExecutionTaskInvocationIdentities field's value. +func (s *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) SetWindowExecutionTaskInvocationIdentities(v []*MaintenanceWindowExecutionTaskInvocationIdentity) *DescribeMaintenanceWindowExecutionTaskInvocationsOutput { + s.WindowExecutionTaskInvocationIdentities = v + return s +} + +type DescribeMaintenanceWindowExecutionTasksInput struct { + _ struct{} `type:"structure"` + + // Optional filters used to scope down the returned tasks. The supported filter + // key is STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS, + // FAILED, TIMED_OUT, CANCELLING, and CANCELLED. + Filters []*MaintenanceWindowFilter `type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"10" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` + + // The ID of the Maintenance Window execution whose task executions should be + // retrieved. + // + // WindowExecutionId is a required field + WindowExecutionId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeMaintenanceWindowExecutionTasksInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMaintenanceWindowExecutionTasksInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMaintenanceWindowExecutionTasksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionTasksInput"} + if s.MaxResults != nil && *s.MaxResults < 10 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10)) + } + if s.WindowExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowExecutionId")) + } + if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeMaintenanceWindowExecutionTasksInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionTasksInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeMaintenanceWindowExecutionTasksInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionTasksInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMaintenanceWindowExecutionTasksInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTasksInput { + s.NextToken = &v + return s +} + +// SetWindowExecutionId sets the WindowExecutionId field's value. +func (s *DescribeMaintenanceWindowExecutionTasksInput) SetWindowExecutionId(v string) *DescribeMaintenanceWindowExecutionTasksInput { + s.WindowExecutionId = &v + return s +} + +type DescribeMaintenanceWindowExecutionTasksOutput struct { + _ struct{} `type:"structure"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` + + // Information about the task executions. + WindowExecutionTaskIdentities []*MaintenanceWindowExecutionTaskIdentity `type:"list"` +} + +// String returns the string representation +func (s DescribeMaintenanceWindowExecutionTasksOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMaintenanceWindowExecutionTasksOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMaintenanceWindowExecutionTasksOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTasksOutput { + s.NextToken = &v + return s +} + +// SetWindowExecutionTaskIdentities sets the WindowExecutionTaskIdentities field's value. +func (s *DescribeMaintenanceWindowExecutionTasksOutput) SetWindowExecutionTaskIdentities(v []*MaintenanceWindowExecutionTaskIdentity) *DescribeMaintenanceWindowExecutionTasksOutput { + s.WindowExecutionTaskIdentities = v + return s +} + +type DescribeMaintenanceWindowExecutionsInput struct { + _ struct{} `type:"structure"` + + // Each entry in the array is a structure containing: + // + // Key (string, 1 ≤ length ≤ 128) + // + // Values (array of strings 1 ≤ length ≤ 256) + // + // The supported Keys are ExecutedBefore and ExecutedAfter with the value being + // a date/time string such as 2016-11-04T05:00:00Z. + Filters []*MaintenanceWindowFilter `type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"10" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` + + // The ID of the Maintenance Window whose executions should be retrieved. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeMaintenanceWindowExecutionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMaintenanceWindowExecutionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMaintenanceWindowExecutionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionsInput"} + if s.MaxResults != nil && *s.MaxResults < 10 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10)) + } + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeMaintenanceWindowExecutionsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeMaintenanceWindowExecutionsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMaintenanceWindowExecutionsInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionsInput { + s.NextToken = &v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *DescribeMaintenanceWindowExecutionsInput) SetWindowId(v string) *DescribeMaintenanceWindowExecutionsInput { + s.WindowId = &v + return s +} + +type DescribeMaintenanceWindowExecutionsOutput struct { + _ struct{} `type:"structure"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` + + // Information about the Maintenance Windows execution. + WindowExecutions []*MaintenanceWindowExecution `type:"list"` +} + +// String returns the string representation +func (s DescribeMaintenanceWindowExecutionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMaintenanceWindowExecutionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMaintenanceWindowExecutionsOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionsOutput { + s.NextToken = &v + return s +} + +// SetWindowExecutions sets the WindowExecutions field's value. +func (s *DescribeMaintenanceWindowExecutionsOutput) SetWindowExecutions(v []*MaintenanceWindowExecution) *DescribeMaintenanceWindowExecutionsOutput { + s.WindowExecutions = v + return s +} + +type DescribeMaintenanceWindowTargetsInput struct { + _ struct{} `type:"structure"` + + // Optional filters that can be used to narrow down the scope of the returned + // window targets. The supported filter keys are Type, WindowTargetId and OwnerInformation. + Filters []*MaintenanceWindowFilter `type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"10" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` + + // The ID of the Maintenance Window whose targets should be retrieved. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeMaintenanceWindowTargetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMaintenanceWindowTargetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMaintenanceWindowTargetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowTargetsInput"} + if s.MaxResults != nil && *s.MaxResults < 10 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10)) + } + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeMaintenanceWindowTargetsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowTargetsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeMaintenanceWindowTargetsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowTargetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMaintenanceWindowTargetsInput) SetNextToken(v string) *DescribeMaintenanceWindowTargetsInput { + s.NextToken = &v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *DescribeMaintenanceWindowTargetsInput) SetWindowId(v string) *DescribeMaintenanceWindowTargetsInput { + s.WindowId = &v + return s +} + +type DescribeMaintenanceWindowTargetsOutput struct { + _ struct{} `type:"structure"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` + + // Information about the targets in the Maintenance Window. + Targets []*MaintenanceWindowTarget `type:"list"` +} + +// String returns the string representation +func (s DescribeMaintenanceWindowTargetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMaintenanceWindowTargetsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMaintenanceWindowTargetsOutput) SetNextToken(v string) *DescribeMaintenanceWindowTargetsOutput { + s.NextToken = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *DescribeMaintenanceWindowTargetsOutput) SetTargets(v []*MaintenanceWindowTarget) *DescribeMaintenanceWindowTargetsOutput { + s.Targets = v + return s +} + +type DescribeMaintenanceWindowTasksInput struct { + _ struct{} `type:"structure"` + + // Optional filters used to narrow down the scope of the returned tasks. The + // supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType. + Filters []*MaintenanceWindowFilter `type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"10" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` + + // The ID of the Maintenance Window whose tasks should be retrieved. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeMaintenanceWindowTasksInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMaintenanceWindowTasksInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMaintenanceWindowTasksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowTasksInput"} + if s.MaxResults != nil && *s.MaxResults < 10 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10)) + } + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeMaintenanceWindowTasksInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowTasksInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeMaintenanceWindowTasksInput) SetMaxResults(v int64) *DescribeMaintenanceWindowTasksInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMaintenanceWindowTasksInput) SetNextToken(v string) *DescribeMaintenanceWindowTasksInput { + s.NextToken = &v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *DescribeMaintenanceWindowTasksInput) SetWindowId(v string) *DescribeMaintenanceWindowTasksInput { + s.WindowId = &v + return s +} + +type DescribeMaintenanceWindowTasksOutput struct { + _ struct{} `type:"structure"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` + + // Information about the tasks in the Maintenance Window. + Tasks []*MaintenanceWindowTask `type:"list"` +} + +// String returns the string representation +func (s DescribeMaintenanceWindowTasksOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMaintenanceWindowTasksOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMaintenanceWindowTasksOutput) SetNextToken(v string) *DescribeMaintenanceWindowTasksOutput { + s.NextToken = &v + return s +} + +// SetTasks sets the Tasks field's value. +func (s *DescribeMaintenanceWindowTasksOutput) SetTasks(v []*MaintenanceWindowTask) *DescribeMaintenanceWindowTasksOutput { + s.Tasks = v + return s +} + +type DescribeMaintenanceWindowsInput struct { + _ struct{} `type:"structure"` + + // Optional filters used to narrow down the scope of the returned Maintenance + // Windows. Supported filter keys are Name and Enabled. + Filters []*MaintenanceWindowFilter `type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"10" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeMaintenanceWindowsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMaintenanceWindowsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeMaintenanceWindowsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowsInput"} + if s.MaxResults != nil && *s.MaxResults < 10 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeMaintenanceWindowsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeMaintenanceWindowsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMaintenanceWindowsInput) SetNextToken(v string) *DescribeMaintenanceWindowsInput { + s.NextToken = &v + return s +} + +type DescribeMaintenanceWindowsOutput struct { + _ struct{} `type:"structure"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` + + // Information about the Maintenance Windows. + WindowIdentities []*MaintenanceWindowIdentity `type:"list"` +} + +// String returns the string representation +func (s DescribeMaintenanceWindowsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeMaintenanceWindowsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeMaintenanceWindowsOutput) SetNextToken(v string) *DescribeMaintenanceWindowsOutput { + s.NextToken = &v + return s +} + +// SetWindowIdentities sets the WindowIdentities field's value. +func (s *DescribeMaintenanceWindowsOutput) SetWindowIdentities(v []*MaintenanceWindowIdentity) *DescribeMaintenanceWindowsOutput { + s.WindowIdentities = v + return s +} + +type DescribeParametersInput struct { + _ struct{} `type:"structure"` + + // One or more filters. Use a filter to return a more specific list of results. + Filters []*ParametersFilter `type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeParametersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeParametersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeParametersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeParametersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeParametersInput) SetFilters(v []*ParametersFilter) *DescribeParametersInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeParametersInput) SetMaxResults(v int64) *DescribeParametersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeParametersInput) SetNextToken(v string) *DescribeParametersInput { + s.NextToken = &v + return s +} + +type DescribeParametersOutput struct { + _ struct{} `type:"structure"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` + + // Parameters returned by the request. + Parameters []*ParameterMetadata `type:"list"` +} + +// String returns the string representation +func (s DescribeParametersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeParametersOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeParametersOutput) SetNextToken(v string) *DescribeParametersOutput { + s.NextToken = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *DescribeParametersOutput) SetParameters(v []*ParameterMetadata) *DescribeParametersOutput { + s.Parameters = v + return s +} + +// A default version of a document. +type DocumentDefaultVersionDescription struct { + _ struct{} `type:"structure"` + + // The default version of the document. + DefaultVersion *string `type:"string"` + + // The name of the document. + Name *string `type:"string"` +} + +// String returns the string representation +func (s DocumentDefaultVersionDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentDefaultVersionDescription) GoString() string { + return s.String() +} + +// SetDefaultVersion sets the DefaultVersion field's value. +func (s *DocumentDefaultVersionDescription) SetDefaultVersion(v string) *DocumentDefaultVersionDescription { + s.DefaultVersion = &v + return s +} + +// SetName sets the Name field's value. +func (s *DocumentDefaultVersionDescription) SetName(v string) *DocumentDefaultVersionDescription { + s.Name = &v + return s +} + // Describes an SSM document. type DocumentDescription struct { _ struct{} `type:"structure"` @@ -4140,9 +9455,18 @@ type DocumentDescription struct { // The date when the SSM document was created. CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"` + // The default version. + DefaultVersion *string `type:"string"` + // A description of the document. Description *string `type:"string"` + // The type of document. + DocumentType *string `type:"string" enum:"DocumentType"` + + // The document version. + DocumentVersion *string `type:"string"` + // The Sha256 or Sha1 hash created by the system when the document was created. // // Sha1 hashes have been deprecated. @@ -4153,6 +9477,9 @@ type DocumentDescription struct { // Sha1 hashes have been deprecated. HashType *string `type:"string" enum:"DocumentHashType"` + // The latest version of the document. + LatestVersion *string `type:"string"` + // The name of the SSM document. Name *string `type:"string"` @@ -4165,6 +9492,9 @@ type DocumentDescription struct { // The list of OS platforms compatible with this SSM document. PlatformTypes []*string `locationNameList:"PlatformType" type:"list"` + // The schema version. + SchemaVersion *string `type:"string"` + // The SHA1 hash of the document, which you can use for verification purposes. Sha1 *string `type:"string"` @@ -4188,12 +9518,30 @@ func (s *DocumentDescription) SetCreatedDate(v time.Time) *DocumentDescription { return s } +// SetDefaultVersion sets the DefaultVersion field's value. +func (s *DocumentDescription) SetDefaultVersion(v string) *DocumentDescription { + s.DefaultVersion = &v + return s +} + // SetDescription sets the Description field's value. func (s *DocumentDescription) SetDescription(v string) *DocumentDescription { s.Description = &v return s } +// SetDocumentType sets the DocumentType field's value. +func (s *DocumentDescription) SetDocumentType(v string) *DocumentDescription { + s.DocumentType = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *DocumentDescription) SetDocumentVersion(v string) *DocumentDescription { + s.DocumentVersion = &v + return s +} + // SetHash sets the Hash field's value. func (s *DocumentDescription) SetHash(v string) *DocumentDescription { s.Hash = &v @@ -4206,6 +9554,12 @@ func (s *DocumentDescription) SetHashType(v string) *DocumentDescription { return s } +// SetLatestVersion sets the LatestVersion field's value. +func (s *DocumentDescription) SetLatestVersion(v string) *DocumentDescription { + s.LatestVersion = &v + return s +} + // SetName sets the Name field's value. func (s *DocumentDescription) SetName(v string) *DocumentDescription { s.Name = &v @@ -4230,6 +9584,12 @@ func (s *DocumentDescription) SetPlatformTypes(v []*string) *DocumentDescription return s } +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *DocumentDescription) SetSchemaVersion(v string) *DocumentDescription { + s.SchemaVersion = &v + return s +} + // SetSha1 sets the Sha1 field's value. func (s *DocumentDescription) SetSha1(v string) *DocumentDescription { s.Sha1 = &v @@ -4302,6 +9662,12 @@ func (s *DocumentFilter) SetValue(v string) *DocumentFilter { type DocumentIdentifier struct { _ struct{} `type:"structure"` + // The document type. + DocumentType *string `type:"string" enum:"DocumentType"` + + // The document version. + DocumentVersion *string `type:"string"` + // The name of the SSM document. Name *string `type:"string"` @@ -4310,6 +9676,9 @@ type DocumentIdentifier struct { // The operating system platform. PlatformTypes []*string `locationNameList:"PlatformType" type:"list"` + + // The schema version. + SchemaVersion *string `type:"string"` } // String returns the string representation @@ -4322,6 +9691,18 @@ func (s DocumentIdentifier) GoString() string { return s.String() } +// SetDocumentType sets the DocumentType field's value. +func (s *DocumentIdentifier) SetDocumentType(v string) *DocumentIdentifier { + s.DocumentType = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *DocumentIdentifier) SetDocumentVersion(v string) *DocumentIdentifier { + s.DocumentVersion = &v + return s +} + // SetName sets the Name field's value. func (s *DocumentIdentifier) SetName(v string) *DocumentIdentifier { s.Name = &v @@ -4340,6 +9721,12 @@ func (s *DocumentIdentifier) SetPlatformTypes(v []*string) *DocumentIdentifier { return s } +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *DocumentIdentifier) SetSchemaVersion(v string) *DocumentIdentifier { + s.SchemaVersion = &v + return s +} + // Parameters specified in the SSM document that execute on the server when // the command is run. type DocumentParameter struct { @@ -4394,6 +9781,57 @@ func (s *DocumentParameter) SetType(v string) *DocumentParameter { return s } +// Version information about the document. +type DocumentVersionInfo struct { + _ struct{} `type:"structure"` + + // The date the document was created. + CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The document version. + DocumentVersion *string `type:"string"` + + // An identifier for the default version of the document. + IsDefaultVersion *bool `type:"boolean"` + + // The document name. + Name *string `type:"string"` +} + +// String returns the string representation +func (s DocumentVersionInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DocumentVersionInfo) GoString() string { + return s.String() +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *DocumentVersionInfo) SetCreatedDate(v time.Time) *DocumentVersionInfo { + s.CreatedDate = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *DocumentVersionInfo) SetDocumentVersion(v string) *DocumentVersionInfo { + s.DocumentVersion = &v + return s +} + +// SetIsDefaultVersion sets the IsDefaultVersion field's value. +func (s *DocumentVersionInfo) SetIsDefaultVersion(v bool) *DocumentVersionInfo { + s.IsDefaultVersion = &v + return s +} + +// SetName sets the Name field's value. +func (s *DocumentVersionInfo) SetName(v string) *DocumentVersionInfo { + s.Name = &v + return s +} + // Describes a failed association. type FailedCreateAssociation struct { _ struct{} `type:"structure"` @@ -4436,9 +9874,361 @@ func (s *FailedCreateAssociation) SetMessage(v string) *FailedCreateAssociation return s } +type GetAutomationExecutionInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for an existing automation execution to examine. The + // execution ID is returned by StartAutomationExecution when the execution of + // an Automation document is initiated. + // + // AutomationExecutionId is a required field + AutomationExecutionId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetAutomationExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAutomationExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAutomationExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAutomationExecutionInput"} + if s.AutomationExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId")) + } + if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomationExecutionId sets the AutomationExecutionId field's value. +func (s *GetAutomationExecutionInput) SetAutomationExecutionId(v string) *GetAutomationExecutionInput { + s.AutomationExecutionId = &v + return s +} + +type GetAutomationExecutionOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about the current state of an automation execution. + AutomationExecution *AutomationExecution `type:"structure"` +} + +// String returns the string representation +func (s GetAutomationExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAutomationExecutionOutput) GoString() string { + return s.String() +} + +// SetAutomationExecution sets the AutomationExecution field's value. +func (s *GetAutomationExecutionOutput) SetAutomationExecution(v *AutomationExecution) *GetAutomationExecutionOutput { + s.AutomationExecution = v + return s +} + +type GetCommandInvocationInput struct { + _ struct{} `type:"structure"` + + // (Required) The parent command ID of the invocation plugin. + // + // CommandId is a required field + CommandId *string `min:"36" type:"string" required:"true"` + + // (Required) The ID of the managed instance targeted by the command. A managed + // instance can be an Amazon EC2 instance or an instance in your hybrid environment + // that is configured for Systems Manager. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` + + // (Optional) The name of the plugin for which you want detailed results. If + // the SSM document contains only one plugin, the name can be omitted and the + // details will be returned. + PluginName *string `min:"4" type:"string"` +} + +// String returns the string representation +func (s GetCommandInvocationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCommandInvocationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCommandInvocationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCommandInvocationInput"} + if s.CommandId == nil { + invalidParams.Add(request.NewErrParamRequired("CommandId")) + } + if s.CommandId != nil && len(*s.CommandId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CommandId", 36)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.PluginName != nil && len(*s.PluginName) < 4 { + invalidParams.Add(request.NewErrParamMinLen("PluginName", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCommandId sets the CommandId field's value. +func (s *GetCommandInvocationInput) SetCommandId(v string) *GetCommandInvocationInput { + s.CommandId = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *GetCommandInvocationInput) SetInstanceId(v string) *GetCommandInvocationInput { + s.InstanceId = &v + return s +} + +// SetPluginName sets the PluginName field's value. +func (s *GetCommandInvocationInput) SetPluginName(v string) *GetCommandInvocationInput { + s.PluginName = &v + return s +} + +type GetCommandInvocationOutput struct { + _ struct{} `type:"structure"` + + // The parent command ID of the invocation plugin. + CommandId *string `min:"36" type:"string"` + + // The comment text for the command. + Comment *string `type:"string"` + + // The name of the SSM document that was executed. For example, AWS-RunShellScript + // is an SSM document. + DocumentName *string `type:"string"` + + // Duration since ExecutionStartDateTime. + ExecutionElapsedTime *string `type:"string"` + + // The date and time the plugin was finished executing. Date and time are written + // in ISO 8601 format. For example, August 28, 2016 is represented as 2016-08-28. + // If the plugin has not started to execute, the string is empty. + ExecutionEndDateTime *string `type:"string"` + + // The date and time the plugin started executing. Date and time are written + // in ISO 8601 format. For example, August 28, 2016 is represented as 2016-08-28. + // If the plugin has not started to execute, the string is empty. + ExecutionStartDateTime *string `type:"string"` + + // The ID of the managed instance targeted by the command. A managed instance + // can be an Amazon EC2 instance or an instance in your hybrid environment that + // is configured for Systems Manager. + InstanceId *string `type:"string"` + + // The name of the plugin for which you want detailed results. For example, + // aws:RunShellScript is a plugin. + PluginName *string `min:"4" type:"string"` + + // The error level response code for the plugin script. If the response code + // is -1, then the command has not started executing on the instance, or it + // was not received by the instance. + ResponseCode *int64 `type:"integer"` + + // The first 8,000 characters written by the plugin to stderr. If the command + // has not finished executing, then this string is empty. + StandardErrorContent *string `type:"string"` + + // The URL for the complete text written by the plugin to stderr. If the command + // has not finished executing, then this string is empty. + StandardErrorUrl *string `type:"string"` + + // The first 24,000 characters written by the plugin to stdout. If the command + // has not finished executing, if ExecutionStatus is neither Succeeded nor Failed, + // then this string is empty. + StandardOutputContent *string `type:"string"` + + // The URL for the complete text written by the plugin to stdout in Amazon S3. + // If an Amazon S3 bucket was not specified, then this string is empty. + StandardOutputUrl *string `type:"string"` + + // The status of the parent command for this invocation. This status can be + // different than StatusDetails. + Status *string `type:"string" enum:"CommandInvocationStatus"` + + // A detailed status of the command execution for an invocation. StatusDetails + // includes more information than Status because it includes states resulting + // from error and concurrency control parameters. StatusDetails can show different + // results than Status. For more information about these statuses, see Monitor + // Commands (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html) + // (Linux) or Monitor Commands (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitor-commands.html) + // (Windows). StatusDetails can be one of the following values: + // + // * Pending – The command has not been sent to the instance. + // + // * In Progress – The command has been sent to the instance but has not + // reached a terminal state. + // + // * Delayed – The system attempted to send the command to the target, but + // the target was not available. The instance might not be available because + // of network issues, the instance was stopped, etc. The system will try + // to deliver the command again. + // + // * Success – The command or plugin was executed successfully. This is a + // terminal state. + // + // * Delivery Timed Out – The command was not delivered to the instance before + // the delivery timeout expired. Delivery timeouts do not count against the + // parent command’s MaxErrors limit, but they do contribute to whether the + // parent command status is Success or Incomplete. This is a terminal state. + // + // * Execution Timed Out – The command started to execute on the instance, + // but the execution was not complete before the timeout expired. Execution + // timeouts count against the MaxErrors limit of the parent command. This + // is a terminal state. + // + // * Failed – The command wasn't executed successfully on the instance. For + // a plugin, this indicates that the result code was not zero. For a command + // invocation, this indicates that the result code for one or more plugins + // was not zero. Invocation failures count against the MaxErrors limit of + // the parent command. This is a terminal state. + // + // * Canceled – The command was terminated before it was completed. This + // is a terminal state. + // + // * Undeliverable – The command can't be delivered to the instance. The + // instance might not exist or might not be responding. Undeliverable invocations + // don't count against the parent command’s MaxErrors limit and don't contribute + // to whether the parent command status is Success or Incomplete. This is + // a terminal state. + // + // * Terminated – The parent command exceeded its MaxErrors limit and subsequent + // command invocations were canceled by the system. This is a terminal state. + StatusDetails *string `type:"string"` +} + +// String returns the string representation +func (s GetCommandInvocationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCommandInvocationOutput) GoString() string { + return s.String() +} + +// SetCommandId sets the CommandId field's value. +func (s *GetCommandInvocationOutput) SetCommandId(v string) *GetCommandInvocationOutput { + s.CommandId = &v + return s +} + +// SetComment sets the Comment field's value. +func (s *GetCommandInvocationOutput) SetComment(v string) *GetCommandInvocationOutput { + s.Comment = &v + return s +} + +// SetDocumentName sets the DocumentName field's value. +func (s *GetCommandInvocationOutput) SetDocumentName(v string) *GetCommandInvocationOutput { + s.DocumentName = &v + return s +} + +// SetExecutionElapsedTime sets the ExecutionElapsedTime field's value. +func (s *GetCommandInvocationOutput) SetExecutionElapsedTime(v string) *GetCommandInvocationOutput { + s.ExecutionElapsedTime = &v + return s +} + +// SetExecutionEndDateTime sets the ExecutionEndDateTime field's value. +func (s *GetCommandInvocationOutput) SetExecutionEndDateTime(v string) *GetCommandInvocationOutput { + s.ExecutionEndDateTime = &v + return s +} + +// SetExecutionStartDateTime sets the ExecutionStartDateTime field's value. +func (s *GetCommandInvocationOutput) SetExecutionStartDateTime(v string) *GetCommandInvocationOutput { + s.ExecutionStartDateTime = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *GetCommandInvocationOutput) SetInstanceId(v string) *GetCommandInvocationOutput { + s.InstanceId = &v + return s +} + +// SetPluginName sets the PluginName field's value. +func (s *GetCommandInvocationOutput) SetPluginName(v string) *GetCommandInvocationOutput { + s.PluginName = &v + return s +} + +// SetResponseCode sets the ResponseCode field's value. +func (s *GetCommandInvocationOutput) SetResponseCode(v int64) *GetCommandInvocationOutput { + s.ResponseCode = &v + return s +} + +// SetStandardErrorContent sets the StandardErrorContent field's value. +func (s *GetCommandInvocationOutput) SetStandardErrorContent(v string) *GetCommandInvocationOutput { + s.StandardErrorContent = &v + return s +} + +// SetStandardErrorUrl sets the StandardErrorUrl field's value. +func (s *GetCommandInvocationOutput) SetStandardErrorUrl(v string) *GetCommandInvocationOutput { + s.StandardErrorUrl = &v + return s +} + +// SetStandardOutputContent sets the StandardOutputContent field's value. +func (s *GetCommandInvocationOutput) SetStandardOutputContent(v string) *GetCommandInvocationOutput { + s.StandardOutputContent = &v + return s +} + +// SetStandardOutputUrl sets the StandardOutputUrl field's value. +func (s *GetCommandInvocationOutput) SetStandardOutputUrl(v string) *GetCommandInvocationOutput { + s.StandardOutputUrl = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetCommandInvocationOutput) SetStatus(v string) *GetCommandInvocationOutput { + s.Status = &v + return s +} + +// SetStatusDetails sets the StatusDetails field's value. +func (s *GetCommandInvocationOutput) SetStatusDetails(v string) *GetCommandInvocationOutput { + s.StatusDetails = &v + return s +} + type GetDocumentInput struct { _ struct{} `type:"structure"` + // The document version for which you want information. + DocumentVersion *string `type:"string"` + // The name of the SSM document. // // Name is a required field @@ -4468,6 +10258,12 @@ func (s *GetDocumentInput) Validate() error { return nil } +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *GetDocumentInput) SetDocumentVersion(v string) *GetDocumentInput { + s.DocumentVersion = &v + return s +} + // SetName sets the Name field's value. func (s *GetDocumentInput) SetName(v string) *GetDocumentInput { s.Name = &v @@ -4480,6 +10276,12 @@ type GetDocumentOutput struct { // The contents of the SSM document. Content *string `min:"1" type:"string"` + // The document type. + DocumentType *string `type:"string" enum:"DocumentType"` + + // The document version. + DocumentVersion *string `type:"string"` + // The name of the SSM document. Name *string `type:"string"` } @@ -4500,22 +10302,1136 @@ func (s *GetDocumentOutput) SetContent(v string) *GetDocumentOutput { return s } +// SetDocumentType sets the DocumentType field's value. +func (s *GetDocumentOutput) SetDocumentType(v string) *GetDocumentOutput { + s.DocumentType = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *GetDocumentOutput) SetDocumentVersion(v string) *GetDocumentOutput { + s.DocumentVersion = &v + return s +} + // SetName sets the Name field's value. func (s *GetDocumentOutput) SetName(v string) *GetDocumentOutput { s.Name = &v return s } +type GetInventoryInput struct { + _ struct{} `type:"structure"` + + // One or more filters. Use a filter to return a more specific list of results. + Filters []*InventoryFilter `locationNameList:"InventoryFilter" min:"1" type:"list"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` + + // The list of inventory item types to return. + ResultAttributes []*ResultAttribute `locationNameList:"ResultAttribute" min:"1" type:"list"` +} + +// String returns the string representation +func (s GetInventoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInventoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetInventoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInventoryInput"} + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResultAttributes != nil && len(s.ResultAttributes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResultAttributes", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResultAttributes != nil { + for i, v := range s.ResultAttributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResultAttributes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *GetInventoryInput) SetFilters(v []*InventoryFilter) *GetInventoryInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetInventoryInput) SetMaxResults(v int64) *GetInventoryInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetInventoryInput) SetNextToken(v string) *GetInventoryInput { + s.NextToken = &v + return s +} + +// SetResultAttributes sets the ResultAttributes field's value. +func (s *GetInventoryInput) SetResultAttributes(v []*ResultAttribute) *GetInventoryInput { + s.ResultAttributes = v + return s +} + +type GetInventoryOutput struct { + _ struct{} `type:"structure"` + + // Collection of inventory entities such as a collection of instance inventory. + Entities []*InventoryResultEntity `locationNameList:"Entity" type:"list"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetInventoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInventoryOutput) GoString() string { + return s.String() +} + +// SetEntities sets the Entities field's value. +func (s *GetInventoryOutput) SetEntities(v []*InventoryResultEntity) *GetInventoryOutput { + s.Entities = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetInventoryOutput) SetNextToken(v string) *GetInventoryOutput { + s.NextToken = &v + return s +} + +type GetInventorySchemaInput struct { + _ struct{} `type:"structure"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"50" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` + + // The type of inventory item to return. + TypeName *string `type:"string"` +} + +// String returns the string representation +func (s GetInventorySchemaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInventorySchemaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetInventorySchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInventorySchemaInput"} + if s.MaxResults != nil && *s.MaxResults < 50 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetInventorySchemaInput) SetMaxResults(v int64) *GetInventorySchemaInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetInventorySchemaInput) SetNextToken(v string) *GetInventorySchemaInput { + s.NextToken = &v + return s +} + +// SetTypeName sets the TypeName field's value. +func (s *GetInventorySchemaInput) SetTypeName(v string) *GetInventorySchemaInput { + s.TypeName = &v + return s +} + +type GetInventorySchemaOutput struct { + _ struct{} `type:"structure"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` + + // Inventory schemas returned by the request. + Schemas []*InventoryItemSchema `type:"list"` +} + +// String returns the string representation +func (s GetInventorySchemaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInventorySchemaOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetInventorySchemaOutput) SetNextToken(v string) *GetInventorySchemaOutput { + s.NextToken = &v + return s +} + +// SetSchemas sets the Schemas field's value. +func (s *GetInventorySchemaOutput) SetSchemas(v []*InventoryItemSchema) *GetInventorySchemaOutput { + s.Schemas = v + return s +} + +type GetMaintenanceWindowExecutionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Maintenance Window execution that includes the task. + // + // WindowExecutionId is a required field + WindowExecutionId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetMaintenanceWindowExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMaintenanceWindowExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMaintenanceWindowExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionInput"} + if s.WindowExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowExecutionId")) + } + if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWindowExecutionId sets the WindowExecutionId field's value. +func (s *GetMaintenanceWindowExecutionInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionInput { + s.WindowExecutionId = &v + return s +} + +type GetMaintenanceWindowExecutionOutput struct { + _ struct{} `type:"structure"` + + // The time the Maintenance Window finished executing. + EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The time the Maintenance Window started executing. + StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The status of the Maintenance Window execution. + Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"` + + // The details explaining the Status. Only available for certain status values. + StatusDetails *string `type:"string"` + + // The ID of the task executions from the Maintenance Window execution. + TaskIds []*string `type:"list"` + + // The ID of the Maintenance Window execution. + WindowExecutionId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s GetMaintenanceWindowExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMaintenanceWindowExecutionOutput) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *GetMaintenanceWindowExecutionOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionOutput { + s.EndTime = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetMaintenanceWindowExecutionOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionOutput { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetMaintenanceWindowExecutionOutput) SetStatus(v string) *GetMaintenanceWindowExecutionOutput { + s.Status = &v + return s +} + +// SetStatusDetails sets the StatusDetails field's value. +func (s *GetMaintenanceWindowExecutionOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionOutput { + s.StatusDetails = &v + return s +} + +// SetTaskIds sets the TaskIds field's value. +func (s *GetMaintenanceWindowExecutionOutput) SetTaskIds(v []*string) *GetMaintenanceWindowExecutionOutput { + s.TaskIds = v + return s +} + +// SetWindowExecutionId sets the WindowExecutionId field's value. +func (s *GetMaintenanceWindowExecutionOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionOutput { + s.WindowExecutionId = &v + return s +} + +type GetMaintenanceWindowExecutionTaskInput struct { + _ struct{} `type:"structure"` + + // The ID of the specific task execution in the Maintenance Window task that + // should be retrieved. + // + // TaskId is a required field + TaskId *string `min:"36" type:"string" required:"true"` + + // The ID of the Maintenance Window execution that includes the task. + // + // WindowExecutionId is a required field + WindowExecutionId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetMaintenanceWindowExecutionTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMaintenanceWindowExecutionTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMaintenanceWindowExecutionTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionTaskInput"} + if s.TaskId == nil { + invalidParams.Add(request.NewErrParamRequired("TaskId")) + } + if s.TaskId != nil && len(*s.TaskId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("TaskId", 36)) + } + if s.WindowExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowExecutionId")) + } + if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTaskId sets the TaskId field's value. +func (s *GetMaintenanceWindowExecutionTaskInput) SetTaskId(v string) *GetMaintenanceWindowExecutionTaskInput { + s.TaskId = &v + return s +} + +// SetWindowExecutionId sets the WindowExecutionId field's value. +func (s *GetMaintenanceWindowExecutionTaskInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInput { + s.WindowExecutionId = &v + return s +} + +type GetMaintenanceWindowExecutionTaskOutput struct { + _ struct{} `type:"structure"` + + // The time the task execution completed. + EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The defined maximum number of task executions that could be run in parallel. + MaxConcurrency *string `min:"1" type:"string"` + + // The defined maximum number of task execution errors allowed before scheduling + // of the task execution would have been stopped. + MaxErrors *string `min:"1" type:"string"` + + // The priority of the task. + Priority *int64 `type:"integer"` + + // The role that was assumed when executing the task. + ServiceRole *string `type:"string"` + + // The time the task execution started. + StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The status of the task. + Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"` + + // The details explaining the Status. Only available for certain status values. + StatusDetails *string `type:"string"` + + // The ARN of the executed task. + TaskArn *string `min:"1" type:"string"` + + // The ID of the specific task execution in the Maintenance Window task that + // was retrieved. + TaskExecutionId *string `min:"36" type:"string"` + + // The parameters passed to the task when it was executed. The map has the following + // format: + // + // Key: string, 1 ≤ length ≤ 255 + // + // Value: an array of strings where each string 1 ≤ length ≤ 255 + TaskParameters []map[string]*MaintenanceWindowTaskParameterValueExpression `type:"list"` + + // The type of task executed. + Type *string `type:"string" enum:"MaintenanceWindowTaskType"` + + // The ID of the Maintenance Window execution that includes the task. + WindowExecutionId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s GetMaintenanceWindowExecutionTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMaintenanceWindowExecutionTaskOutput) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionTaskOutput { + s.EndTime = &v + return s +} + +// SetMaxConcurrency sets the MaxConcurrency field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetMaxConcurrency(v string) *GetMaintenanceWindowExecutionTaskOutput { + s.MaxConcurrency = &v + return s +} + +// SetMaxErrors sets the MaxErrors field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetMaxErrors(v string) *GetMaintenanceWindowExecutionTaskOutput { + s.MaxErrors = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetPriority(v int64) *GetMaintenanceWindowExecutionTaskOutput { + s.Priority = &v + return s +} + +// SetServiceRole sets the ServiceRole field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetServiceRole(v string) *GetMaintenanceWindowExecutionTaskOutput { + s.ServiceRole = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionTaskOutput { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetStatus(v string) *GetMaintenanceWindowExecutionTaskOutput { + s.Status = &v + return s +} + +// SetStatusDetails sets the StatusDetails field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionTaskOutput { + s.StatusDetails = &v + return s +} + +// SetTaskArn sets the TaskArn field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskArn(v string) *GetMaintenanceWindowExecutionTaskOutput { + s.TaskArn = &v + return s +} + +// SetTaskExecutionId sets the TaskExecutionId field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskExecutionId(v string) *GetMaintenanceWindowExecutionTaskOutput { + s.TaskExecutionId = &v + return s +} + +// SetTaskParameters sets the TaskParameters field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskParameters(v []map[string]*MaintenanceWindowTaskParameterValueExpression) *GetMaintenanceWindowExecutionTaskOutput { + s.TaskParameters = v + return s +} + +// SetType sets the Type field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetType(v string) *GetMaintenanceWindowExecutionTaskOutput { + s.Type = &v + return s +} + +// SetWindowExecutionId sets the WindowExecutionId field's value. +func (s *GetMaintenanceWindowExecutionTaskOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskOutput { + s.WindowExecutionId = &v + return s +} + +type GetMaintenanceWindowInput struct { + _ struct{} `type:"structure"` + + // The ID of the desired Maintenance Window. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetMaintenanceWindowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMaintenanceWindowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMaintenanceWindowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowInput"} + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWindowId sets the WindowId field's value. +func (s *GetMaintenanceWindowInput) SetWindowId(v string) *GetMaintenanceWindowInput { + s.WindowId = &v + return s +} + +type GetMaintenanceWindowOutput struct { + _ struct{} `type:"structure"` + + // Whether targets must be registered with the Maintenance Window before tasks + // can be defined for those targets. + AllowUnassociatedTargets *bool `type:"boolean"` + + // The date the Maintenance Window was created. + CreatedDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The number of hours before the end of the Maintenance Window that Systems + // Manager stops scheduling new tasks for execution. + Cutoff *int64 `type:"integer"` + + // The duration of the Maintenance Window in hours. + Duration *int64 `min:"1" type:"integer"` + + // Whether the Maintenance Windows is enabled. + Enabled *bool `type:"boolean"` + + // The date the Maintenance Window was last modified. + ModifiedDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The name of the Maintenance Window. + Name *string `min:"3" type:"string"` + + // The schedule of the Maintenance Window in the form of a cron or rate expression. + Schedule *string `min:"1" type:"string"` + + // The ID of the created Maintenance Window. + WindowId *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s GetMaintenanceWindowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMaintenanceWindowOutput) GoString() string { + return s.String() +} + +// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value. +func (s *GetMaintenanceWindowOutput) SetAllowUnassociatedTargets(v bool) *GetMaintenanceWindowOutput { + s.AllowUnassociatedTargets = &v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *GetMaintenanceWindowOutput) SetCreatedDate(v time.Time) *GetMaintenanceWindowOutput { + s.CreatedDate = &v + return s +} + +// SetCutoff sets the Cutoff field's value. +func (s *GetMaintenanceWindowOutput) SetCutoff(v int64) *GetMaintenanceWindowOutput { + s.Cutoff = &v + return s +} + +// SetDuration sets the Duration field's value. +func (s *GetMaintenanceWindowOutput) SetDuration(v int64) *GetMaintenanceWindowOutput { + s.Duration = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *GetMaintenanceWindowOutput) SetEnabled(v bool) *GetMaintenanceWindowOutput { + s.Enabled = &v + return s +} + +// SetModifiedDate sets the ModifiedDate field's value. +func (s *GetMaintenanceWindowOutput) SetModifiedDate(v time.Time) *GetMaintenanceWindowOutput { + s.ModifiedDate = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetMaintenanceWindowOutput) SetName(v string) *GetMaintenanceWindowOutput { + s.Name = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *GetMaintenanceWindowOutput) SetSchedule(v string) *GetMaintenanceWindowOutput { + s.Schedule = &v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *GetMaintenanceWindowOutput) SetWindowId(v string) *GetMaintenanceWindowOutput { + s.WindowId = &v + return s +} + +type GetParameterHistoryInput struct { + _ struct{} `type:"structure"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // The name of a parameter you want to query. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` + + // Return decrypted values for secure string parameters. This flag is ignored + // for String and StringList parameter types. + WithDecryption *bool `type:"boolean"` +} + +// String returns the string representation +func (s GetParameterHistoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetParameterHistoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetParameterHistoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetParameterHistoryInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetParameterHistoryInput) SetMaxResults(v int64) *GetParameterHistoryInput { + s.MaxResults = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetParameterHistoryInput) SetName(v string) *GetParameterHistoryInput { + s.Name = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetParameterHistoryInput) SetNextToken(v string) *GetParameterHistoryInput { + s.NextToken = &v + return s +} + +// SetWithDecryption sets the WithDecryption field's value. +func (s *GetParameterHistoryInput) SetWithDecryption(v bool) *GetParameterHistoryInput { + s.WithDecryption = &v + return s +} + +type GetParameterHistoryOutput struct { + _ struct{} `type:"structure"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` + + // A list of parameters returned by the request. + Parameters []*ParameterHistory `type:"list"` +} + +// String returns the string representation +func (s GetParameterHistoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetParameterHistoryOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetParameterHistoryOutput) SetNextToken(v string) *GetParameterHistoryOutput { + s.NextToken = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *GetParameterHistoryOutput) SetParameters(v []*ParameterHistory) *GetParameterHistoryOutput { + s.Parameters = v + return s +} + +type GetParametersInput struct { + _ struct{} `type:"structure"` + + // Names of the parameters for which you want to query information. + // + // Names is a required field + Names []*string `min:"1" type:"list" required:"true"` + + // Return decrypted secure string value. Return decrypted values for secure + // string parameters. This flag is ignored for String and StringList parameter + // types. + WithDecryption *bool `type:"boolean"` +} + +// String returns the string representation +func (s GetParametersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetParametersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetParametersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetParametersInput"} + if s.Names == nil { + invalidParams.Add(request.NewErrParamRequired("Names")) + } + if s.Names != nil && len(s.Names) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Names", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNames sets the Names field's value. +func (s *GetParametersInput) SetNames(v []*string) *GetParametersInput { + s.Names = v + return s +} + +// SetWithDecryption sets the WithDecryption field's value. +func (s *GetParametersInput) SetWithDecryption(v bool) *GetParametersInput { + s.WithDecryption = &v + return s +} + +type GetParametersOutput struct { + _ struct{} `type:"structure"` + + // A list of parameters that are not formatted correctly or do not run when + // executed. + InvalidParameters []*string `min:"1" type:"list"` + + // A list of parameters used by the AWS account. + Parameters []*Parameter `type:"list"` +} + +// String returns the string representation +func (s GetParametersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetParametersOutput) GoString() string { + return s.String() +} + +// SetInvalidParameters sets the InvalidParameters field's value. +func (s *GetParametersOutput) SetInvalidParameters(v []*string) *GetParametersOutput { + s.InvalidParameters = v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *GetParametersOutput) SetParameters(v []*Parameter) *GetParametersOutput { + s.Parameters = v + return s +} + +// Status information about the aggregated associations. +type InstanceAggregatedAssociationOverview struct { + _ struct{} `type:"structure"` + + // Detailed status information about the aggregated associations. + DetailedStatus *string `type:"string"` + + // The number of associations for the instance(s). + InstanceAssociationStatusAggregatedCount map[string]*int64 `type:"map"` +} + +// String returns the string representation +func (s InstanceAggregatedAssociationOverview) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceAggregatedAssociationOverview) GoString() string { + return s.String() +} + +// SetDetailedStatus sets the DetailedStatus field's value. +func (s *InstanceAggregatedAssociationOverview) SetDetailedStatus(v string) *InstanceAggregatedAssociationOverview { + s.DetailedStatus = &v + return s +} + +// SetInstanceAssociationStatusAggregatedCount sets the InstanceAssociationStatusAggregatedCount field's value. +func (s *InstanceAggregatedAssociationOverview) SetInstanceAssociationStatusAggregatedCount(v map[string]*int64) *InstanceAggregatedAssociationOverview { + s.InstanceAssociationStatusAggregatedCount = v + return s +} + +// One or more association documents on the instance. +type InstanceAssociation struct { + _ struct{} `type:"structure"` + + // The association ID. + AssociationId *string `type:"string"` + + // The content of the association document for the instance(s). + Content *string `min:"1" type:"string"` + + // The instance ID. + InstanceId *string `type:"string"` +} + +// String returns the string representation +func (s InstanceAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceAssociation) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *InstanceAssociation) SetAssociationId(v string) *InstanceAssociation { + s.AssociationId = &v + return s +} + +// SetContent sets the Content field's value. +func (s *InstanceAssociation) SetContent(v string) *InstanceAssociation { + s.Content = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *InstanceAssociation) SetInstanceId(v string) *InstanceAssociation { + s.InstanceId = &v + return s +} + +// An Amazon S3 bucket where you want to store the results of this request. +type InstanceAssociationOutputLocation struct { + _ struct{} `type:"structure"` + + // An Amazon S3 bucket where you want to store the results of this request. + S3Location *S3OutputLocation `type:"structure"` +} + +// String returns the string representation +func (s InstanceAssociationOutputLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceAssociationOutputLocation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceAssociationOutputLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceAssociationOutputLocation"} + if s.S3Location != nil { + if err := s.S3Location.Validate(); err != nil { + invalidParams.AddNested("S3Location", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Location sets the S3Location field's value. +func (s *InstanceAssociationOutputLocation) SetS3Location(v *S3OutputLocation) *InstanceAssociationOutputLocation { + s.S3Location = v + return s +} + +// The URL of Amazon S3 bucket where you want to store the results of this request. +type InstanceAssociationOutputUrl struct { + _ struct{} `type:"structure"` + + // The URL of Amazon S3 bucket where you want to store the results of this request. + S3OutputUrl *S3OutputUrl `type:"structure"` +} + +// String returns the string representation +func (s InstanceAssociationOutputUrl) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceAssociationOutputUrl) GoString() string { + return s.String() +} + +// SetS3OutputUrl sets the S3OutputUrl field's value. +func (s *InstanceAssociationOutputUrl) SetS3OutputUrl(v *S3OutputUrl) *InstanceAssociationOutputUrl { + s.S3OutputUrl = v + return s +} + +// Status information about the instance association. +type InstanceAssociationStatusInfo struct { + _ struct{} `type:"structure"` + + // The association ID. + AssociationId *string `type:"string"` + + // Detailed status information about the instance association. + DetailedStatus *string `type:"string"` + + // The association document verions. + DocumentVersion *string `type:"string"` + + // An error code returned by the request to create the association. + ErrorCode *string `type:"string"` + + // The date the instance association executed. + ExecutionDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Summary information about association execution. + ExecutionSummary *string `min:"1" type:"string"` + + // The instance ID where the association was created. + InstanceId *string `type:"string"` + + // The name of the association. + Name *string `type:"string"` + + // A URL for an Amazon S3 bucket where you want to store the results of this + // request. + OutputUrl *InstanceAssociationOutputUrl `type:"structure"` + + // Status information about the instance association. + Status *string `type:"string"` +} + +// String returns the string representation +func (s InstanceAssociationStatusInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceAssociationStatusInfo) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *InstanceAssociationStatusInfo) SetAssociationId(v string) *InstanceAssociationStatusInfo { + s.AssociationId = &v + return s +} + +// SetDetailedStatus sets the DetailedStatus field's value. +func (s *InstanceAssociationStatusInfo) SetDetailedStatus(v string) *InstanceAssociationStatusInfo { + s.DetailedStatus = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *InstanceAssociationStatusInfo) SetDocumentVersion(v string) *InstanceAssociationStatusInfo { + s.DocumentVersion = &v + return s +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *InstanceAssociationStatusInfo) SetErrorCode(v string) *InstanceAssociationStatusInfo { + s.ErrorCode = &v + return s +} + +// SetExecutionDate sets the ExecutionDate field's value. +func (s *InstanceAssociationStatusInfo) SetExecutionDate(v time.Time) *InstanceAssociationStatusInfo { + s.ExecutionDate = &v + return s +} + +// SetExecutionSummary sets the ExecutionSummary field's value. +func (s *InstanceAssociationStatusInfo) SetExecutionSummary(v string) *InstanceAssociationStatusInfo { + s.ExecutionSummary = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *InstanceAssociationStatusInfo) SetInstanceId(v string) *InstanceAssociationStatusInfo { + s.InstanceId = &v + return s +} + +// SetName sets the Name field's value. +func (s *InstanceAssociationStatusInfo) SetName(v string) *InstanceAssociationStatusInfo { + s.Name = &v + return s +} + +// SetOutputUrl sets the OutputUrl field's value. +func (s *InstanceAssociationStatusInfo) SetOutputUrl(v *InstanceAssociationOutputUrl) *InstanceAssociationStatusInfo { + s.OutputUrl = v + return s +} + +// SetStatus sets the Status field's value. +func (s *InstanceAssociationStatusInfo) SetStatus(v string) *InstanceAssociationStatusInfo { + s.Status = &v + return s +} + // Describes a filter for a specific list of instances. type InstanceInformation struct { _ struct{} `type:"structure"` - // The activation ID created by SSM when the server or VM was registered. + // The activation ID created by Systems Manager when the server or VM was registered. ActivationId *string `type:"string"` // The version of the SSM agent running on your Linux instance. AgentVersion *string `type:"string"` + // Information about the association. + AssociationOverview *InstanceAggregatedAssociationOverview `type:"structure"` + + // The status of the association. + AssociationStatus *string `type:"string"` + // The fully qualified host name of the managed instance. ComputerName *string `min:"1" type:"string"` @@ -4532,9 +11448,15 @@ type InstanceInformation struct { // Indicates whether latest version of the SSM agent is running on your instance. IsLatestVersion *bool `type:"boolean"` - // The date and time when agent last pinged SSM service. + // The date the association was last executed. + LastAssociationExecutionDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The date and time when agent last pinged Systems Manager service. LastPingDateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + // The last date the association was successfully run. + LastSuccessfulAssociationExecutionDate *time.Time `type:"timestamp" timestampFormat:"unix"` + // The name of the managed instance. Name *string `type:"string"` @@ -4579,6 +11501,18 @@ func (s *InstanceInformation) SetAgentVersion(v string) *InstanceInformation { return s } +// SetAssociationOverview sets the AssociationOverview field's value. +func (s *InstanceInformation) SetAssociationOverview(v *InstanceAggregatedAssociationOverview) *InstanceInformation { + s.AssociationOverview = v + return s +} + +// SetAssociationStatus sets the AssociationStatus field's value. +func (s *InstanceInformation) SetAssociationStatus(v string) *InstanceInformation { + s.AssociationStatus = &v + return s +} + // SetComputerName sets the ComputerName field's value. func (s *InstanceInformation) SetComputerName(v string) *InstanceInformation { s.ComputerName = &v @@ -4609,12 +11543,24 @@ func (s *InstanceInformation) SetIsLatestVersion(v bool) *InstanceInformation { return s } +// SetLastAssociationExecutionDate sets the LastAssociationExecutionDate field's value. +func (s *InstanceInformation) SetLastAssociationExecutionDate(v time.Time) *InstanceInformation { + s.LastAssociationExecutionDate = &v + return s +} + // SetLastPingDateTime sets the LastPingDateTime field's value. func (s *InstanceInformation) SetLastPingDateTime(v time.Time) *InstanceInformation { s.LastPingDateTime = &v return s } +// SetLastSuccessfulAssociationExecutionDate sets the LastSuccessfulAssociationExecutionDate field's value. +func (s *InstanceInformation) SetLastSuccessfulAssociationExecutionDate(v time.Time) *InstanceInformation { + s.LastSuccessfulAssociationExecutionDate = &v + return s +} + // SetName sets the Name field's value. func (s *InstanceInformation) SetName(v string) *InstanceInformation { s.Name = &v @@ -4713,13 +11659,432 @@ func (s *InstanceInformationFilter) SetValueSet(v []*string) *InstanceInformatio return s } +// The filters to describe or get information about your managed instances. +type InstanceInformationStringFilter struct { + _ struct{} `type:"structure"` + + // The filter key name to describe your instances. For example: + // + // "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|”AssociationStatus”|”Tag + // Key” + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The filter values. + // + // Values is a required field + Values []*string `locationNameList:"InstanceInformationFilterValue" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s InstanceInformationStringFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceInformationStringFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceInformationStringFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceInformationStringFilter"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *InstanceInformationStringFilter) SetKey(v string) *InstanceInformationStringFilter { + s.Key = &v + return s +} + +// SetValues sets the Values field's value. +func (s *InstanceInformationStringFilter) SetValues(v []*string) *InstanceInformationStringFilter { + s.Values = v + return s +} + +// One or more filters. Use a filter to return a more specific list of results. +type InventoryFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter key. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The type of filter. Valid values include the following: "Equal"|"NotEqual"|"BeginWith"|"LessThan"|"GreaterThan" + Type *string `type:"string" enum:"InventoryQueryOperatorType"` + + // Inventory filter values. Example: inventory filter where instance IDs are + // specified as values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g, + // i-1a2b3c4d5e6,Type=Equal + // + // Values is a required field + Values []*string `locationNameList:"FilterValue" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s InventoryFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InventoryFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InventoryFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *InventoryFilter) SetKey(v string) *InventoryFilter { + s.Key = &v + return s +} + +// SetType sets the Type field's value. +func (s *InventoryFilter) SetType(v string) *InventoryFilter { + s.Type = &v + return s +} + +// SetValues sets the Values field's value. +func (s *InventoryFilter) SetValues(v []*string) *InventoryFilter { + s.Values = v + return s +} + +// Information collected from managed instances based on your inventory policy +// document +type InventoryItem struct { + _ struct{} `type:"structure"` + + // The time the inventory information was collected. + // + // CaptureTime is a required field + CaptureTime *string `type:"string" required:"true"` + + // The inventory data of the inventory type. + Content []map[string]*string `type:"list"` + + // MD5 hash of the inventory item type contents. The content hash is used to + // determine whether to update inventory information. The PutInventory API does + // not update the inventory item type contents if the MD5 hash has not changed + // since last update. + ContentHash *string `type:"string"` + + // The schema version for the inventory item. + // + // SchemaVersion is a required field + SchemaVersion *string `type:"string" required:"true"` + + // The name of the inventory type. Default inventory item type names start with + // AWS. Custom inventory type names will start with Custom. Default inventory + // item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, + // AWS:Network, and AWS:WindowsUpdate. + // + // TypeName is a required field + TypeName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s InventoryItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InventoryItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InventoryItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InventoryItem"} + if s.CaptureTime == nil { + invalidParams.Add(request.NewErrParamRequired("CaptureTime")) + } + if s.SchemaVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaVersion")) + } + if s.TypeName == nil { + invalidParams.Add(request.NewErrParamRequired("TypeName")) + } + if s.TypeName != nil && len(*s.TypeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TypeName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCaptureTime sets the CaptureTime field's value. +func (s *InventoryItem) SetCaptureTime(v string) *InventoryItem { + s.CaptureTime = &v + return s +} + +// SetContent sets the Content field's value. +func (s *InventoryItem) SetContent(v []map[string]*string) *InventoryItem { + s.Content = v + return s +} + +// SetContentHash sets the ContentHash field's value. +func (s *InventoryItem) SetContentHash(v string) *InventoryItem { + s.ContentHash = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *InventoryItem) SetSchemaVersion(v string) *InventoryItem { + s.SchemaVersion = &v + return s +} + +// SetTypeName sets the TypeName field's value. +func (s *InventoryItem) SetTypeName(v string) *InventoryItem { + s.TypeName = &v + return s +} + +// Attributes are the entries within the inventory item content. It contains +// name and value. +type InventoryItemAttribute struct { + _ struct{} `type:"structure"` + + // The data type of the inventory item attribute. + // + // DataType is a required field + DataType *string `type:"string" required:"true" enum:"InventoryAttributeDataType"` + + // Name of the inventory item attribute. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s InventoryItemAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InventoryItemAttribute) GoString() string { + return s.String() +} + +// SetDataType sets the DataType field's value. +func (s *InventoryItemAttribute) SetDataType(v string) *InventoryItemAttribute { + s.DataType = &v + return s +} + +// SetName sets the Name field's value. +func (s *InventoryItemAttribute) SetName(v string) *InventoryItemAttribute { + s.Name = &v + return s +} + +// The inventory item schema definition. Users can use this to compose inventory +// query filters. +type InventoryItemSchema struct { + _ struct{} `type:"structure"` + + // The schema attributes for inventory. This contains data type and attribute + // name. + // + // Attributes is a required field + Attributes []*InventoryItemAttribute `locationNameList:"Attribute" min:"1" type:"list" required:"true"` + + // The name of the inventory type. Default inventory item type names start with + // AWS. Custom inventory type names will start with Custom. Default inventory + // item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, + // AWS:Network, and AWS:WindowsUpdate. + // + // TypeName is a required field + TypeName *string `min:"1" type:"string" required:"true"` + + // The schema version for the inventory item. + Version *string `type:"string"` +} + +// String returns the string representation +func (s InventoryItemSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InventoryItemSchema) GoString() string { + return s.String() +} + +// SetAttributes sets the Attributes field's value. +func (s *InventoryItemSchema) SetAttributes(v []*InventoryItemAttribute) *InventoryItemSchema { + s.Attributes = v + return s +} + +// SetTypeName sets the TypeName field's value. +func (s *InventoryItemSchema) SetTypeName(v string) *InventoryItemSchema { + s.TypeName = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *InventoryItemSchema) SetVersion(v string) *InventoryItemSchema { + s.Version = &v + return s +} + +// Inventory query results. +type InventoryResultEntity struct { + _ struct{} `type:"structure"` + + // The data section in the inventory result entity json. + Data map[string]*InventoryResultItem `type:"map"` + + // ID of the inventory result entity. For example, for managed instance inventory + // the result will be the managed instance ID. For EC2 instance inventory, the + // result will be the instance ID. + Id *string `type:"string"` +} + +// String returns the string representation +func (s InventoryResultEntity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InventoryResultEntity) GoString() string { + return s.String() +} + +// SetData sets the Data field's value. +func (s *InventoryResultEntity) SetData(v map[string]*InventoryResultItem) *InventoryResultEntity { + s.Data = v + return s +} + +// SetId sets the Id field's value. +func (s *InventoryResultEntity) SetId(v string) *InventoryResultEntity { + s.Id = &v + return s +} + +// The inventory result item. +type InventoryResultItem struct { + _ struct{} `type:"structure"` + + // The time inventory item data was captured. + CaptureTime *string `type:"string"` + + // Contains all the inventory data of the item type. Results include attribute + // names and values. + // + // Content is a required field + Content []map[string]*string `type:"list" required:"true"` + + // MD5 hash of the inventory item type contents. The content hash is used to + // determine whether to update inventory information. The PutInventory API does + // not update the inventory item type contents if the MD5 hash has not changed + // since last update. + ContentHash *string `type:"string"` + + // The schema version for the inventory result item/ + // + // SchemaVersion is a required field + SchemaVersion *string `type:"string" required:"true"` + + // The name of the inventory result item type. + // + // TypeName is a required field + TypeName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s InventoryResultItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InventoryResultItem) GoString() string { + return s.String() +} + +// SetCaptureTime sets the CaptureTime field's value. +func (s *InventoryResultItem) SetCaptureTime(v string) *InventoryResultItem { + s.CaptureTime = &v + return s +} + +// SetContent sets the Content field's value. +func (s *InventoryResultItem) SetContent(v []map[string]*string) *InventoryResultItem { + s.Content = v + return s +} + +// SetContentHash sets the ContentHash field's value. +func (s *InventoryResultItem) SetContentHash(v string) *InventoryResultItem { + s.ContentHash = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *InventoryResultItem) SetSchemaVersion(v string) *InventoryResultItem { + s.SchemaVersion = &v + return s +} + +// SetTypeName sets the TypeName field's value. +func (s *InventoryResultItem) SetTypeName(v string) *InventoryResultItem { + s.TypeName = &v + return s +} + type ListAssociationsInput struct { _ struct{} `type:"structure"` // One or more filters. Use a filter to return a more specific list of results. - // - // AssociationFilterList is a required field - AssociationFilterList []*AssociationFilter `locationNameList:"AssociationFilter" min:"1" type:"list" required:"true"` + AssociationFilterList []*AssociationFilter `locationNameList:"AssociationFilter" min:"1" type:"list"` // The maximum number of items to return for this call. The call also returns // a token that you can specify in a subsequent call to get the next set of @@ -4744,9 +12109,6 @@ func (s ListAssociationsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListAssociationsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListAssociationsInput"} - if s.AssociationFilterList == nil { - invalidParams.Add(request.NewErrParamRequired("AssociationFilterList")) - } if s.AssociationFilterList != nil && len(s.AssociationFilterList) < 1 { invalidParams.Add(request.NewErrParamMinLen("AssociationFilterList", 1)) } @@ -5081,6 +12443,101 @@ func (s *ListCommandsOutput) SetNextToken(v string) *ListCommandsOutput { return s } +type ListDocumentVersionsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // The name of the document about which you want version information. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDocumentVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDocumentVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDocumentVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDocumentVersionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDocumentVersionsInput) SetMaxResults(v int64) *ListDocumentVersionsInput { + s.MaxResults = &v + return s +} + +// SetName sets the Name field's value. +func (s *ListDocumentVersionsInput) SetName(v string) *ListDocumentVersionsInput { + s.Name = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDocumentVersionsInput) SetNextToken(v string) *ListDocumentVersionsInput { + s.NextToken = &v + return s +} + +type ListDocumentVersionsOutput struct { + _ struct{} `type:"structure"` + + // The document versions. + DocumentVersions []*DocumentVersionInfo `min:"1" type:"list"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListDocumentVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDocumentVersionsOutput) GoString() string { + return s.String() +} + +// SetDocumentVersions sets the DocumentVersions field's value. +func (s *ListDocumentVersionsOutput) SetDocumentVersions(v []*DocumentVersionInfo) *ListDocumentVersionsOutput { + s.DocumentVersions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDocumentVersionsOutput) SetNextToken(v string) *ListDocumentVersionsOutput { + s.NextToken = &v + return s +} + type ListDocumentsInput struct { _ struct{} `type:"structure"` @@ -5184,6 +12641,176 @@ func (s *ListDocumentsOutput) SetNextToken(v string) *ListDocumentsOutput { return s } +type ListInventoryEntriesInput struct { + _ struct{} `type:"structure"` + + // One or more filters. Use a filter to return a more specific list of results. + Filters []*InventoryFilter `locationNameList:"InventoryFilter" min:"1" type:"list"` + + // The instance ID for which you want inventory information. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` + + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` + + // The type of inventory item for which you want information. + // + // TypeName is a required field + TypeName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListInventoryEntriesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInventoryEntriesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListInventoryEntriesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInventoryEntriesInput"} + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TypeName == nil { + invalidParams.Add(request.NewErrParamRequired("TypeName")) + } + if s.TypeName != nil && len(*s.TypeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TypeName", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *ListInventoryEntriesInput) SetFilters(v []*InventoryFilter) *ListInventoryEntriesInput { + s.Filters = v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ListInventoryEntriesInput) SetInstanceId(v string) *ListInventoryEntriesInput { + s.InstanceId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListInventoryEntriesInput) SetMaxResults(v int64) *ListInventoryEntriesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInventoryEntriesInput) SetNextToken(v string) *ListInventoryEntriesInput { + s.NextToken = &v + return s +} + +// SetTypeName sets the TypeName field's value. +func (s *ListInventoryEntriesInput) SetTypeName(v string) *ListInventoryEntriesInput { + s.TypeName = &v + return s +} + +type ListInventoryEntriesOutput struct { + _ struct{} `type:"structure"` + + // The time that inventory information was collected for the instance(s). + CaptureTime *string `type:"string"` + + // A list of inventory items on the instance(s). + Entries []map[string]*string `type:"list"` + + // The instance ID targeted by the request to query inventory information. + InstanceId *string `type:"string"` + + // The token to use when requesting the next set of items. If there are no additional + // items to return, the string is empty. + NextToken *string `type:"string"` + + // The inventory schema version used by the instance(s). + SchemaVersion *string `type:"string"` + + // The type of inventory item returned by the request. + TypeName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListInventoryEntriesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInventoryEntriesOutput) GoString() string { + return s.String() +} + +// SetCaptureTime sets the CaptureTime field's value. +func (s *ListInventoryEntriesOutput) SetCaptureTime(v string) *ListInventoryEntriesOutput { + s.CaptureTime = &v + return s +} + +// SetEntries sets the Entries field's value. +func (s *ListInventoryEntriesOutput) SetEntries(v []map[string]*string) *ListInventoryEntriesOutput { + s.Entries = v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ListInventoryEntriesOutput) SetInstanceId(v string) *ListInventoryEntriesOutput { + s.InstanceId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInventoryEntriesOutput) SetNextToken(v string) *ListInventoryEntriesOutput { + s.NextToken = &v + return s +} + +// SetSchemaVersion sets the SchemaVersion field's value. +func (s *ListInventoryEntriesOutput) SetSchemaVersion(v string) *ListInventoryEntriesOutput { + s.SchemaVersion = &v + return s +} + +// SetTypeName sets the TypeName field's value. +func (s *ListInventoryEntriesOutput) SetTypeName(v string) *ListInventoryEntriesOutput { + s.TypeName = &v + return s +} + type ListTagsForResourceInput struct { _ struct{} `type:"structure"` @@ -5259,6 +12886,663 @@ func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOut return s } +// Information about an Amazon S3 bucket to write instance-level logs to. +type LoggingInfo struct { + _ struct{} `type:"structure"` + + // The name of an Amazon S3 bucket where execution logs are stored . + // + // S3BucketName is a required field + S3BucketName *string `min:"3" type:"string" required:"true"` + + // (Optional) The Amazon S3 bucket subfolder. + S3KeyPrefix *string `type:"string"` + + // The region where the Amazon S3 bucket is located. + // + // S3Region is a required field + S3Region *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s LoggingInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LoggingInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LoggingInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LoggingInfo"} + if s.S3BucketName == nil { + invalidParams.Add(request.NewErrParamRequired("S3BucketName")) + } + if s.S3BucketName != nil && len(*s.S3BucketName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3)) + } + if s.S3Region == nil { + invalidParams.Add(request.NewErrParamRequired("S3Region")) + } + if s.S3Region != nil && len(*s.S3Region) < 3 { + invalidParams.Add(request.NewErrParamMinLen("S3Region", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3BucketName sets the S3BucketName field's value. +func (s *LoggingInfo) SetS3BucketName(v string) *LoggingInfo { + s.S3BucketName = &v + return s +} + +// SetS3KeyPrefix sets the S3KeyPrefix field's value. +func (s *LoggingInfo) SetS3KeyPrefix(v string) *LoggingInfo { + s.S3KeyPrefix = &v + return s +} + +// SetS3Region sets the S3Region field's value. +func (s *LoggingInfo) SetS3Region(v string) *LoggingInfo { + s.S3Region = &v + return s +} + +// Describes the information about an execution of a Maintenance Window. +type MaintenanceWindowExecution struct { + _ struct{} `type:"structure"` + + // The time the execution finished. + EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The time the execution started. + StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The status of the execution. + Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"` + + // The details explaining the Status. Only available for certain status values. + StatusDetails *string `type:"string"` + + // The ID of the Maintenance Window execution. + WindowExecutionId *string `min:"36" type:"string"` + + // The ID of the Maintenance Window. + WindowId *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s MaintenanceWindowExecution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowExecution) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *MaintenanceWindowExecution) SetEndTime(v time.Time) *MaintenanceWindowExecution { + s.EndTime = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *MaintenanceWindowExecution) SetStartTime(v time.Time) *MaintenanceWindowExecution { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *MaintenanceWindowExecution) SetStatus(v string) *MaintenanceWindowExecution { + s.Status = &v + return s +} + +// SetStatusDetails sets the StatusDetails field's value. +func (s *MaintenanceWindowExecution) SetStatusDetails(v string) *MaintenanceWindowExecution { + s.StatusDetails = &v + return s +} + +// SetWindowExecutionId sets the WindowExecutionId field's value. +func (s *MaintenanceWindowExecution) SetWindowExecutionId(v string) *MaintenanceWindowExecution { + s.WindowExecutionId = &v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *MaintenanceWindowExecution) SetWindowId(v string) *MaintenanceWindowExecution { + s.WindowId = &v + return s +} + +// Information about a task execution performed as part of a Maintenance Window +// execution. +type MaintenanceWindowExecutionTaskIdentity struct { + _ struct{} `type:"structure"` + + // The time the task execution finished. + EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The time the task execution started. + StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The status of the task execution. + Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"` + + // The details explaining the status of the task execution. Only available for + // certain status values. + StatusDetails *string `type:"string"` + + // The ARN of the executed task. + TaskArn *string `min:"1" type:"string"` + + // The ID of the specific task execution in the Maintenance Window execution. + TaskExecutionId *string `min:"36" type:"string"` + + // The type of executed task. + TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"` + + // The ID of the Maintenance Window execution that ran the task. + WindowExecutionId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s MaintenanceWindowExecutionTaskIdentity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowExecutionTaskIdentity) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *MaintenanceWindowExecutionTaskIdentity) SetEndTime(v time.Time) *MaintenanceWindowExecutionTaskIdentity { + s.EndTime = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *MaintenanceWindowExecutionTaskIdentity) SetStartTime(v time.Time) *MaintenanceWindowExecutionTaskIdentity { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *MaintenanceWindowExecutionTaskIdentity) SetStatus(v string) *MaintenanceWindowExecutionTaskIdentity { + s.Status = &v + return s +} + +// SetStatusDetails sets the StatusDetails field's value. +func (s *MaintenanceWindowExecutionTaskIdentity) SetStatusDetails(v string) *MaintenanceWindowExecutionTaskIdentity { + s.StatusDetails = &v + return s +} + +// SetTaskArn sets the TaskArn field's value. +func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskArn(v string) *MaintenanceWindowExecutionTaskIdentity { + s.TaskArn = &v + return s +} + +// SetTaskExecutionId sets the TaskExecutionId field's value. +func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskExecutionId(v string) *MaintenanceWindowExecutionTaskIdentity { + s.TaskExecutionId = &v + return s +} + +// SetTaskType sets the TaskType field's value. +func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskType(v string) *MaintenanceWindowExecutionTaskIdentity { + s.TaskType = &v + return s +} + +// SetWindowExecutionId sets the WindowExecutionId field's value. +func (s *MaintenanceWindowExecutionTaskIdentity) SetWindowExecutionId(v string) *MaintenanceWindowExecutionTaskIdentity { + s.WindowExecutionId = &v + return s +} + +// Describes the information about a task invocation for a particular target +// as part of a task execution performed as part of a Maintenance Window execution. +type MaintenanceWindowExecutionTaskInvocationIdentity struct { + _ struct{} `type:"structure"` + + // The time the invocation finished. + EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The ID of the action performed in the service that actually handled the task + // invocation. If the task type is RUN_COMMAND, this value is the command ID. + ExecutionId *string `type:"string"` + + // The ID of the task invocation. + InvocationId *string `min:"36" type:"string"` + + // User-provided value that was specified when the target was registered with + // the Maintenance Window. This was also included in any CloudWatch events raised + // during the task invocation. + OwnerInformation *string `min:"1" type:"string"` + + // The parameters that were provided for the invocation when it was executed. + Parameters *string `type:"string"` + + // The time the invocation started. + StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The status of the task invocation. + Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"` + + // The details explaining the status of the task invocation. Only available + // for certain Status values. + StatusDetails *string `type:"string"` + + // The ID of the specific task execution in the Maintenance Window execution. + TaskExecutionId *string `min:"36" type:"string"` + + // The ID of the Maintenance Window execution that ran the task. + WindowExecutionId *string `min:"36" type:"string"` + + // The ID of the target definition in this Maintenance Window the invocation + // was performed for. + WindowTargetId *string `type:"string"` +} + +// String returns the string representation +func (s MaintenanceWindowExecutionTaskInvocationIdentity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowExecutionTaskInvocationIdentity) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetEndTime(v time.Time) *MaintenanceWindowExecutionTaskInvocationIdentity { + s.EndTime = &v + return s +} + +// SetExecutionId sets the ExecutionId field's value. +func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity { + s.ExecutionId = &v + return s +} + +// SetInvocationId sets the InvocationId field's value. +func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetInvocationId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity { + s.InvocationId = &v + return s +} + +// SetOwnerInformation sets the OwnerInformation field's value. +func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetOwnerInformation(v string) *MaintenanceWindowExecutionTaskInvocationIdentity { + s.OwnerInformation = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetParameters(v string) *MaintenanceWindowExecutionTaskInvocationIdentity { + s.Parameters = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStartTime(v time.Time) *MaintenanceWindowExecutionTaskInvocationIdentity { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStatus(v string) *MaintenanceWindowExecutionTaskInvocationIdentity { + s.Status = &v + return s +} + +// SetStatusDetails sets the StatusDetails field's value. +func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStatusDetails(v string) *MaintenanceWindowExecutionTaskInvocationIdentity { + s.StatusDetails = &v + return s +} + +// SetTaskExecutionId sets the TaskExecutionId field's value. +func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetTaskExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity { + s.TaskExecutionId = &v + return s +} + +// SetWindowExecutionId sets the WindowExecutionId field's value. +func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetWindowExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity { + s.WindowExecutionId = &v + return s +} + +// SetWindowTargetId sets the WindowTargetId field's value. +func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetWindowTargetId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity { + s.WindowTargetId = &v + return s +} + +// Filter used in the request. +type MaintenanceWindowFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter. + Key *string `min:"1" type:"string"` + + // The filter values. + Values []*string `type:"list"` +} + +// String returns the string representation +func (s MaintenanceWindowFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MaintenanceWindowFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowFilter"} + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *MaintenanceWindowFilter) SetKey(v string) *MaintenanceWindowFilter { + s.Key = &v + return s +} + +// SetValues sets the Values field's value. +func (s *MaintenanceWindowFilter) SetValues(v []*string) *MaintenanceWindowFilter { + s.Values = v + return s +} + +// Information about the Maintenance Window. +type MaintenanceWindowIdentity struct { + _ struct{} `type:"structure"` + + // The number of hours before the end of the Maintenance Window that Systems + // Manager stops scheduling new tasks for execution. + Cutoff *int64 `type:"integer"` + + // The duration of the Maintenance Window in hours. + Duration *int64 `min:"1" type:"integer"` + + // Whether the Maintenance Window is enabled. + Enabled *bool `type:"boolean"` + + // The name of the Maintenance Window. + Name *string `min:"3" type:"string"` + + // The ID of the Maintenance Window. + WindowId *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s MaintenanceWindowIdentity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowIdentity) GoString() string { + return s.String() +} + +// SetCutoff sets the Cutoff field's value. +func (s *MaintenanceWindowIdentity) SetCutoff(v int64) *MaintenanceWindowIdentity { + s.Cutoff = &v + return s +} + +// SetDuration sets the Duration field's value. +func (s *MaintenanceWindowIdentity) SetDuration(v int64) *MaintenanceWindowIdentity { + s.Duration = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *MaintenanceWindowIdentity) SetEnabled(v bool) *MaintenanceWindowIdentity { + s.Enabled = &v + return s +} + +// SetName sets the Name field's value. +func (s *MaintenanceWindowIdentity) SetName(v string) *MaintenanceWindowIdentity { + s.Name = &v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *MaintenanceWindowIdentity) SetWindowId(v string) *MaintenanceWindowIdentity { + s.WindowId = &v + return s +} + +// The target registered with the Maintenance Window. +type MaintenanceWindowTarget struct { + _ struct{} `type:"structure"` + + // User-provided value that will be included in any CloudWatch events raised + // while running tasks for these targets in this Maintenance Window. + OwnerInformation *string `min:"1" type:"string"` + + // The type of target. + ResourceType *string `type:"string" enum:"MaintenanceWindowResourceType"` + + // The targets (either instances or tags). Instances are specified using Key=instanceids,Values=,. + // Tags are specified using Key=,Values=. + Targets []*Target `type:"list"` + + // The Maintenance Window ID where the target is registered. + WindowId *string `min:"20" type:"string"` + + // The ID of the target. + WindowTargetId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s MaintenanceWindowTarget) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowTarget) GoString() string { + return s.String() +} + +// SetOwnerInformation sets the OwnerInformation field's value. +func (s *MaintenanceWindowTarget) SetOwnerInformation(v string) *MaintenanceWindowTarget { + s.OwnerInformation = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *MaintenanceWindowTarget) SetResourceType(v string) *MaintenanceWindowTarget { + s.ResourceType = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *MaintenanceWindowTarget) SetTargets(v []*Target) *MaintenanceWindowTarget { + s.Targets = v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *MaintenanceWindowTarget) SetWindowId(v string) *MaintenanceWindowTarget { + s.WindowId = &v + return s +} + +// SetWindowTargetId sets the WindowTargetId field's value. +func (s *MaintenanceWindowTarget) SetWindowTargetId(v string) *MaintenanceWindowTarget { + s.WindowTargetId = &v + return s +} + +// Information about a task defined for a Maintenance Window. +type MaintenanceWindowTask struct { + _ struct{} `type:"structure"` + + // Information about an Amazon S3 bucket to write task-level logs to. + LoggingInfo *LoggingInfo `type:"structure"` + + // The maximum number of targets this task can be run for in parallel. + MaxConcurrency *string `min:"1" type:"string"` + + // The maximum number of errors allowed before this task stops being scheduled. + MaxErrors *string `min:"1" type:"string"` + + // The priority of the task in the Maintenance Window, the lower the number + // the higher the priority. Tasks in a Maintenance Window are scheduled in priority + // order with tasks that have the same priority scheduled in parallel. + Priority *int64 `type:"integer"` + + // The role that should be assumed when executing the task + ServiceRoleArn *string `type:"string"` + + // The targets (either instances or tags). Instances are specified using Key=instanceids,Values=,. + // Tags are specified using Key=,Values=. + Targets []*Target `type:"list"` + + // The ARN of the task to execute. + TaskArn *string `min:"1" type:"string"` + + // The parameters that should be passed to the task when it is executed. + TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map"` + + // The type of task. + Type *string `type:"string" enum:"MaintenanceWindowTaskType"` + + // The Maintenance Window ID where the task is registered. + WindowId *string `min:"20" type:"string"` + + // The task ID. + WindowTaskId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s MaintenanceWindowTask) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowTask) GoString() string { + return s.String() +} + +// SetLoggingInfo sets the LoggingInfo field's value. +func (s *MaintenanceWindowTask) SetLoggingInfo(v *LoggingInfo) *MaintenanceWindowTask { + s.LoggingInfo = v + return s +} + +// SetMaxConcurrency sets the MaxConcurrency field's value. +func (s *MaintenanceWindowTask) SetMaxConcurrency(v string) *MaintenanceWindowTask { + s.MaxConcurrency = &v + return s +} + +// SetMaxErrors sets the MaxErrors field's value. +func (s *MaintenanceWindowTask) SetMaxErrors(v string) *MaintenanceWindowTask { + s.MaxErrors = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *MaintenanceWindowTask) SetPriority(v int64) *MaintenanceWindowTask { + s.Priority = &v + return s +} + +// SetServiceRoleArn sets the ServiceRoleArn field's value. +func (s *MaintenanceWindowTask) SetServiceRoleArn(v string) *MaintenanceWindowTask { + s.ServiceRoleArn = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *MaintenanceWindowTask) SetTargets(v []*Target) *MaintenanceWindowTask { + s.Targets = v + return s +} + +// SetTaskArn sets the TaskArn field's value. +func (s *MaintenanceWindowTask) SetTaskArn(v string) *MaintenanceWindowTask { + s.TaskArn = &v + return s +} + +// SetTaskParameters sets the TaskParameters field's value. +func (s *MaintenanceWindowTask) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *MaintenanceWindowTask { + s.TaskParameters = v + return s +} + +// SetType sets the Type field's value. +func (s *MaintenanceWindowTask) SetType(v string) *MaintenanceWindowTask { + s.Type = &v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *MaintenanceWindowTask) SetWindowId(v string) *MaintenanceWindowTask { + s.WindowId = &v + return s +} + +// SetWindowTaskId sets the WindowTaskId field's value. +func (s *MaintenanceWindowTask) SetWindowTaskId(v string) *MaintenanceWindowTask { + s.WindowTaskId = &v + return s +} + +// Defines the values for a task parameter. +type MaintenanceWindowTaskParameterValueExpression struct { + _ struct{} `type:"structure"` + + // This field contains an array of 0 or more strings, each 1 to 255 characters + // in length. + Values []*string `type:"list"` +} + +// String returns the string representation +func (s MaintenanceWindowTaskParameterValueExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MaintenanceWindowTaskParameterValueExpression) GoString() string { + return s.String() +} + +// SetValues sets the Values field's value. +func (s *MaintenanceWindowTaskParameterValueExpression) SetValues(v []*string) *MaintenanceWindowTaskParameterValueExpression { + s.Values = v + return s +} + type ModifyDocumentPermissionInput struct { _ struct{} `type:"structure"` @@ -5352,7 +13636,7 @@ type NotificationConfig struct { _ struct{} `type:"structure"` // An Amazon Resource Name (ARN) for a Simple Notification Service (SNS) topic. - // SSM pushes notifications about command status changes to this topic. + // Run Command pushes notifications about command status changes to this topic. NotificationArn *string `type:"string"` // The different events for which you can receive notifications. These events @@ -5395,6 +13679,790 @@ func (s *NotificationConfig) SetNotificationType(v string) *NotificationConfig { return s } +// An Amazon EC2 Systems Manager parameter in Parameter Store. +type Parameter struct { + _ struct{} `type:"structure"` + + // The name of the parameter. + Name *string `min:"1" type:"string"` + + // The type of parameter. Valid values include the following: String, String + // list, Secure string. + Type *string `type:"string" enum:"ParameterType"` + + // The parameter value. + Value *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s Parameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Parameter) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Parameter) SetName(v string) *Parameter { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *Parameter) SetType(v string) *Parameter { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Parameter) SetValue(v string) *Parameter { + s.Value = &v + return s +} + +// Information about parameter usage. +type ParameterHistory struct { + _ struct{} `type:"structure"` + + // Information about the parameter. + Description *string `min:"1" type:"string"` + + // The ID of the query key used for this parameter. + KeyId *string `min:"1" type:"string"` + + // Date the parameter was last changed or updated. + LastModifiedDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Amazon Resource Name (ARN) of the AWS user who last changed the parameter. + LastModifiedUser *string `type:"string"` + + // The name of the parameter. + Name *string `min:"1" type:"string"` + + // The type of parameter used. + Type *string `type:"string" enum:"ParameterType"` + + // The parameter value. + Value *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ParameterHistory) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterHistory) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *ParameterHistory) SetDescription(v string) *ParameterHistory { + s.Description = &v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *ParameterHistory) SetKeyId(v string) *ParameterHistory { + s.KeyId = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *ParameterHistory) SetLastModifiedDate(v time.Time) *ParameterHistory { + s.LastModifiedDate = &v + return s +} + +// SetLastModifiedUser sets the LastModifiedUser field's value. +func (s *ParameterHistory) SetLastModifiedUser(v string) *ParameterHistory { + s.LastModifiedUser = &v + return s +} + +// SetName sets the Name field's value. +func (s *ParameterHistory) SetName(v string) *ParameterHistory { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ParameterHistory) SetType(v string) *ParameterHistory { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ParameterHistory) SetValue(v string) *ParameterHistory { + s.Value = &v + return s +} + +// Metada includes information like the ARN of the last user and the date/time +// the parameter was last used. +type ParameterMetadata struct { + _ struct{} `type:"structure"` + + // Description of the parameter actions. + Description *string `min:"1" type:"string"` + + // The ID of the query key used for this parameter. + KeyId *string `min:"1" type:"string"` + + // Date the parameter was last changed or updated. + LastModifiedDate *time.Time `type:"timestamp" timestampFormat:"unix"` + + // Amazon Resource Name (ARN) of the AWS user who last changed the parameter. + LastModifiedUser *string `type:"string"` + + // The parameter name. + Name *string `min:"1" type:"string"` + + // The type of parameter. Valid parameter types include the following: String, + // String list, Secure string. + Type *string `type:"string" enum:"ParameterType"` +} + +// String returns the string representation +func (s ParameterMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterMetadata) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *ParameterMetadata) SetDescription(v string) *ParameterMetadata { + s.Description = &v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *ParameterMetadata) SetKeyId(v string) *ParameterMetadata { + s.KeyId = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *ParameterMetadata) SetLastModifiedDate(v time.Time) *ParameterMetadata { + s.LastModifiedDate = &v + return s +} + +// SetLastModifiedUser sets the LastModifiedUser field's value. +func (s *ParameterMetadata) SetLastModifiedUser(v string) *ParameterMetadata { + s.LastModifiedUser = &v + return s +} + +// SetName sets the Name field's value. +func (s *ParameterMetadata) SetName(v string) *ParameterMetadata { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ParameterMetadata) SetType(v string) *ParameterMetadata { + s.Type = &v + return s +} + +// One or more filters. Use a filter to return a more specific list of results. +type ParametersFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter. + Key *string `type:"string" enum:"ParametersFilterKey"` + + // The filter values. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s ParametersFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParametersFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParametersFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParametersFilter"} + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *ParametersFilter) SetKey(v string) *ParametersFilter { + s.Key = &v + return s +} + +// SetValues sets the Values field's value. +func (s *ParametersFilter) SetValues(v []*string) *ParametersFilter { + s.Values = v + return s +} + +type PutInventoryInput struct { + _ struct{} `type:"structure"` + + // One or more instance IDs where you want to add or update inventory items. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` + + // The inventory items that you want to add or update on instances. + // + // Items is a required field + Items []*InventoryItem `locationNameList:"Item" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s PutInventoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutInventoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutInventoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutInventoryInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.Items == nil { + invalidParams.Add(request.NewErrParamRequired("Items")) + } + if s.Items != nil && len(s.Items) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Items", 1)) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *PutInventoryInput) SetInstanceId(v string) *PutInventoryInput { + s.InstanceId = &v + return s +} + +// SetItems sets the Items field's value. +func (s *PutInventoryInput) SetItems(v []*InventoryItem) *PutInventoryInput { + s.Items = v + return s +} + +type PutInventoryOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutInventoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutInventoryOutput) GoString() string { + return s.String() +} + +type PutParameterInput struct { + _ struct{} `type:"structure"` + + // Information about the parameter that you want to add to the system + Description *string `min:"1" type:"string"` + + // The parameter key ID that you want to add to the system. + KeyId *string `min:"1" type:"string"` + + // The name of the parameter that you want to add to the system. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Overwrite an existing parameter. + Overwrite *bool `type:"boolean"` + + // The type of parameter that you want to add to the system. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ParameterType"` + + // The parameter value that you want to add to the system. + // + // Value is a required field + Value *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutParameterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutParameterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutParameterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutParameterInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.KeyId != nil && len(*s.KeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyId", 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.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *PutParameterInput) SetDescription(v string) *PutParameterInput { + s.Description = &v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *PutParameterInput) SetKeyId(v string) *PutParameterInput { + s.KeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *PutParameterInput) SetName(v string) *PutParameterInput { + s.Name = &v + return s +} + +// SetOverwrite sets the Overwrite field's value. +func (s *PutParameterInput) SetOverwrite(v bool) *PutParameterInput { + s.Overwrite = &v + return s +} + +// SetType sets the Type field's value. +func (s *PutParameterInput) SetType(v string) *PutParameterInput { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *PutParameterInput) SetValue(v string) *PutParameterInput { + s.Value = &v + return s +} + +type PutParameterOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutParameterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutParameterOutput) GoString() string { + return s.String() +} + +type RegisterTargetWithMaintenanceWindowInput struct { + _ struct{} `type:"structure"` + + // User-provided idempotency token. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // User-provided value that will be included in any CloudWatch events raised + // while running tasks for these targets in this Maintenance Window. + OwnerInformation *string `min:"1" type:"string"` + + // The type of target being registered with the Maintenance Window. + // + // ResourceType is a required field + ResourceType *string `type:"string" required:"true" enum:"MaintenanceWindowResourceType"` + + // The targets (either instances or tags). Instances are specified using Key=instanceids,Values=,. + // Tags are specified using Key=,Values=. + // + // Targets is a required field + Targets []*Target `type:"list" required:"true"` + + // The ID of the Maintenance Window the target should be registered with. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s RegisterTargetWithMaintenanceWindowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegisterTargetWithMaintenanceWindowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegisterTargetWithMaintenanceWindowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegisterTargetWithMaintenanceWindowInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.OwnerInformation != nil && len(*s.OwnerInformation) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OwnerInformation", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.Targets == nil { + invalidParams.Add(request.NewErrParamRequired("Targets")) + } + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + if s.Targets != nil { + for i, v := range s.Targets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *RegisterTargetWithMaintenanceWindowInput) SetClientToken(v string) *RegisterTargetWithMaintenanceWindowInput { + s.ClientToken = &v + return s +} + +// SetOwnerInformation sets the OwnerInformation field's value. +func (s *RegisterTargetWithMaintenanceWindowInput) SetOwnerInformation(v string) *RegisterTargetWithMaintenanceWindowInput { + s.OwnerInformation = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *RegisterTargetWithMaintenanceWindowInput) SetResourceType(v string) *RegisterTargetWithMaintenanceWindowInput { + s.ResourceType = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *RegisterTargetWithMaintenanceWindowInput) SetTargets(v []*Target) *RegisterTargetWithMaintenanceWindowInput { + s.Targets = v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *RegisterTargetWithMaintenanceWindowInput) SetWindowId(v string) *RegisterTargetWithMaintenanceWindowInput { + s.WindowId = &v + return s +} + +type RegisterTargetWithMaintenanceWindowOutput struct { + _ struct{} `type:"structure"` + + // The ID of the target definition in this Maintenance Window. + WindowTargetId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s RegisterTargetWithMaintenanceWindowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegisterTargetWithMaintenanceWindowOutput) GoString() string { + return s.String() +} + +// SetWindowTargetId sets the WindowTargetId field's value. +func (s *RegisterTargetWithMaintenanceWindowOutput) SetWindowTargetId(v string) *RegisterTargetWithMaintenanceWindowOutput { + s.WindowTargetId = &v + return s +} + +type RegisterTaskWithMaintenanceWindowInput struct { + _ struct{} `type:"structure"` + + // User-provided idempotency token. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // A structure containing information about an Amazon S3 bucket to write instance-level + // logs to. + LoggingInfo *LoggingInfo `type:"structure"` + + // The maximum number of targets this task can be run for in parallel. + // + // MaxConcurrency is a required field + MaxConcurrency *string `min:"1" type:"string" required:"true"` + + // The maximum number of errors allowed before this task stops being scheduled. + // + // MaxErrors is a required field + MaxErrors *string `min:"1" type:"string" required:"true"` + + // The priority of the task in the Maintenance Window, the lower the number + // the higher the priority. Tasks in a Maintenance Window are scheduled in priority + // order with tasks that have the same priority scheduled in parallel. + Priority *int64 `type:"integer"` + + // The role that should be assumed when executing the task. + // + // ServiceRoleArn is a required field + ServiceRoleArn *string `type:"string" required:"true"` + + // The targets (either instances or tags). Instances are specified using Key=instanceids,Values=,. + // Tags are specified using Key=,Values=. + // + // Targets is a required field + Targets []*Target `type:"list" required:"true"` + + // The ARN of the task to execute + // + // TaskArn is a required field + TaskArn *string `min:"1" type:"string" required:"true"` + + // The parameters that should be passed to the task when it is executed. + TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map"` + + // The type of task being registered. + // + // TaskType is a required field + TaskType *string `type:"string" required:"true" enum:"MaintenanceWindowTaskType"` + + // The id of the Maintenance Window the task should be added to. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s RegisterTaskWithMaintenanceWindowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegisterTaskWithMaintenanceWindowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegisterTaskWithMaintenanceWindowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegisterTaskWithMaintenanceWindowInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.MaxConcurrency == nil { + invalidParams.Add(request.NewErrParamRequired("MaxConcurrency")) + } + if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) + } + if s.MaxErrors == nil { + invalidParams.Add(request.NewErrParamRequired("MaxErrors")) + } + if s.MaxErrors != nil && len(*s.MaxErrors) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1)) + } + if s.ServiceRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceRoleArn")) + } + if s.Targets == nil { + invalidParams.Add(request.NewErrParamRequired("Targets")) + } + if s.TaskArn == nil { + invalidParams.Add(request.NewErrParamRequired("TaskArn")) + } + if s.TaskArn != nil && len(*s.TaskArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskArn", 1)) + } + if s.TaskType == nil { + invalidParams.Add(request.NewErrParamRequired("TaskType")) + } + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + if s.LoggingInfo != nil { + if err := s.LoggingInfo.Validate(); err != nil { + invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams)) + } + } + if s.Targets != nil { + for i, v := range s.Targets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetClientToken(v string) *RegisterTaskWithMaintenanceWindowInput { + s.ClientToken = &v + return s +} + +// SetLoggingInfo sets the LoggingInfo field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetLoggingInfo(v *LoggingInfo) *RegisterTaskWithMaintenanceWindowInput { + s.LoggingInfo = v + return s +} + +// SetMaxConcurrency sets the MaxConcurrency field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetMaxConcurrency(v string) *RegisterTaskWithMaintenanceWindowInput { + s.MaxConcurrency = &v + return s +} + +// SetMaxErrors sets the MaxErrors field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetMaxErrors(v string) *RegisterTaskWithMaintenanceWindowInput { + s.MaxErrors = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetPriority(v int64) *RegisterTaskWithMaintenanceWindowInput { + s.Priority = &v + return s +} + +// SetServiceRoleArn sets the ServiceRoleArn field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetServiceRoleArn(v string) *RegisterTaskWithMaintenanceWindowInput { + s.ServiceRoleArn = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetTargets(v []*Target) *RegisterTaskWithMaintenanceWindowInput { + s.Targets = v + return s +} + +// SetTaskArn sets the TaskArn field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskArn(v string) *RegisterTaskWithMaintenanceWindowInput { + s.TaskArn = &v + return s +} + +// SetTaskParameters sets the TaskParameters field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *RegisterTaskWithMaintenanceWindowInput { + s.TaskParameters = v + return s +} + +// SetTaskType sets the TaskType field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskType(v string) *RegisterTaskWithMaintenanceWindowInput { + s.TaskType = &v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *RegisterTaskWithMaintenanceWindowInput) SetWindowId(v string) *RegisterTaskWithMaintenanceWindowInput { + s.WindowId = &v + return s +} + +type RegisterTaskWithMaintenanceWindowOutput struct { + _ struct{} `type:"structure"` + + // The id of the task in the Maintenance Window. + WindowTaskId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s RegisterTaskWithMaintenanceWindowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RegisterTaskWithMaintenanceWindowOutput) GoString() string { + return s.String() +} + +// SetWindowTaskId sets the WindowTaskId field's value. +func (s *RegisterTaskWithMaintenanceWindowOutput) SetWindowTaskId(v string) *RegisterTaskWithMaintenanceWindowOutput { + s.WindowTaskId = &v + return s +} + type RemoveTagsFromResourceInput struct { _ struct{} `type:"structure"` @@ -5475,6 +14543,133 @@ func (s RemoveTagsFromResourceOutput) GoString() string { return s.String() } +// The inventory item result attribute. +type ResultAttribute struct { + _ struct{} `type:"structure"` + + // Name of the inventory item type. Valid value: “AWS:InstanceInformation”. + // Default Value: “AWS:InstanceInformation”. + // + // TypeName is a required field + TypeName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResultAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResultAttribute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResultAttribute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResultAttribute"} + if s.TypeName == nil { + invalidParams.Add(request.NewErrParamRequired("TypeName")) + } + if s.TypeName != nil && len(*s.TypeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TypeName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTypeName sets the TypeName field's value. +func (s *ResultAttribute) SetTypeName(v string) *ResultAttribute { + s.TypeName = &v + return s +} + +// An Amazon S3 bucket where you want to store the results of this request. +type S3OutputLocation struct { + _ struct{} `type:"structure"` + + // The name of the Amazon S3 bucket. + OutputS3BucketName *string `min:"3" type:"string"` + + // The Amazon S3 bucket subfolder. + OutputS3KeyPrefix *string `type:"string"` + + // The Amazon S3 region where the association information is stored. + OutputS3Region *string `min:"3" type:"string"` +} + +// String returns the string representation +func (s S3OutputLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3OutputLocation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3OutputLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3OutputLocation"} + if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3)) + } + if s.OutputS3Region != nil && len(*s.OutputS3Region) < 3 { + invalidParams.Add(request.NewErrParamMinLen("OutputS3Region", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOutputS3BucketName sets the OutputS3BucketName field's value. +func (s *S3OutputLocation) SetOutputS3BucketName(v string) *S3OutputLocation { + s.OutputS3BucketName = &v + return s +} + +// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value. +func (s *S3OutputLocation) SetOutputS3KeyPrefix(v string) *S3OutputLocation { + s.OutputS3KeyPrefix = &v + return s +} + +// SetOutputS3Region sets the OutputS3Region field's value. +func (s *S3OutputLocation) SetOutputS3Region(v string) *S3OutputLocation { + s.OutputS3Region = &v + return s +} + +// A URL for the Amazon S3 bucket where you want to store the results of this +// request. +type S3OutputUrl struct { + _ struct{} `type:"structure"` + + // A URL for an Amazon S3 bucket where you want to store the results of this + // request. + OutputUrl *string `type:"string"` +} + +// String returns the string representation +func (s S3OutputUrl) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3OutputUrl) GoString() string { + return s.String() +} + +// SetOutputUrl sets the OutputUrl field's value. +func (s *S3OutputUrl) SetOutputUrl(v string) *S3OutputUrl { + s.OutputUrl = &v + return s +} + type SendCommandInput struct { _ struct{} `type:"structure"` @@ -5500,9 +14695,26 @@ type SendCommandInput struct { // Required. The instance IDs where the command should execute. You can specify // a maximum of 50 IDs. - // - // InstanceIds is a required field - InstanceIds []*string `min:"1" type:"list" required:"true"` + InstanceIds []*string `type:"list"` + + // (Optional) The maximum number of instances that are allowed to execute the + // command at the same time. You can specify a number such as “10” or a percentage + // such as “10%”. The default value is 50. For more information about how to + // use MaxConcurrency, see Executing a Command Using Amazon EC2 Run Command + // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html) (Linux) + // or Executing a Command Using Amazon EC2 Run Command (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html) + // (Windows). + MaxConcurrency *string `min:"1" type:"string"` + + // The maximum number of errors allowed without the command failing. When the + // command fails one more time beyond the value of MaxErrors, the systems stops + // sending the command to additional targets. You can specify a number like + // “10” or a percentage like “10%”. The default value is 50. For more information + // about how to use MaxErrors, see Executing a Command Using Amazon EC2 Run + // Command (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html) + // (Linux) or Executing a Command Using Amazon EC2 Run Command (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html) + // (Windows). + MaxErrors *string `min:"1" type:"string"` // Configurations for sending notifications. NotificationConfig *NotificationConfig `type:"structure"` @@ -5514,13 +14726,26 @@ type SendCommandInput struct { // stored. OutputS3KeyPrefix *string `type:"string"` + // (Optional) The region where the Amazon Simple Storage Service (Amazon S3) + // output bucket is located. The default value is the region where Run Command + // is being called. + OutputS3Region *string `min:"3" type:"string"` + // The required and optional parameters specified in the SSM document being // executed. Parameters map[string][]*string `type:"map"` - // The IAM role that SSM uses to send notifications. + // The IAM role that Systems Manager uses to send notifications. ServiceRoleArn *string `type:"string"` + // (Optional) An array of search criteria that targets instances using a Key;Value + // combination that you specify. Targets is required if you don't provide one + // or more instance IDs in the call. For more information about how to use Targets, + // see Executing a Command Using Amazon EC2 Run Command (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html) + // (Linux) or Executing a Command Using Amazon EC2 Run Command (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html) + // (Windows). + Targets []*Target `type:"list"` + // If this time is reached and the command has not already started executing, // it will not execute. TimeoutSeconds *int64 `min:"30" type:"integer"` @@ -5542,18 +14767,31 @@ func (s *SendCommandInput) Validate() error { if s.DocumentName == nil { invalidParams.Add(request.NewErrParamRequired("DocumentName")) } - if s.InstanceIds == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceIds")) + if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) } - if s.InstanceIds != nil && len(s.InstanceIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InstanceIds", 1)) + if s.MaxErrors != nil && len(*s.MaxErrors) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1)) } if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 { invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3)) } + if s.OutputS3Region != nil && len(*s.OutputS3Region) < 3 { + invalidParams.Add(request.NewErrParamMinLen("OutputS3Region", 3)) + } if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 30 { invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 30)) } + if s.Targets != nil { + for i, v := range s.Targets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -5591,6 +14829,18 @@ func (s *SendCommandInput) SetInstanceIds(v []*string) *SendCommandInput { return s } +// SetMaxConcurrency sets the MaxConcurrency field's value. +func (s *SendCommandInput) SetMaxConcurrency(v string) *SendCommandInput { + s.MaxConcurrency = &v + return s +} + +// SetMaxErrors sets the MaxErrors field's value. +func (s *SendCommandInput) SetMaxErrors(v string) *SendCommandInput { + s.MaxErrors = &v + return s +} + // SetNotificationConfig sets the NotificationConfig field's value. func (s *SendCommandInput) SetNotificationConfig(v *NotificationConfig) *SendCommandInput { s.NotificationConfig = v @@ -5609,6 +14859,12 @@ func (s *SendCommandInput) SetOutputS3KeyPrefix(v string) *SendCommandInput { return s } +// SetOutputS3Region sets the OutputS3Region field's value. +func (s *SendCommandInput) SetOutputS3Region(v string) *SendCommandInput { + s.OutputS3Region = &v + return s +} + // SetParameters sets the Parameters field's value. func (s *SendCommandInput) SetParameters(v map[string][]*string) *SendCommandInput { s.Parameters = v @@ -5621,6 +14877,12 @@ func (s *SendCommandInput) SetServiceRoleArn(v string) *SendCommandInput { return s } +// SetTargets sets the Targets field's value. +func (s *SendCommandInput) SetTargets(v []*Target) *SendCommandInput { + s.Targets = v + return s +} + // SetTimeoutSeconds sets the TimeoutSeconds field's value. func (s *SendCommandInput) SetTimeoutSeconds(v int64) *SendCommandInput { s.TimeoutSeconds = &v @@ -5630,8 +14892,8 @@ func (s *SendCommandInput) SetTimeoutSeconds(v int64) *SendCommandInput { type SendCommandOutput struct { _ struct{} `type:"structure"` - // The request as it was received by SSM. Also provides the command ID which - // can be used future references to this request. + // The request as it was received by Systems Manager. Also provides the command + // ID which can be used future references to this request. Command *Command `type:"structure"` } @@ -5651,6 +14913,253 @@ func (s *SendCommandOutput) SetCommand(v *Command) *SendCommandOutput { return s } +type StartAutomationExecutionInput struct { + _ struct{} `type:"structure"` + + // The name of the Automation document to use for this execution. + // + // DocumentName is a required field + DocumentName *string `type:"string" required:"true"` + + // The version of the Automation document to use for this execution. + DocumentVersion *string `type:"string"` + + // A key-value map of execution parameters, which match the declared parameters + // in the Automation document. + Parameters map[string][]*string `min:"1" type:"map"` +} + +// String returns the string representation +func (s StartAutomationExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartAutomationExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartAutomationExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartAutomationExecutionInput"} + if s.DocumentName == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentName")) + } + if s.Parameters != nil && len(s.Parameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentName sets the DocumentName field's value. +func (s *StartAutomationExecutionInput) SetDocumentName(v string) *StartAutomationExecutionInput { + s.DocumentName = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *StartAutomationExecutionInput) SetDocumentVersion(v string) *StartAutomationExecutionInput { + s.DocumentVersion = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *StartAutomationExecutionInput) SetParameters(v map[string][]*string) *StartAutomationExecutionInput { + s.Parameters = v + return s +} + +type StartAutomationExecutionOutput struct { + _ struct{} `type:"structure"` + + // The unique ID of a newly scheduled automation execution. + AutomationExecutionId *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s StartAutomationExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartAutomationExecutionOutput) GoString() string { + return s.String() +} + +// SetAutomationExecutionId sets the AutomationExecutionId field's value. +func (s *StartAutomationExecutionOutput) SetAutomationExecutionId(v string) *StartAutomationExecutionOutput { + s.AutomationExecutionId = &v + return s +} + +// Detailed information about an the execution state of an Automation step. +type StepExecution struct { + _ struct{} `type:"structure"` + + // The action this step performs. The action determines the behavior of the + // step. + Action *string `type:"string"` + + // If a step has finished execution, this contains the time the execution ended. + // If the step has not yet concluded, this field is not populated. + ExecutionEndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // If a step has begun execution, this contains the time the step started. If + // the step is in Pending status, this field is not populated. + ExecutionStartTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // If a step failed, this message explains why the execution failed. + FailureMessage *string `type:"string"` + + // Fully-resolved values passed into the step before execution. + Inputs map[string]*string `type:"map"` + + // Returned values from the execution of the step. + Outputs map[string][]*string `min:"1" type:"map"` + + // A message associated with the response code for an execution. + Response *string `type:"string"` + + // The response code returned by the execution of the step. + ResponseCode *string `type:"string"` + + // The name of this execution step. + StepName *string `type:"string"` + + // The execution status for this step. Valid values include: Pending, InProgress, + // Success, Cancelled, Failed, and TimedOut. + StepStatus *string `type:"string" enum:"AutomationExecutionStatus"` +} + +// String returns the string representation +func (s StepExecution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StepExecution) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *StepExecution) SetAction(v string) *StepExecution { + s.Action = &v + return s +} + +// SetExecutionEndTime sets the ExecutionEndTime field's value. +func (s *StepExecution) SetExecutionEndTime(v time.Time) *StepExecution { + s.ExecutionEndTime = &v + return s +} + +// SetExecutionStartTime sets the ExecutionStartTime field's value. +func (s *StepExecution) SetExecutionStartTime(v time.Time) *StepExecution { + s.ExecutionStartTime = &v + return s +} + +// SetFailureMessage sets the FailureMessage field's value. +func (s *StepExecution) SetFailureMessage(v string) *StepExecution { + s.FailureMessage = &v + return s +} + +// SetInputs sets the Inputs field's value. +func (s *StepExecution) SetInputs(v map[string]*string) *StepExecution { + s.Inputs = v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *StepExecution) SetOutputs(v map[string][]*string) *StepExecution { + s.Outputs = v + return s +} + +// SetResponse sets the Response field's value. +func (s *StepExecution) SetResponse(v string) *StepExecution { + s.Response = &v + return s +} + +// SetResponseCode sets the ResponseCode field's value. +func (s *StepExecution) SetResponseCode(v string) *StepExecution { + s.ResponseCode = &v + return s +} + +// SetStepName sets the StepName field's value. +func (s *StepExecution) SetStepName(v string) *StepExecution { + s.StepName = &v + return s +} + +// SetStepStatus sets the StepStatus field's value. +func (s *StepExecution) SetStepStatus(v string) *StepExecution { + s.StepStatus = &v + return s +} + +type StopAutomationExecutionInput struct { + _ struct{} `type:"structure"` + + // The execution ID of the Automation to stop. + // + // AutomationExecutionId is a required field + AutomationExecutionId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopAutomationExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopAutomationExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopAutomationExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopAutomationExecutionInput"} + if s.AutomationExecutionId == nil { + invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId")) + } + if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomationExecutionId sets the AutomationExecutionId field's value. +func (s *StopAutomationExecutionInput) SetAutomationExecutionId(v string) *StopAutomationExecutionInput { + s.AutomationExecutionId = &v + return s +} + +type StopAutomationExecutionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopAutomationExecutionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopAutomationExecutionOutput) GoString() string { + return s.String() +} + // Metadata that you assign to your managed instances. Tags enable you to categorize // your managed instances in different ways, for example, by purpose, owner, // or environment. @@ -5712,6 +15221,179 @@ func (s *Tag) SetValue(v string) *Tag { return s } +// An array of search criteria that targets instances using a Key;Value combination +// that you specify. Targets is required if you don't provide one or more instance +// IDs in the call. +type Target struct { + _ struct{} `type:"structure"` + + // User-defined criteria for sending commands that target instances that meet + // the criteria. Key can be tag: or name:. For example, tag:ServerRole or name:0123456789012345. For more information + // about how to send commands that target instances using Key;Value parameters, + // see Executing a Command Using Amazon EC2 Run Command (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html) + // (Linux) or Executing a Command Using Amazon EC2 Run Command (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html) + // (Windows). + Key *string `min:"1" type:"string"` + + // User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, + // you could specify value:WebServer to execute a command on instances that + // include Amazon EC2 tags of ServerRole;WebServer. For more information about + // how to send commands that target instances using Key;Value parameters, see + // Executing a Command Using Amazon EC2 Run Command (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html) + // (Linux) or Executing a Command Using Amazon EC2 Run Command (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html) + // (Windows). + Values []*string `type:"list"` +} + +// String returns the string representation +func (s Target) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Target) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Target) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Target"} + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Target) SetKey(v string) *Target { + s.Key = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Target) SetValues(v []*string) *Target { + s.Values = v + return s +} + +type UpdateAssociationInput struct { + _ struct{} `type:"structure"` + + // The ID of the association you want to update. + // + // AssociationId is a required field + AssociationId *string `type:"string" required:"true"` + + // The document version you want update for the association. + DocumentVersion *string `type:"string"` + + // An Amazon S3 bucket where you want to store the results of this request. + // + // "{ \"S3Location\": { \"OutputS3Region\": \"\", \"OutputS3BucketName\": + // \"bucket name\", \"OutputS3KeyPrefix\": \"folder name\" } }" + OutputLocation *InstanceAssociationOutputLocation `type:"structure"` + + // The parameters you want to update for the association. If you create a parameter + // using Parameter Store, you can reference the parameter using {{ssm:parameter-name}} + Parameters map[string][]*string `type:"map"` + + // The cron expression used to schedule the association that you want to update. + // Supported expressions are every half, 1, 2, 4, 8 or 12 hour(s); every specified + // day and time of the week. For example: cron(0 0/30 * 1/1 * ? *) to run every + // thirty minutes; cron(0 0 0/4 1/1 * ? *) to run every four hours; and cron(0 + // 0 10 ? * SUN *) to run every Sunday at 10 a.m. + ScheduleExpression *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s UpdateAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAssociationInput"} + if s.AssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationId")) + } + if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1)) + } + if s.OutputLocation != nil { + if err := s.OutputLocation.Validate(); err != nil { + invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociationId sets the AssociationId field's value. +func (s *UpdateAssociationInput) SetAssociationId(v string) *UpdateAssociationInput { + s.AssociationId = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *UpdateAssociationInput) SetDocumentVersion(v string) *UpdateAssociationInput { + s.DocumentVersion = &v + return s +} + +// SetOutputLocation sets the OutputLocation field's value. +func (s *UpdateAssociationInput) SetOutputLocation(v *InstanceAssociationOutputLocation) *UpdateAssociationInput { + s.OutputLocation = v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *UpdateAssociationInput) SetParameters(v map[string][]*string) *UpdateAssociationInput { + s.Parameters = v + return s +} + +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *UpdateAssociationInput) SetScheduleExpression(v string) *UpdateAssociationInput { + s.ScheduleExpression = &v + return s +} + +type UpdateAssociationOutput struct { + _ struct{} `type:"structure"` + + // The description of the association that was updated. + AssociationDescription *AssociationDescription `type:"structure"` +} + +// String returns the string representation +func (s UpdateAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAssociationOutput) GoString() string { + return s.String() +} + +// SetAssociationDescription sets the AssociationDescription field's value. +func (s *UpdateAssociationOutput) SetAssociationDescription(v *AssociationDescription) *UpdateAssociationOutput { + s.AssociationDescription = v + return s +} + type UpdateAssociationStatusInput struct { _ struct{} `type:"structure"` @@ -5806,6 +15488,354 @@ func (s *UpdateAssociationStatusOutput) SetAssociationDescription(v *Association return s } +type UpdateDocumentDefaultVersionInput struct { + _ struct{} `type:"structure"` + + // The version of a custom document that you want to set as the default version. + // + // DocumentVersion is a required field + DocumentVersion *string `type:"string" required:"true"` + + // The name of a custom document that you want to set as the default version. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateDocumentDefaultVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDocumentDefaultVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDocumentDefaultVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentDefaultVersionInput"} + if s.DocumentVersion == nil { + invalidParams.Add(request.NewErrParamRequired("DocumentVersion")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *UpdateDocumentDefaultVersionInput) SetDocumentVersion(v string) *UpdateDocumentDefaultVersionInput { + s.DocumentVersion = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateDocumentDefaultVersionInput) SetName(v string) *UpdateDocumentDefaultVersionInput { + s.Name = &v + return s +} + +type UpdateDocumentDefaultVersionOutput struct { + _ struct{} `type:"structure"` + + // The description of a custom document that you want to set as the default + // version. + Description *DocumentDefaultVersionDescription `type:"structure"` +} + +// String returns the string representation +func (s UpdateDocumentDefaultVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDocumentDefaultVersionOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *UpdateDocumentDefaultVersionOutput) SetDescription(v *DocumentDefaultVersionDescription) *UpdateDocumentDefaultVersionOutput { + s.Description = v + return s +} + +type UpdateDocumentInput struct { + _ struct{} `type:"structure"` + + // The content in a document that you want to update. + // + // Content is a required field + Content *string `min:"1" type:"string" required:"true"` + + // The version of the document that you want to update. + DocumentVersion *string `type:"string"` + + // The name of the document that you want to update. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateDocumentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDocumentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDocumentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentInput"} + if s.Content == nil { + invalidParams.Add(request.NewErrParamRequired("Content")) + } + if s.Content != nil && len(*s.Content) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Content", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContent sets the Content field's value. +func (s *UpdateDocumentInput) SetContent(v string) *UpdateDocumentInput { + s.Content = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *UpdateDocumentInput) SetDocumentVersion(v string) *UpdateDocumentInput { + s.DocumentVersion = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateDocumentInput) SetName(v string) *UpdateDocumentInput { + s.Name = &v + return s +} + +type UpdateDocumentOutput struct { + _ struct{} `type:"structure"` + + // A description of the document that was updated. + DocumentDescription *DocumentDescription `type:"structure"` +} + +// String returns the string representation +func (s UpdateDocumentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDocumentOutput) GoString() string { + return s.String() +} + +// SetDocumentDescription sets the DocumentDescription field's value. +func (s *UpdateDocumentOutput) SetDocumentDescription(v *DocumentDescription) *UpdateDocumentOutput { + s.DocumentDescription = v + return s +} + +type UpdateMaintenanceWindowInput struct { + _ struct{} `type:"structure"` + + // Whether targets must be registered with the Maintenance Window before tasks + // can be defined for those targets. + AllowUnassociatedTargets *bool `type:"boolean"` + + // The number of hours before the end of the Maintenance Window that Systems + // Manager stops scheduling new tasks for execution. + Cutoff *int64 `type:"integer"` + + // The duration of the Maintenance Window in hours. + Duration *int64 `min:"1" type:"integer"` + + // Whether the Maintenance Window is enabled. + Enabled *bool `type:"boolean"` + + // The name of the Maintenance Window. + Name *string `min:"3" type:"string"` + + // The schedule of the Maintenance Window in the form of a cron or rate expression. + Schedule *string `min:"1" type:"string"` + + // The ID of the Maintenance Window to update. + // + // WindowId is a required field + WindowId *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateMaintenanceWindowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMaintenanceWindowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMaintenanceWindowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowInput"} + if s.Duration != nil && *s.Duration < 1 { + invalidParams.Add(request.NewErrParamMinValue("Duration", 1)) + } + if s.Name != nil && len(*s.Name) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Name", 3)) + } + if s.Schedule != nil && len(*s.Schedule) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Schedule", 1)) + } + if s.WindowId == nil { + invalidParams.Add(request.NewErrParamRequired("WindowId")) + } + if s.WindowId != nil && len(*s.WindowId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("WindowId", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value. +func (s *UpdateMaintenanceWindowInput) SetAllowUnassociatedTargets(v bool) *UpdateMaintenanceWindowInput { + s.AllowUnassociatedTargets = &v + return s +} + +// SetCutoff sets the Cutoff field's value. +func (s *UpdateMaintenanceWindowInput) SetCutoff(v int64) *UpdateMaintenanceWindowInput { + s.Cutoff = &v + return s +} + +// SetDuration sets the Duration field's value. +func (s *UpdateMaintenanceWindowInput) SetDuration(v int64) *UpdateMaintenanceWindowInput { + s.Duration = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *UpdateMaintenanceWindowInput) SetEnabled(v bool) *UpdateMaintenanceWindowInput { + s.Enabled = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateMaintenanceWindowInput) SetName(v string) *UpdateMaintenanceWindowInput { + s.Name = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *UpdateMaintenanceWindowInput) SetSchedule(v string) *UpdateMaintenanceWindowInput { + s.Schedule = &v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *UpdateMaintenanceWindowInput) SetWindowId(v string) *UpdateMaintenanceWindowInput { + s.WindowId = &v + return s +} + +type UpdateMaintenanceWindowOutput struct { + _ struct{} `type:"structure"` + + // Whether targets must be registered with the Maintenance Window before tasks + // can be defined for those targets. + AllowUnassociatedTargets *bool `type:"boolean"` + + // The number of hours before the end of the Maintenance Window that Systems + // Manager stops scheduling new tasks for execution. + Cutoff *int64 `type:"integer"` + + // The duration of the Maintenance Window in hours. + Duration *int64 `min:"1" type:"integer"` + + // Whether the Maintenance Window is enabled. + Enabled *bool `type:"boolean"` + + // The name of the Maintenance Window. + Name *string `min:"3" type:"string"` + + // The schedule of the Maintenance Window in the form of a cron or rate expression. + Schedule *string `min:"1" type:"string"` + + // The ID of the created Maintenance Window. + WindowId *string `min:"20" type:"string"` +} + +// String returns the string representation +func (s UpdateMaintenanceWindowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMaintenanceWindowOutput) GoString() string { + return s.String() +} + +// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value. +func (s *UpdateMaintenanceWindowOutput) SetAllowUnassociatedTargets(v bool) *UpdateMaintenanceWindowOutput { + s.AllowUnassociatedTargets = &v + return s +} + +// SetCutoff sets the Cutoff field's value. +func (s *UpdateMaintenanceWindowOutput) SetCutoff(v int64) *UpdateMaintenanceWindowOutput { + s.Cutoff = &v + return s +} + +// SetDuration sets the Duration field's value. +func (s *UpdateMaintenanceWindowOutput) SetDuration(v int64) *UpdateMaintenanceWindowOutput { + s.Duration = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *UpdateMaintenanceWindowOutput) SetEnabled(v bool) *UpdateMaintenanceWindowOutput { + s.Enabled = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateMaintenanceWindowOutput) SetName(v string) *UpdateMaintenanceWindowOutput { + s.Name = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *UpdateMaintenanceWindowOutput) SetSchedule(v string) *UpdateMaintenanceWindowOutput { + s.Schedule = &v + return s +} + +// SetWindowId sets the WindowId field's value. +func (s *UpdateMaintenanceWindowOutput) SetWindowId(v string) *UpdateMaintenanceWindowOutput { + s.WindowId = &v + return s +} + type UpdateManagedInstanceRoleInput struct { _ struct{} `type:"structure"` @@ -5878,6 +15908,18 @@ const ( // AssociationFilterKeyName is a AssociationFilterKey enum value AssociationFilterKeyName = "Name" + + // AssociationFilterKeyAssociationId is a AssociationFilterKey enum value + AssociationFilterKeyAssociationId = "AssociationId" + + // AssociationFilterKeyAssociationStatusName is a AssociationFilterKey enum value + AssociationFilterKeyAssociationStatusName = "AssociationStatusName" + + // AssociationFilterKeyLastExecutedBefore is a AssociationFilterKey enum value + AssociationFilterKeyLastExecutedBefore = "LastExecutedBefore" + + // AssociationFilterKeyLastExecutedAfter is a AssociationFilterKey enum value + AssociationFilterKeyLastExecutedAfter = "LastExecutedAfter" ) const ( @@ -5891,6 +15933,34 @@ const ( AssociationStatusNameFailed = "Failed" ) +const ( + // AutomationExecutionFilterKeyDocumentNamePrefix is a AutomationExecutionFilterKey enum value + AutomationExecutionFilterKeyDocumentNamePrefix = "DocumentNamePrefix" + + // AutomationExecutionFilterKeyExecutionStatus is a AutomationExecutionFilterKey enum value + AutomationExecutionFilterKeyExecutionStatus = "ExecutionStatus" +) + +const ( + // AutomationExecutionStatusPending is a AutomationExecutionStatus enum value + AutomationExecutionStatusPending = "Pending" + + // AutomationExecutionStatusInProgress is a AutomationExecutionStatus enum value + AutomationExecutionStatusInProgress = "InProgress" + + // AutomationExecutionStatusSuccess is a AutomationExecutionStatus enum value + AutomationExecutionStatusSuccess = "Success" + + // AutomationExecutionStatusTimedOut is a AutomationExecutionStatus enum value + AutomationExecutionStatusTimedOut = "TimedOut" + + // AutomationExecutionStatusCancelled is a AutomationExecutionStatus enum value + AutomationExecutionStatusCancelled = "Cancelled" + + // AutomationExecutionStatusFailed is a AutomationExecutionStatus enum value + AutomationExecutionStatusFailed = "Failed" +) + const ( // CommandFilterKeyInvokedAfter is a CommandFilterKey enum value CommandFilterKeyInvokedAfter = "InvokedAfter" @@ -5909,20 +15979,23 @@ const ( // CommandInvocationStatusInProgress is a CommandInvocationStatus enum value CommandInvocationStatusInProgress = "InProgress" - // CommandInvocationStatusCancelling is a CommandInvocationStatus enum value - CommandInvocationStatusCancelling = "Cancelling" + // CommandInvocationStatusDelayed is a CommandInvocationStatus enum value + CommandInvocationStatusDelayed = "Delayed" // CommandInvocationStatusSuccess is a CommandInvocationStatus enum value CommandInvocationStatusSuccess = "Success" - // CommandInvocationStatusTimedOut is a CommandInvocationStatus enum value - CommandInvocationStatusTimedOut = "TimedOut" - // CommandInvocationStatusCancelled is a CommandInvocationStatus enum value CommandInvocationStatusCancelled = "Cancelled" + // CommandInvocationStatusTimedOut is a CommandInvocationStatus enum value + CommandInvocationStatusTimedOut = "TimedOut" + // CommandInvocationStatusFailed is a CommandInvocationStatus enum value CommandInvocationStatusFailed = "Failed" + + // CommandInvocationStatusCancelling is a CommandInvocationStatus enum value + CommandInvocationStatusCancelling = "Cancelling" ) const ( @@ -5952,20 +16025,20 @@ const ( // CommandStatusInProgress is a CommandStatus enum value CommandStatusInProgress = "InProgress" - // CommandStatusCancelling is a CommandStatus enum value - CommandStatusCancelling = "Cancelling" - // CommandStatusSuccess is a CommandStatus enum value CommandStatusSuccess = "Success" - // CommandStatusTimedOut is a CommandStatus enum value - CommandStatusTimedOut = "TimedOut" - // CommandStatusCancelled is a CommandStatus enum value CommandStatusCancelled = "Cancelled" // CommandStatusFailed is a CommandStatus enum value CommandStatusFailed = "Failed" + + // CommandStatusTimedOut is a CommandStatus enum value + CommandStatusTimedOut = "TimedOut" + + // CommandStatusCancelling is a CommandStatus enum value + CommandStatusCancelling = "Cancelling" ) const ( @@ -5988,6 +16061,9 @@ const ( // DocumentFilterKeyPlatformTypes is a DocumentFilterKey enum value DocumentFilterKeyPlatformTypes = "PlatformTypes" + + // DocumentFilterKeyDocumentType is a DocumentFilterKey enum value + DocumentFilterKeyDocumentType = "DocumentType" ) const ( @@ -6018,10 +16094,24 @@ const ( // DocumentStatusActive is a DocumentStatus enum value DocumentStatusActive = "Active" + // DocumentStatusUpdating is a DocumentStatus enum value + DocumentStatusUpdating = "Updating" + // DocumentStatusDeleting is a DocumentStatus enum value DocumentStatusDeleting = "Deleting" ) +const ( + // DocumentTypeCommand is a DocumentType enum value + DocumentTypeCommand = "Command" + + // DocumentTypePolicy is a DocumentType enum value + DocumentTypePolicy = "Policy" + + // DocumentTypeAutomation is a DocumentType enum value + DocumentTypeAutomation = "Automation" +) + const ( // FaultClient is a Fault enum value FaultClient = "Client" @@ -6054,6 +16144,70 @@ const ( // InstanceInformationFilterKeyResourceType is a InstanceInformationFilterKey enum value InstanceInformationFilterKeyResourceType = "ResourceType" + + // InstanceInformationFilterKeyAssociationStatus is a InstanceInformationFilterKey enum value + InstanceInformationFilterKeyAssociationStatus = "AssociationStatus" +) + +const ( + // InventoryAttributeDataTypeString is a InventoryAttributeDataType enum value + InventoryAttributeDataTypeString = "string" + + // InventoryAttributeDataTypeNumber is a InventoryAttributeDataType enum value + InventoryAttributeDataTypeNumber = "number" +) + +const ( + // InventoryQueryOperatorTypeEqual is a InventoryQueryOperatorType enum value + InventoryQueryOperatorTypeEqual = "Equal" + + // InventoryQueryOperatorTypeNotEqual is a InventoryQueryOperatorType enum value + InventoryQueryOperatorTypeNotEqual = "NotEqual" + + // InventoryQueryOperatorTypeBeginWith is a InventoryQueryOperatorType enum value + InventoryQueryOperatorTypeBeginWith = "BeginWith" + + // InventoryQueryOperatorTypeLessThan is a InventoryQueryOperatorType enum value + InventoryQueryOperatorTypeLessThan = "LessThan" + + // InventoryQueryOperatorTypeGreaterThan is a InventoryQueryOperatorType enum value + InventoryQueryOperatorTypeGreaterThan = "GreaterThan" +) + +const ( + // MaintenanceWindowExecutionStatusPending is a MaintenanceWindowExecutionStatus enum value + MaintenanceWindowExecutionStatusPending = "PENDING" + + // MaintenanceWindowExecutionStatusInProgress is a MaintenanceWindowExecutionStatus enum value + MaintenanceWindowExecutionStatusInProgress = "IN_PROGRESS" + + // MaintenanceWindowExecutionStatusSuccess is a MaintenanceWindowExecutionStatus enum value + MaintenanceWindowExecutionStatusSuccess = "SUCCESS" + + // MaintenanceWindowExecutionStatusFailed is a MaintenanceWindowExecutionStatus enum value + MaintenanceWindowExecutionStatusFailed = "FAILED" + + // MaintenanceWindowExecutionStatusTimedOut is a MaintenanceWindowExecutionStatus enum value + MaintenanceWindowExecutionStatusTimedOut = "TIMED_OUT" + + // MaintenanceWindowExecutionStatusCancelling is a MaintenanceWindowExecutionStatus enum value + MaintenanceWindowExecutionStatusCancelling = "CANCELLING" + + // MaintenanceWindowExecutionStatusCancelled is a MaintenanceWindowExecutionStatus enum value + MaintenanceWindowExecutionStatusCancelled = "CANCELLED" + + // MaintenanceWindowExecutionStatusSkippedOverlapping is a MaintenanceWindowExecutionStatus enum value + MaintenanceWindowExecutionStatusSkippedOverlapping = "SKIPPED_OVERLAPPING" +) + +const ( + // MaintenanceWindowResourceTypeInstance is a MaintenanceWindowResourceType enum value + MaintenanceWindowResourceTypeInstance = "INSTANCE" +) + +const ( + // MaintenanceWindowTaskTypeRunCommand is a MaintenanceWindowTaskType enum value + MaintenanceWindowTaskTypeRunCommand = "RUN_COMMAND" ) const ( @@ -6084,6 +16238,28 @@ const ( NotificationTypeInvocation = "Invocation" ) +const ( + // ParameterTypeString is a ParameterType enum value + ParameterTypeString = "String" + + // ParameterTypeStringList is a ParameterType enum value + ParameterTypeStringList = "StringList" + + // ParameterTypeSecureString is a ParameterType enum value + ParameterTypeSecureString = "SecureString" +) + +const ( + // ParametersFilterKeyName is a ParametersFilterKey enum value + ParametersFilterKeyName = "Name" + + // ParametersFilterKeyType is a ParametersFilterKey enum value + ParametersFilterKeyType = "Type" + + // ParametersFilterKeyKeyId is a ParametersFilterKey enum value + ParametersFilterKeyKeyId = "KeyId" +) + const ( // PingStatusOnline is a PingStatus enum value PingStatusOnline = "Online" @@ -6117,4 +16293,10 @@ const ( const ( // ResourceTypeForTaggingManagedInstance is a ResourceTypeForTagging enum value ResourceTypeForTaggingManagedInstance = "ManagedInstance" + + // ResourceTypeForTaggingMaintenanceWindow is a ResourceTypeForTagging enum value + ResourceTypeForTaggingMaintenanceWindow = "MaintenanceWindow" + + // ResourceTypeForTaggingParameter is a ResourceTypeForTagging enum value + ResourceTypeForTaggingParameter = "Parameter" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/service.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/service.go index 580d494f0..a4f09d175 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/service.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/service.go @@ -11,124 +11,21 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) -// Amazon EC2 Simple Systems Manager (SSM) enables you to remotely manage the -// configuration of your Amazon EC2 instances, virtual machines (VMs), or servers -// in your on-premises environment or in an environment provided by other cloud -// providers using scripts, commands, or the Amazon EC2 console. SSM includes -// an on-demand solution called Amazon EC2 Run Command and a lightweight instance -// configuration solution called SSM Config. +// Amazon EC2 Systems Manager is a collection of capabilities that helps you +// automate management tasks such as collecting system inventory, applying operating +// system (OS) patches, automating the creation of Amazon Machine Images (AMIs), +// and configuring operating systems (OSs) and applications at scale. Systems +// Manager works with managed instances: Amazon EC2 instances and servers or +// virtual machines (VMs) in your on-premises environment that are configured +// for Systems Manager. // -// This references is intended to be used with the EC2 Run Command User Guide -// for Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/execute-remote-commands.html) -// or Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/execute-remote-commands.html). +// This references is intended to be used with the EC2 Systems Manager User +// Guide (Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/systems-manager.html)) +// (Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/systems-manager.html)). // -// You must register your on-premises servers and VMs through an activation -// process before you can configure them using Run Command. Registered servers -// and VMs are called managed instances. For more information, see Setting Up -// Run Command On Managed Instances (On-Premises Servers and VMs) on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managed-instances.html) -// or Setting Up Run Command On Managed Instances (On-Premises Servers and VMs) -// on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/managed-instances.html). -// -// Run Command -// -// Run Command provides an on-demand experience for executing commands. You -// can use pre-defined SSM documents to perform the actions listed later in -// this section, or you can create your own documents. With these documents, -// you can remotely configure your instances by sending commands using the Commands -// page in the Amazon EC2 console (http://console.aws.amazon.com/ec2/), AWS -// Tools for Windows PowerShell (http://docs.aws.amazon.com/powershell/latest/reference/items/Amazon_Simple_Systems_Management_cmdlets.html), -// the AWS CLI (http://docs.aws.amazon.com/cli/latest/reference/ssm/index.html), -// or AWS SDKs. -// -// Run Command reports the status of the command execution for each instance -// targeted by a command. You can also audit the command execution to understand -// who executed commands, when, and what changes were made. By switching between -// different SSM documents, you can quickly configure your instances with different -// types of commands. To get started with Run Command, verify that your environment -// meets the prerequisites for remotely running commands on EC2 instances (Linux -// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/remote-commands-prereq.html) -// or Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/remote-commands-prereq.html)). -// -// SSM Config -// -// SSM Config is a lightweight instance configuration solution. SSM Config is -// currently only available for Windows instances. With SSM Config, you can -// specify a setup configuration for your instances. SSM Config is similar to -// EC2 User Data, which is another way of running one-time scripts or applying -// settings during instance launch. SSM Config is an extension of this capability. -// Using SSM documents, you can specify which actions the system should perform -// on your instances, including which applications to install, which AWS Directory -// Service directory to join, which Microsoft PowerShell modules to install, -// etc. If an instance is missing one or more of these configurations, the system -// makes those changes. By default, the system checks every five minutes to -// see if there is a new configuration to apply as defined in a new SSM document. -// If so, the system updates the instances accordingly. In this way, you can -// remotely maintain a consistent configuration baseline on your instances. -// SSM Config is available using the AWS CLI or the AWS Tools for Windows PowerShell. -// For more information, see Managing Windows Instance Configuration (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-configuration-manage.html). -// -// SSM Config and Run Command include the following pre-defined documents. -// -// Linux -// -// AWS-RunShellScript to run shell scripts -// -// * AWS-UpdateSSMAgent to update the Amazon SSM agent -// -// Windows -// -// * AWS-JoinDirectoryServiceDomain to join an AWS Directory -// -// * AWS-RunPowerShellScript to run PowerShell commands or scripts -// -// * AWS-UpdateEC2Config to update the EC2Config service -// -// * AWS-ConfigureWindowsUpdate to configure Windows Update settings -// -// * AWS-InstallApplication to install, repair, or uninstall software using -// an MSI package -// -// * AWS-InstallPowerShellModule to install PowerShell modules -// -// * AWS-ConfigureCloudWatch to configure Amazon CloudWatch Logs to monitor -// applications and systems -// -// * AWS-ListWindowsInventory to collect information about an EC2 instance -// running in Windows. -// -// * AWS-FindWindowsUpdates to scan an instance and determines which updates -// are missing. -// -// * AWS-InstallMissingWindowsUpdates to install missing updates on your -// EC2 instance. -// -// * AWS-InstallSpecificWindowsUpdates to install one or more specific updates. -// -// The commands or scripts specified in SSM documents run with administrative -// privilege on your instances because the Amazon SSM agent runs as root -// on Linux and the EC2Config service runs in the Local System account on -// Windows. If a user has permission to execute any of the pre-defined SSM -// documents (any document that begins with AWS-*) then that user also has -// administrator access to the instance. Delegate access to Run Command and -// SSM Config judiciously. This becomes extremely important if you create -// your own SSM documents. Amazon Web Services does not provide guidance -// about how to create secure SSM documents. You create SSM documents and -// delegate access to Run Command at your own risk. As a security best practice, -// we recommend that you assign access to "AWS-*" documents, especially the -// AWS-RunShellScript document on Linux and the AWS-RunPowerShellScript document -// on Windows, to trusted administrators only. You can create SSM documents -// for specific tasks and delegate access to non-administrators. -// -// For information about creating and sharing SSM documents, see the following -// topics in the SSM User Guide: -// -// * Creating SSM Documents (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-ssm-doc.html) -// and * Sharing SSM Documents (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ssm-sharing.html) -// (Linux) -// -// * Creating SSM Documents (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/create-ssm-doc.html) -// and * Sharing SSM Documents (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ssm-sharing.html) -// (Windows) +// To get started, verify prerequisites and configure managed instances (Linux +// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/systems-manager-prereqs.html)) +// (Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/systems-manager-prereqs.html)). //The service client's operations are safe to be used concurrently. // It is not safe to mutate any of the client's properties though. type SSM struct { diff --git a/vendor/vendor.json b/vendor/vendor.json index f4f8608a5..67c805e13 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -377,580 +377,580 @@ "revision": "4239b77079c7b5d1243b7b4736304ce8ddb6f0f2" }, { - "checksumSHA1": "DfYjL9TFXUaMV8bKlcC3VHzynHc=", + "checksumSHA1": "4pgYZWTGSHhY5zzL2yvbh+XfFgg=", "path": "github.com/aws/aws-sdk-go", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { - "checksumSHA1": "WEkryGXiu/uQv5woVvRm9hxf9lE=", + "checksumSHA1": "f5mMRgx2qaUv2T4AaCwMRj6HI8Q=", "path": "github.com/aws/aws-sdk-go/aws", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "Y9W+4GimK4Fuxq+vyIskVYFRnX4=", "path": "github.com/aws/aws-sdk-go/aws/awserr", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "yyYr41HZ1Aq0hWc3J5ijXwYEcac=", "path": "github.com/aws/aws-sdk-go/aws/awsutil", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "/232RBWA3KnT7U+wciPS2+wmvR0=", "path": "github.com/aws/aws-sdk-go/aws/client", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "ieAJ+Cvp/PKv1LpUEnUXpc3OI6E=", "path": "github.com/aws/aws-sdk-go/aws/client/metadata", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "Fl8vRSCY0MbM04cmiz/0MID+goA=", "path": "github.com/aws/aws-sdk-go/aws/corehandlers", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "zu5C95rmCZff6NYZb62lEaT5ibE=", "path": "github.com/aws/aws-sdk-go/aws/credentials", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "u3GOAJLmdvbuNUeUEcZSEAOeL/0=", "path": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "NUJUTWlc1sV8b7WjfiYc4JZbXl0=", "path": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "4Ipx+5xN0gso+cENC2MHMWmQlR4=", "path": "github.com/aws/aws-sdk-go/aws/credentials/stscreds", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "DwhFsNluCFEwqzyp3hbJR3q2Wqs=", "path": "github.com/aws/aws-sdk-go/aws/defaults", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "/EXbk/z2TWjWc1Hvb4QYs3Wmhb8=", "path": "github.com/aws/aws-sdk-go/aws/ec2metadata", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "yVSL6yhjj0Pozx4NVrWA3aguENg=", "path": "github.com/aws/aws-sdk-go/aws/request", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "HT1op89NoiShWN5XBRGdZkQTf4A=", "path": "github.com/aws/aws-sdk-go/aws/session", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "bjf3WCqht846AsRh85c8d7iLmsk=", "path": "github.com/aws/aws-sdk-go/aws/signer/v4", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "Esab5F8KswqkTdB4TtjSvZgs56k=", "path": "github.com/aws/aws-sdk-go/private/endpoints", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "wk7EyvDaHwb5qqoOP/4d3cV0708=", "path": "github.com/aws/aws-sdk-go/private/protocol", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "1QmQ3FqV37w0Zi44qv8pA1GeR0A=", "path": "github.com/aws/aws-sdk-go/private/protocol/ec2query", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "pNeF0Ey7TfBArH5LBQhKOQXQbLY=", "path": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "R00RL5jJXRYq1iiK1+PGvMfvXyM=", "path": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "ZqY5RWavBLWTo6j9xqdyBEaNFRk=", "path": "github.com/aws/aws-sdk-go/private/protocol/query", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "5xzix1R8prUyWxgLnzUQoxTsfik=", "path": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "dUpGLm7IHo6A40vuaEKwaCLbqu8=", "path": "github.com/aws/aws-sdk-go/private/protocol/rest", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "Rpu8KBtHZgvhkwHxUfaky+qW+G4=", "path": "github.com/aws/aws-sdk-go/private/protocol/restjson", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "ODo+ko8D6unAxZuN1jGzMcN4QCc=", "path": "github.com/aws/aws-sdk-go/private/protocol/restxml", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "U30tX6Rd4LSOjrm/E2WB0TyFxr8=", "path": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "F6mth+G7dXN1GI+nktaGo8Lx8aE=", "path": "github.com/aws/aws-sdk-go/private/signer/v2", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "Eo9yODN5U99BK0pMzoqnBm7PCrY=", "path": "github.com/aws/aws-sdk-go/private/waiter", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "INWpIaoMQ5yhSUDuC6BI2tnT01w=", "path": "github.com/aws/aws-sdk-go/service/acm", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { - "checksumSHA1": "6SZrpx+VJ7W/Xsozbn2UCIIMWug=", + "checksumSHA1": "nc8ftVV4VgKNZrVA5IAOSjPCtUE=", "path": "github.com/aws/aws-sdk-go/service/apigateway", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "DZc+6wpn5VIQEoFMxLIKwVYliJE=", "path": "github.com/aws/aws-sdk-go/service/applicationautoscaling", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "Y5ewqOw2oooAc17RZBLEfFe97NQ=", "path": "github.com/aws/aws-sdk-go/service/autoscaling", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "e0qgGpjfhqhr2ka/IxWGVvtszzM=", "path": "github.com/aws/aws-sdk-go/service/cloudformation", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "71H57UIgdJgkDZxJQsxJEB6ihqQ=", "path": "github.com/aws/aws-sdk-go/service/cloudfront", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "1hnZsVUSJ0quZ37/xmwwCvQh2U8=", "path": "github.com/aws/aws-sdk-go/service/cloudtrail", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "3jnrRIRHqRiWDqb71FMSfs9AvXk=", "path": "github.com/aws/aws-sdk-go/service/cloudwatch", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "YLXFc6XhmmnVEfHPE0Bb8f5wndw=", "path": "github.com/aws/aws-sdk-go/service/cloudwatchevents", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "bgkauNc4M46Pmyw7lHkvzw3sxiw=", "path": "github.com/aws/aws-sdk-go/service/cloudwatchlogs", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "rKsbQ6FWQSqiE+ujHG6HietgH5Y=", "path": "github.com/aws/aws-sdk-go/service/codecommit", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "YvpsgALidLyjzRgRHusdw7vS22k=", "path": "github.com/aws/aws-sdk-go/service/codedeploy", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "3aRyyRHgUh+w26Wqrruxxa1VaxA=", "path": "github.com/aws/aws-sdk-go/service/directoryservice", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "E5qjR1pDa/V2LEhXP36kZH2w91o=", "path": "github.com/aws/aws-sdk-go/service/dynamodb", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { - "checksumSHA1": "6h4tJ9wVtbYb9wG4srtUxyPoAYM=", + "checksumSHA1": "oS1hsSSRADAoJlk7oiJApIDeOYg=", "path": "github.com/aws/aws-sdk-go/service/ec2", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "3wd5o69gQcsDpBIJU2QMAYu/Yjs=", "path": "github.com/aws/aws-sdk-go/service/ecr", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "99y497vsASAyQYAmAiGOgCFniiI=", "path": "github.com/aws/aws-sdk-go/service/ecs", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "cAYa6uHNWAKex00wQZQh/3RIP20=", "path": "github.com/aws/aws-sdk-go/service/efs", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "e/nua6AZAM1DOX1s+qcuDaOqWYc=", "path": "github.com/aws/aws-sdk-go/service/elasticache", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { - "checksumSHA1": "pyykYejfcLu54fhwe94WMujiWpE=", + "checksumSHA1": "TwFv7k5MXe7UOQBWd/QTqxJawL8=", "path": "github.com/aws/aws-sdk-go/service/elasticbeanstalk", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "z0ca3QajyQGpShh3psqolZLJt7Q=", "path": "github.com/aws/aws-sdk-go/service/elasticsearchservice", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "t/dBXjcSbc5phqiIoGtOIELycNg=", "path": "github.com/aws/aws-sdk-go/service/elastictranscoder", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "X6fiZ2b/U1WpYBzw5fqm2Wm8Hr0=", "path": "github.com/aws/aws-sdk-go/service/elb", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "D+1s7cgL4iMtswW+x233jAV8eJI=", "path": "github.com/aws/aws-sdk-go/service/elbv2", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "+GSIhCXrofZZRF4Bz4XuX8B8o7U=", "path": "github.com/aws/aws-sdk-go/service/emr", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "71xHwOAjzdFQ+zQieThJWKObvS4=", "path": "github.com/aws/aws-sdk-go/service/firehose", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "SU/YDilOf4uh4tC3O4ZyKfu9Ca8=", "path": "github.com/aws/aws-sdk-go/service/glacier", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "hQquEMm59E2CwVwfBvKRTVzBj/8=", "path": "github.com/aws/aws-sdk-go/service/iam", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "1pBbVKt2n6Z/59Nd8mXe20/JEV4=", "path": "github.com/aws/aws-sdk-go/service/kinesis", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "ghoZkkKxN0lAJZ6Nb0sJiiFiQAI=", "path": "github.com/aws/aws-sdk-go/service/kms", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { - "checksumSHA1": "kb9gzhUSUeiJorMc73m13DK/3Qc=", + "checksumSHA1": "GXX3mEJTPOrM1aHiNv31vyy+HAY=", "path": "github.com/aws/aws-sdk-go/service/lambda", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "BZY0NsRwwIbs52ZSjaEGqgWHXyo=", "path": "github.com/aws/aws-sdk-go/service/opsworks", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "iGXoSzRemWsXcxdBLFqAaZ3ulf8=", "path": "github.com/aws/aws-sdk-go/service/rds", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "bxHXVhiqpF3njkRRNcLn+tyhwZQ=", "path": "github.com/aws/aws-sdk-go/service/redshift", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "i04x4j6gtaNDUHGlJa5bs+m4wlw=", "path": "github.com/aws/aws-sdk-go/service/route53", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "lC6CowuZ0Zjvbcw3hjYSc1cxbPE=", "path": "github.com/aws/aws-sdk-go/service/s3", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "6TbKrx2keOneistnAS39cVXTunY=", "path": "github.com/aws/aws-sdk-go/service/ses", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "hp8JNTd1l4AvNps0/z3UsukvWsQ=", "path": "github.com/aws/aws-sdk-go/service/simpledb", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "eGU3IGTGnOKW8qUi80UJrtkcmRw=", "path": "github.com/aws/aws-sdk-go/service/sns", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "hTgsEbW3erfnTHok+7TKOSUlaYU=", "path": "github.com/aws/aws-sdk-go/service/sqs", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { - "checksumSHA1": "f0X7xjpA2JmDYc9xArgDI4mCO6I=", + "checksumSHA1": "9Tt+EzXo9wwMkrzZTdnXHkHfQoU=", "path": "github.com/aws/aws-sdk-go/service/ssm", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "ouwhxcAsIYQ6oJbMRdLW/Ys/iyg=", "path": "github.com/aws/aws-sdk-go/service/sts", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "BvZSVj6c/aEe0Ihf08fBXdIRz8A=", "path": "github.com/aws/aws-sdk-go/service/waf", - "revision": "e7849863adae563900a3474ee6feed65471ab070", - "revisionTime": "2016-11-30T19:57:18Z", - "version": "=v1.5.12", - "versionExact": "v1.5.12" + "revision": "918c42e2bcdb277aa821401c906e88254501bdf4", + "revisionTime": "2016-12-01T20:26:07Z", + "version": "=v1.5.13", + "versionExact": "v1.5.13" }, { "checksumSHA1": "nqw2Qn5xUklssHTubS5HDvEL9L4=",