From afd5c13a1d435d45fecf7e9982dc93fa922a5cef Mon Sep 17 00:00:00 2001 From: Don Cote Date: Tue, 20 Aug 2019 17:08:30 -0400 Subject: [PATCH] move to go mod --- Dockerfile | 9 - go.mod | 5 + go.sum | 4 + vendor/github.com/aws/aws-sdk-go/LICENSE.txt | 202 - vendor/github.com/aws/aws-sdk-go/NOTICE.txt | 3 - .../aws/aws-sdk-go/aws/awserr/error.go | 145 - .../aws/aws-sdk-go/aws/awserr/types.go | 194 - .../aws/aws-sdk-go/aws/awsutil/copy.go | 108 - .../aws/aws-sdk-go/aws/awsutil/equal.go | 27 - .../aws/aws-sdk-go/aws/awsutil/path_value.go | 222 - .../aws/aws-sdk-go/aws/awsutil/prettify.go | 113 - .../aws-sdk-go/aws/awsutil/string_value.go | 88 - .../aws/aws-sdk-go/aws/client/client.go | 96 - .../aws-sdk-go/aws/client/default_retryer.go | 116 - .../aws/aws-sdk-go/aws/client/logger.go | 184 - .../aws/client/metadata/client_info.go | 13 - .../github.com/aws/aws-sdk-go/aws/config.go | 536 - .../github.com/aws/aws-sdk-go/aws/context.go | 71 - .../aws/aws-sdk-go/aws/context_1_6.go | 41 - .../aws/aws-sdk-go/aws/context_1_7.go | 9 - .../aws/aws-sdk-go/aws/convert_types.go | 387 - .../aws-sdk-go/aws/corehandlers/handlers.go | 228 - .../aws/corehandlers/param_validator.go | 17 - .../aws-sdk-go/aws/corehandlers/user_agent.go | 37 - .../aws/credentials/chain_provider.go | 100 - .../aws-sdk-go/aws/credentials/credentials.go | 257 - .../ec2rolecreds/ec2_role_provider.go | 178 - .../aws/credentials/endpointcreds/provider.go | 198 - .../aws/credentials/env_provider.go | 74 - .../aws-sdk-go/aws/credentials/example.ini | 12 - .../aws/credentials/processcreds/provider.go | 425 - .../shared_credentials_provider.go | 150 - .../aws/credentials/static_provider.go | 55 - .../stscreds/assume_role_provider.go | 298 - .../github.com/aws/aws-sdk-go/aws/csm/doc.go | 46 - .../aws/aws-sdk-go/aws/csm/enable.go | 67 - .../aws/aws-sdk-go/aws/csm/metric.go | 53 - .../aws/aws-sdk-go/aws/csm/metric_chan.go | 54 - .../aws/aws-sdk-go/aws/csm/reporter.go | 240 - .../aws/aws-sdk-go/aws/defaults/defaults.go | 207 - .../aws-sdk-go/aws/defaults/shared_config.go | 27 - vendor/github.com/aws/aws-sdk-go/aws/doc.go | 56 - .../aws/aws-sdk-go/aws/ec2metadata/api.go | 162 - .../aws/aws-sdk-go/aws/ec2metadata/service.go | 149 - .../aws/aws-sdk-go/aws/endpoints/decode.go | 160 - .../aws/aws-sdk-go/aws/endpoints/defaults.go | 3690 -- .../aws/endpoints/dep_service_ids.go | 141 - .../aws/aws-sdk-go/aws/endpoints/doc.go | 66 - .../aws/aws-sdk-go/aws/endpoints/endpoints.go | 449 - .../aws/aws-sdk-go/aws/endpoints/v3model.go | 307 - .../aws/endpoints/v3model_codegen.go | 351 - .../github.com/aws/aws-sdk-go/aws/errors.go | 13 - .../aws/aws-sdk-go/aws/jsonvalue.go | 12 - .../github.com/aws/aws-sdk-go/aws/logger.go | 118 - .../aws/request/connection_reset_error.go | 19 - .../request/connection_reset_error_other.go | 11 - .../aws/aws-sdk-go/aws/request/handlers.go | 277 - .../aws-sdk-go/aws/request/http_request.go | 24 - .../aws-sdk-go/aws/request/offset_reader.go | 60 - .../aws/aws-sdk-go/aws/request/request.go | 658 - .../aws/aws-sdk-go/aws/request/request_1_7.go | 39 - .../aws/aws-sdk-go/aws/request/request_1_8.go | 33 - .../aws-sdk-go/aws/request/request_context.go | 14 - .../aws/request/request_context_1_6.go | 14 - .../aws/request/request_pagination.go | 264 - .../aws/aws-sdk-go/aws/request/retryer.go | 162 - .../aws/request/timeout_read_closer.go | 94 - .../aws/aws-sdk-go/aws/request/validation.go | 286 - .../aws/aws-sdk-go/aws/request/waiter.go | 295 - .../aws/aws-sdk-go/aws/session/doc.go | 273 - .../aws/aws-sdk-go/aws/session/env_config.go | 236 - .../aws/aws-sdk-go/aws/session/session.go | 716 - .../aws-sdk-go/aws/session/shared_config.go | 329 - .../aws-sdk-go/aws/signer/v4/header_rules.go | 82 - .../aws/aws-sdk-go/aws/signer/v4/options.go | 7 - .../aws/aws-sdk-go/aws/signer/v4/uri_path.go | 24 - .../aws/aws-sdk-go/aws/signer/v4/v4.go | 796 - vendor/github.com/aws/aws-sdk-go/aws/types.go | 201 - vendor/github.com/aws/aws-sdk-go/aws/url.go | 12 - .../github.com/aws/aws-sdk-go/aws/url_1_7.go | 29 - .../github.com/aws/aws-sdk-go/aws/version.go | 8 - .../aws/aws-sdk-go/internal/ini/ast.go | 120 - .../aws-sdk-go/internal/ini/comma_token.go | 11 - .../aws-sdk-go/internal/ini/comment_token.go | 35 - .../aws/aws-sdk-go/internal/ini/doc.go | 29 - .../aws-sdk-go/internal/ini/empty_token.go | 4 - .../aws/aws-sdk-go/internal/ini/expression.go | 24 - .../aws/aws-sdk-go/internal/ini/fuzz.go | 17 - .../aws/aws-sdk-go/internal/ini/ini.go | 51 - .../aws/aws-sdk-go/internal/ini/ini_lexer.go | 165 - .../aws/aws-sdk-go/internal/ini/ini_parser.go | 347 - .../aws-sdk-go/internal/ini/literal_tokens.go | 324 - .../aws-sdk-go/internal/ini/newline_token.go | 30 - .../aws-sdk-go/internal/ini/number_helper.go | 152 - .../aws/aws-sdk-go/internal/ini/op_tokens.go | 39 - .../aws-sdk-go/internal/ini/parse_error.go | 43 - .../aws-sdk-go/internal/ini/parse_stack.go | 60 - .../aws/aws-sdk-go/internal/ini/sep_tokens.go | 41 - .../aws/aws-sdk-go/internal/ini/skipper.go | 45 - .../aws/aws-sdk-go/internal/ini/statement.go | 35 - .../aws/aws-sdk-go/internal/ini/value_util.go | 284 - .../aws/aws-sdk-go/internal/ini/visitor.go | 166 - .../aws/aws-sdk-go/internal/ini/walker.go | 25 - .../aws/aws-sdk-go/internal/ini/ws_token.go | 24 - .../aws/aws-sdk-go/internal/sdkio/io_go1.6.go | 10 - .../aws/aws-sdk-go/internal/sdkio/io_go1.7.go | 12 - .../internal/sdkrand/locked_source.go | 29 - .../aws/aws-sdk-go/internal/sdkuri/path.go | 23 - .../internal/shareddefaults/ecs_container.go | 12 - .../internal/shareddefaults/shared_config.go | 40 - .../aws/aws-sdk-go/private/protocol/host.go | 68 - .../private/protocol/host_prefix.go | 54 - .../private/protocol/idempotency.go | 75 - .../private/protocol/json/jsonutil/build.go | 296 - .../protocol/json/jsonutil/unmarshal.go | 228 - .../private/protocol/jsonrpc/jsonrpc.go | 115 - .../aws-sdk-go/private/protocol/jsonvalue.go | 76 - .../aws-sdk-go/private/protocol/payload.go | 81 - .../private/protocol/query/build.go | 36 - .../protocol/query/queryutil/queryutil.go | 246 - .../private/protocol/query/unmarshal.go | 39 - .../private/protocol/query/unmarshal_error.go | 74 - .../aws-sdk-go/private/protocol/rest/build.go | 295 - .../private/protocol/rest/payload.go | 45 - .../private/protocol/rest/unmarshal.go | 225 - .../aws-sdk-go/private/protocol/timestamp.go | 72 - .../aws-sdk-go/private/protocol/unmarshal.go | 21 - .../private/protocol/xml/xmlutil/build.go | 306 - .../private/protocol/xml/xmlutil/unmarshal.go | 272 - .../protocol/xml/xmlutil/xml_to_struct.go | 148 - .../aws/aws-sdk-go/service/ssm/api.go | 34997 ---------------- .../aws/aws-sdk-go/service/ssm/doc.go | 45 - .../aws/aws-sdk-go/service/ssm/errors.go | 685 - .../aws/aws-sdk-go/service/ssm/service.go | 97 - .../aws/aws-sdk-go/service/sts/api.go | 2398 -- .../aws-sdk-go/service/sts/customizations.go | 12 - .../aws/aws-sdk-go/service/sts/doc.go | 72 - .../aws/aws-sdk-go/service/sts/errors.go | 73 - .../aws/aws-sdk-go/service/sts/service.go | 95 - .../github.com/jmespath/go-jmespath/LICENSE | 13 - .../github.com/jmespath/go-jmespath/Makefile | 44 - .../github.com/jmespath/go-jmespath/README.md | 7 - vendor/github.com/jmespath/go-jmespath/api.go | 49 - .../go-jmespath/astnodetype_string.go | 16 - .../jmespath/go-jmespath/functions.go | 842 - .../jmespath/go-jmespath/interpreter.go | 418 - .../github.com/jmespath/go-jmespath/lexer.go | 420 - .../github.com/jmespath/go-jmespath/parser.go | 603 - .../jmespath/go-jmespath/toktype_string.go | 16 - .../github.com/jmespath/go-jmespath/util.go | 185 - vendor/vendor.json | 205 - 151 files changed, 9 insertions(+), 62185 deletions(-) delete mode 100644 Dockerfile create mode 100644 go.mod create mode 100644 go.sum delete mode 100644 vendor/github.com/aws/aws-sdk-go/LICENSE.txt delete mode 100644 vendor/github.com/aws/aws-sdk-go/NOTICE.txt delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awserr/error.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awserr/types.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/client/client.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/client/logger.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/config.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/context.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/convert_types.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/example.ini delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/csm/enable.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/csm/metric_chan.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/doc.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/dep_service_ids.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/errors.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/logger.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error_other.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/request.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/validation.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/session/doc.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/session/session.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/signer/v4/header_rules.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/types.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/url.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/aws/version.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/ast.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/comma_token.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/comment_token.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/doc.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/empty_token.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/expression.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/fuzz.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/ini.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/ini_lexer.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/newline_token.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/number_helper.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/op_tokens.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/parse_error.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/parse_stack.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/sep_tokens.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/value_util.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/visitor.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/walker.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/ini/ws_token.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/sdkrand/locked_source.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/sdkuri/path.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/host.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/host_prefix.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/idempotency.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/payload.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/service/ssm/api.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/service/ssm/doc.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/service/ssm/service.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/service/sts/api.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/service/sts/doc.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/service/sts/errors.go delete mode 100644 vendor/github.com/aws/aws-sdk-go/service/sts/service.go delete mode 100644 vendor/github.com/jmespath/go-jmespath/LICENSE delete mode 100644 vendor/github.com/jmespath/go-jmespath/Makefile delete mode 100644 vendor/github.com/jmespath/go-jmespath/README.md delete mode 100644 vendor/github.com/jmespath/go-jmespath/api.go delete mode 100644 vendor/github.com/jmespath/go-jmespath/astnodetype_string.go delete mode 100644 vendor/github.com/jmespath/go-jmespath/functions.go delete mode 100644 vendor/github.com/jmespath/go-jmespath/interpreter.go delete mode 100644 vendor/github.com/jmespath/go-jmespath/lexer.go delete mode 100644 vendor/github.com/jmespath/go-jmespath/parser.go delete mode 100644 vendor/github.com/jmespath/go-jmespath/toktype_string.go delete mode 100644 vendor/github.com/jmespath/go-jmespath/util.go delete mode 100644 vendor/vendor.json diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 7b813ae..0000000 --- a/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM golang:1.11 as builder -WORKDIR /go/src/github.com/FlipsideCrypto/go-aws-config/ -COPY . ./ -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o bin/go-aws-config src/main/*.go - -FROM centurylink/ca-certs -WORKDIR / -COPY --from=builder /go/src/github.com/FlipsideCrypto/go-aws-config/bin/go-aws-config . -ENTRYPOINT ["./go-aws-config"] diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..11a6e59 --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module github.com/FlipsideCrypto/go-aws-config + +go 1.12 + +require github.com/aws/aws-sdk-go v1.23.5 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..b7339f5 --- /dev/null +++ b/go.sum @@ -0,0 +1,4 @@ +github.com/aws/aws-sdk-go v1.23.5 h1:mLCB0uWFervVN1tmXrGZfqMkdBpGgn6Umho0xCnqtUQ= +github.com/aws/aws-sdk-go v1.23.5/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= diff --git a/vendor/github.com/aws/aws-sdk-go/LICENSE.txt b/vendor/github.com/aws/aws-sdk-go/LICENSE.txt deleted file mode 100644 index d645695..0000000 --- a/vendor/github.com/aws/aws-sdk-go/LICENSE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/github.com/aws/aws-sdk-go/NOTICE.txt b/vendor/github.com/aws/aws-sdk-go/NOTICE.txt deleted file mode 100644 index 5f14d11..0000000 --- a/vendor/github.com/aws/aws-sdk-go/NOTICE.txt +++ /dev/null @@ -1,3 +0,0 @@ -AWS SDK for Go -Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -Copyright 2014-2015 Stripe, Inc. diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awserr/error.go b/vendor/github.com/aws/aws-sdk-go/aws/awserr/error.go deleted file mode 100644 index 56fdfc2..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/awserr/error.go +++ /dev/null @@ -1,145 +0,0 @@ -// Package awserr represents API error interface accessors for the SDK. -package awserr - -// An Error wraps lower level errors with code, message and an original error. -// The underlying concrete error type may also satisfy other interfaces which -// can be to used to obtain more specific information about the error. -// -// Calling Error() or String() will always include the full information about -// an error based on its underlying type. -// -// Example: -// -// output, err := s3manage.Upload(svc, input, opts) -// if err != nil { -// if awsErr, ok := err.(awserr.Error); ok { -// // Get error details -// log.Println("Error:", awsErr.Code(), awsErr.Message()) -// -// // Prints out full error message, including original error if there was one. -// log.Println("Error:", awsErr.Error()) -// -// // Get original error -// if origErr := awsErr.OrigErr(); origErr != nil { -// // operate on original error. -// } -// } else { -// fmt.Println(err.Error()) -// } -// } -// -type Error interface { - // Satisfy the generic error interface. - error - - // Returns the short phrase depicting the classification of the error. - Code() string - - // Returns the error details message. - Message() string - - // Returns the original error if one was set. Nil is returned if not set. - OrigErr() error -} - -// BatchError is a batch of errors which also wraps lower level errors with -// code, message, and original errors. Calling Error() will include all errors -// that occurred in the batch. -// -// Deprecated: Replaced with BatchedErrors. Only defined for backwards -// compatibility. -type BatchError interface { - // Satisfy the generic error interface. - error - - // Returns the short phrase depicting the classification of the error. - Code() string - - // Returns the error details message. - Message() string - - // Returns the original error if one was set. Nil is returned if not set. - OrigErrs() []error -} - -// BatchedErrors is a batch of errors which also wraps lower level errors with -// code, message, and original errors. Calling Error() will include all errors -// that occurred in the batch. -// -// Replaces BatchError -type BatchedErrors interface { - // Satisfy the base Error interface. - Error - - // Returns the original error if one was set. Nil is returned if not set. - OrigErrs() []error -} - -// New returns an Error object described by the code, message, and origErr. -// -// If origErr satisfies the Error interface it will not be wrapped within a new -// Error object and will instead be returned. -func New(code, message string, origErr error) Error { - var errs []error - if origErr != nil { - errs = append(errs, origErr) - } - return newBaseError(code, message, errs) -} - -// NewBatchError returns an BatchedErrors with a collection of errors as an -// array of errors. -func NewBatchError(code, message string, errs []error) BatchedErrors { - return newBaseError(code, message, errs) -} - -// A RequestFailure is an interface to extract request failure information from -// an Error such as the request ID of the failed request returned by a service. -// RequestFailures may not always have a requestID value if the request failed -// prior to reaching the service such as a connection error. -// -// Example: -// -// output, err := s3manage.Upload(svc, input, opts) -// if err != nil { -// if reqerr, ok := err.(RequestFailure); ok { -// log.Println("Request failed", reqerr.Code(), reqerr.Message(), reqerr.RequestID()) -// } else { -// log.Println("Error:", err.Error()) -// } -// } -// -// Combined with awserr.Error: -// -// output, err := s3manage.Upload(svc, input, opts) -// if err != nil { -// if awsErr, ok := err.(awserr.Error); ok { -// // Generic AWS Error with Code, Message, and original error (if any) -// fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) -// -// if reqErr, ok := err.(awserr.RequestFailure); ok { -// // A service error occurred -// fmt.Println(reqErr.StatusCode(), reqErr.RequestID()) -// } -// } else { -// fmt.Println(err.Error()) -// } -// } -// -type RequestFailure interface { - Error - - // The status code of the HTTP response. - StatusCode() int - - // The request ID returned by the service for a request failure. This will - // be empty if no request ID is available such as the request failed due - // to a connection error. - RequestID() string -} - -// NewRequestFailure returns a new request error wrapper for the given Error -// provided. -func NewRequestFailure(err Error, statusCode int, reqID string) RequestFailure { - return newRequestError(err, statusCode, reqID) -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awserr/types.go b/vendor/github.com/aws/aws-sdk-go/aws/awserr/types.go deleted file mode 100644 index 0202a00..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/awserr/types.go +++ /dev/null @@ -1,194 +0,0 @@ -package awserr - -import "fmt" - -// SprintError returns a string of the formatted error code. -// -// Both extra and origErr are optional. If they are included their lines -// will be added, but if they are not included their lines will be ignored. -func SprintError(code, message, extra string, origErr error) string { - msg := fmt.Sprintf("%s: %s", code, message) - if extra != "" { - msg = fmt.Sprintf("%s\n\t%s", msg, extra) - } - if origErr != nil { - msg = fmt.Sprintf("%s\ncaused by: %s", msg, origErr.Error()) - } - return msg -} - -// A baseError wraps the code and message which defines an error. It also -// can be used to wrap an original error object. -// -// Should be used as the root for errors satisfying the awserr.Error. Also -// for any error which does not fit into a specific error wrapper type. -type baseError struct { - // Classification of error - code string - - // Detailed information about error - message string - - // Optional original error this error is based off of. Allows building - // chained errors. - errs []error -} - -// newBaseError returns an error object for the code, message, and errors. -// -// code is a short no whitespace phrase depicting the classification of -// the error that is being created. -// -// message is the free flow string containing detailed information about the -// error. -// -// origErrs is the error objects which will be nested under the new errors to -// be returned. -func newBaseError(code, message string, origErrs []error) *baseError { - b := &baseError{ - code: code, - message: message, - errs: origErrs, - } - - return b -} - -// Error returns the string representation of the error. -// -// See ErrorWithExtra for formatting. -// -// Satisfies the error interface. -func (b baseError) Error() string { - size := len(b.errs) - if size > 0 { - return SprintError(b.code, b.message, "", errorList(b.errs)) - } - - return SprintError(b.code, b.message, "", nil) -} - -// String returns the string representation of the error. -// Alias for Error to satisfy the stringer interface. -func (b baseError) String() string { - return b.Error() -} - -// Code returns the short phrase depicting the classification of the error. -func (b baseError) Code() string { - return b.code -} - -// Message returns the error details message. -func (b baseError) Message() string { - return b.message -} - -// OrigErr returns the original error if one was set. Nil is returned if no -// error was set. This only returns the first element in the list. If the full -// list is needed, use BatchedErrors. -func (b baseError) OrigErr() error { - switch len(b.errs) { - case 0: - return nil - case 1: - return b.errs[0] - default: - if err, ok := b.errs[0].(Error); ok { - return NewBatchError(err.Code(), err.Message(), b.errs[1:]) - } - return NewBatchError("BatchedErrors", - "multiple errors occurred", b.errs) - } -} - -// OrigErrs returns the original errors if one was set. An empty slice is -// returned if no error was set. -func (b baseError) OrigErrs() []error { - return b.errs -} - -// So that the Error interface type can be included as an anonymous field -// in the requestError struct and not conflict with the error.Error() method. -type awsError Error - -// A requestError wraps a request or service error. -// -// Composed of baseError for code, message, and original error. -type requestError struct { - awsError - statusCode int - requestID string -} - -// newRequestError returns a wrapped error with additional information for -// request status code, and service requestID. -// -// Should be used to wrap all request which involve service requests. Even if -// the request failed without a service response, but had an HTTP status code -// that may be meaningful. -// -// Also wraps original errors via the baseError. -func newRequestError(err Error, statusCode int, requestID string) *requestError { - return &requestError{ - awsError: err, - statusCode: statusCode, - requestID: requestID, - } -} - -// Error returns the string representation of the error. -// Satisfies the error interface. -func (r requestError) Error() string { - extra := fmt.Sprintf("status code: %d, request id: %s", - r.statusCode, r.requestID) - return SprintError(r.Code(), r.Message(), extra, r.OrigErr()) -} - -// String returns the string representation of the error. -// Alias for Error to satisfy the stringer interface. -func (r requestError) String() string { - return r.Error() -} - -// StatusCode returns the wrapped status code for the error -func (r requestError) StatusCode() int { - return r.statusCode -} - -// RequestID returns the wrapped requestID -func (r requestError) RequestID() string { - return r.requestID -} - -// OrigErrs returns the original errors if one was set. An empty slice is -// returned if no error was set. -func (r requestError) OrigErrs() []error { - if b, ok := r.awsError.(BatchedErrors); ok { - return b.OrigErrs() - } - return []error{r.OrigErr()} -} - -// An error list that satisfies the golang interface -type errorList []error - -// Error returns the string representation of the error. -// -// Satisfies the error interface. -func (e errorList) Error() string { - msg := "" - // How do we want to handle the array size being zero - if size := len(e); size > 0 { - for i := 0; i < size; i++ { - msg += fmt.Sprintf("%s", e[i].Error()) - // We check the next index to see if it is within the slice. - // If it is, then we append a newline. We do this, because unit tests - // could be broken with the additional '\n' - if i+1 < size { - msg += "\n" - } - } - } - return msg -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.go deleted file mode 100644 index 1a3d106..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.go +++ /dev/null @@ -1,108 +0,0 @@ -package awsutil - -import ( - "io" - "reflect" - "time" -) - -// Copy deeply copies a src structure to dst. Useful for copying request and -// response structures. -// -// Can copy between structs of different type, but will only copy fields which -// are assignable, and exist in both structs. Fields which are not assignable, -// or do not exist in both structs are ignored. -func Copy(dst, src interface{}) { - dstval := reflect.ValueOf(dst) - if !dstval.IsValid() { - panic("Copy dst cannot be nil") - } - - rcopy(dstval, reflect.ValueOf(src), true) -} - -// CopyOf returns a copy of src while also allocating the memory for dst. -// src must be a pointer type or this operation will fail. -func CopyOf(src interface{}) (dst interface{}) { - dsti := reflect.New(reflect.TypeOf(src).Elem()) - dst = dsti.Interface() - rcopy(dsti, reflect.ValueOf(src), true) - return -} - -// rcopy performs a recursive copy of values from the source to destination. -// -// root is used to skip certain aspects of the copy which are not valid -// for the root node of a object. -func rcopy(dst, src reflect.Value, root bool) { - if !src.IsValid() { - return - } - - switch src.Kind() { - case reflect.Ptr: - if _, ok := src.Interface().(io.Reader); ok { - if dst.Kind() == reflect.Ptr && dst.Elem().CanSet() { - dst.Elem().Set(src) - } else if dst.CanSet() { - dst.Set(src) - } - } else { - e := src.Type().Elem() - if dst.CanSet() && !src.IsNil() { - if _, ok := src.Interface().(*time.Time); !ok { - dst.Set(reflect.New(e)) - } else { - tempValue := reflect.New(e) - tempValue.Elem().Set(src.Elem()) - // Sets time.Time's unexported values - dst.Set(tempValue) - } - } - if src.Elem().IsValid() { - // Keep the current root state since the depth hasn't changed - rcopy(dst.Elem(), src.Elem(), root) - } - } - case reflect.Struct: - t := dst.Type() - for i := 0; i < t.NumField(); i++ { - name := t.Field(i).Name - srcVal := src.FieldByName(name) - dstVal := dst.FieldByName(name) - if srcVal.IsValid() && dstVal.CanSet() { - rcopy(dstVal, srcVal, false) - } - } - case reflect.Slice: - if src.IsNil() { - break - } - - s := reflect.MakeSlice(src.Type(), src.Len(), src.Cap()) - dst.Set(s) - for i := 0; i < src.Len(); i++ { - rcopy(dst.Index(i), src.Index(i), false) - } - case reflect.Map: - if src.IsNil() { - break - } - - s := reflect.MakeMap(src.Type()) - dst.Set(s) - for _, k := range src.MapKeys() { - v := src.MapIndex(k) - v2 := reflect.New(v.Type()).Elem() - rcopy(v2, v, false) - dst.SetMapIndex(k, v2) - } - default: - // Assign the value if possible. If its not assignable, the value would - // need to be converted and the impact of that may be unexpected, or is - // not compatible with the dst type. - if src.Type().AssignableTo(dst.Type()) { - dst.Set(src) - } - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go deleted file mode 100644 index 59fa4a5..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go +++ /dev/null @@ -1,27 +0,0 @@ -package awsutil - -import ( - "reflect" -) - -// DeepEqual returns if the two values are deeply equal like reflect.DeepEqual. -// In addition to this, this method will also dereference the input values if -// possible so the DeepEqual performed will not fail if one parameter is a -// pointer and the other is not. -// -// DeepEqual will not perform indirection of nested values of the input parameters. -func DeepEqual(a, b interface{}) bool { - ra := reflect.Indirect(reflect.ValueOf(a)) - rb := reflect.Indirect(reflect.ValueOf(b)) - - if raValid, rbValid := ra.IsValid(), rb.IsValid(); !raValid && !rbValid { - // If the elements are both nil, and of the same type the are equal - // If they are of different types they are not equal - return reflect.TypeOf(a) == reflect.TypeOf(b) - } else if raValid != rbValid { - // Both values must be valid to be equal - return false - } - - return reflect.DeepEqual(ra.Interface(), rb.Interface()) -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go deleted file mode 100644 index 11c52c3..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go +++ /dev/null @@ -1,222 +0,0 @@ -package awsutil - -import ( - "reflect" - "regexp" - "strconv" - "strings" - - "github.com/jmespath/go-jmespath" -) - -var indexRe = regexp.MustCompile(`(.+)\[(-?\d+)?\]$`) - -// rValuesAtPath returns a slice of values found in value v. The values -// in v are explored recursively so all nested values are collected. -func rValuesAtPath(v interface{}, path string, createPath, caseSensitive, nilTerm bool) []reflect.Value { - pathparts := strings.Split(path, "||") - if len(pathparts) > 1 { - for _, pathpart := range pathparts { - vals := rValuesAtPath(v, pathpart, createPath, caseSensitive, nilTerm) - if len(vals) > 0 { - return vals - } - } - return nil - } - - values := []reflect.Value{reflect.Indirect(reflect.ValueOf(v))} - components := strings.Split(path, ".") - for len(values) > 0 && len(components) > 0 { - var index *int64 - var indexStar bool - c := strings.TrimSpace(components[0]) - if c == "" { // no actual component, illegal syntax - return nil - } else if caseSensitive && c != "*" && strings.ToLower(c[0:1]) == c[0:1] { - // TODO normalize case for user - return nil // don't support unexported fields - } - - // parse this component - if m := indexRe.FindStringSubmatch(c); m != nil { - c = m[1] - if m[2] == "" { - index = nil - indexStar = true - } else { - i, _ := strconv.ParseInt(m[2], 10, 32) - index = &i - indexStar = false - } - } - - nextvals := []reflect.Value{} - for _, value := range values { - // pull component name out of struct member - if value.Kind() != reflect.Struct { - continue - } - - if c == "*" { // pull all members - for i := 0; i < value.NumField(); i++ { - if f := reflect.Indirect(value.Field(i)); f.IsValid() { - nextvals = append(nextvals, f) - } - } - continue - } - - value = value.FieldByNameFunc(func(name string) bool { - if c == name { - return true - } else if !caseSensitive && strings.ToLower(name) == strings.ToLower(c) { - return true - } - return false - }) - - if nilTerm && value.Kind() == reflect.Ptr && len(components[1:]) == 0 { - if !value.IsNil() { - value.Set(reflect.Zero(value.Type())) - } - return []reflect.Value{value} - } - - if createPath && value.Kind() == reflect.Ptr && value.IsNil() { - // TODO if the value is the terminus it should not be created - // if the value to be set to its position is nil. - value.Set(reflect.New(value.Type().Elem())) - value = value.Elem() - } else { - value = reflect.Indirect(value) - } - - if value.Kind() == reflect.Slice || value.Kind() == reflect.Map { - if !createPath && value.IsNil() { - value = reflect.ValueOf(nil) - } - } - - if value.IsValid() { - nextvals = append(nextvals, value) - } - } - values = nextvals - - if indexStar || index != nil { - nextvals = []reflect.Value{} - for _, valItem := range values { - value := reflect.Indirect(valItem) - if value.Kind() != reflect.Slice { - continue - } - - if indexStar { // grab all indices - for i := 0; i < value.Len(); i++ { - idx := reflect.Indirect(value.Index(i)) - if idx.IsValid() { - nextvals = append(nextvals, idx) - } - } - continue - } - - // pull out index - i := int(*index) - if i >= value.Len() { // check out of bounds - if createPath { - // TODO resize slice - } else { - continue - } - } else if i < 0 { // support negative indexing - i = value.Len() + i - } - value = reflect.Indirect(value.Index(i)) - - if value.Kind() == reflect.Slice || value.Kind() == reflect.Map { - if !createPath && value.IsNil() { - value = reflect.ValueOf(nil) - } - } - - if value.IsValid() { - nextvals = append(nextvals, value) - } - } - values = nextvals - } - - components = components[1:] - } - return values -} - -// ValuesAtPath returns a list of values at the case insensitive lexical -// path inside of a structure. -func ValuesAtPath(i interface{}, path string) ([]interface{}, error) { - result, err := jmespath.Search(path, i) - if err != nil { - return nil, err - } - - v := reflect.ValueOf(result) - if !v.IsValid() || (v.Kind() == reflect.Ptr && v.IsNil()) { - return nil, nil - } - if s, ok := result.([]interface{}); ok { - return s, err - } - if v.Kind() == reflect.Map && v.Len() == 0 { - return nil, nil - } - if v.Kind() == reflect.Slice { - out := make([]interface{}, v.Len()) - for i := 0; i < v.Len(); i++ { - out[i] = v.Index(i).Interface() - } - return out, nil - } - - return []interface{}{result}, nil -} - -// SetValueAtPath sets a value at the case insensitive lexical path inside -// of a structure. -func SetValueAtPath(i interface{}, path string, v interface{}) { - if rvals := rValuesAtPath(i, path, true, false, v == nil); rvals != nil { - for _, rval := range rvals { - if rval.Kind() == reflect.Ptr && rval.IsNil() { - continue - } - setValue(rval, v) - } - } -} - -func setValue(dstVal reflect.Value, src interface{}) { - if dstVal.Kind() == reflect.Ptr { - dstVal = reflect.Indirect(dstVal) - } - srcVal := reflect.ValueOf(src) - - if !srcVal.IsValid() { // src is literal nil - if dstVal.CanAddr() { - // Convert to pointer so that pointer's value can be nil'ed - // dstVal = dstVal.Addr() - } - dstVal.Set(reflect.Zero(dstVal.Type())) - - } else if srcVal.Kind() == reflect.Ptr { - if srcVal.IsNil() { - srcVal = reflect.Zero(dstVal.Type()) - } else { - srcVal = reflect.ValueOf(src).Elem() - } - dstVal.Set(srcVal) - } else { - dstVal.Set(srcVal) - } - -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go deleted file mode 100644 index 710eb43..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go +++ /dev/null @@ -1,113 +0,0 @@ -package awsutil - -import ( - "bytes" - "fmt" - "io" - "reflect" - "strings" -) - -// Prettify returns the string representation of a value. -func Prettify(i interface{}) string { - var buf bytes.Buffer - prettify(reflect.ValueOf(i), 0, &buf) - return buf.String() -} - -// prettify will recursively walk value v to build a textual -// representation of the value. -func prettify(v reflect.Value, indent int, buf *bytes.Buffer) { - for v.Kind() == reflect.Ptr { - v = v.Elem() - } - - switch v.Kind() { - case reflect.Struct: - strtype := v.Type().String() - if strtype == "time.Time" { - fmt.Fprintf(buf, "%s", v.Interface()) - break - } else if strings.HasPrefix(strtype, "io.") { - buf.WriteString("") - break - } - - buf.WriteString("{\n") - - names := []string{} - for i := 0; i < v.Type().NumField(); i++ { - name := v.Type().Field(i).Name - f := v.Field(i) - if name[0:1] == strings.ToLower(name[0:1]) { - continue // ignore unexported fields - } - if (f.Kind() == reflect.Ptr || f.Kind() == reflect.Slice || f.Kind() == reflect.Map) && f.IsNil() { - continue // ignore unset fields - } - names = append(names, name) - } - - for i, n := range names { - val := v.FieldByName(n) - buf.WriteString(strings.Repeat(" ", indent+2)) - buf.WriteString(n + ": ") - prettify(val, indent+2, buf) - - if i < len(names)-1 { - buf.WriteString(",\n") - } - } - - buf.WriteString("\n" + strings.Repeat(" ", indent) + "}") - case reflect.Slice: - strtype := v.Type().String() - if strtype == "[]uint8" { - fmt.Fprintf(buf, " len %d", v.Len()) - break - } - - nl, id, id2 := "", "", "" - if v.Len() > 3 { - nl, id, id2 = "\n", strings.Repeat(" ", indent), strings.Repeat(" ", indent+2) - } - buf.WriteString("[" + nl) - for i := 0; i < v.Len(); i++ { - buf.WriteString(id2) - prettify(v.Index(i), indent+2, buf) - - if i < v.Len()-1 { - buf.WriteString("," + nl) - } - } - - buf.WriteString(nl + id + "]") - case reflect.Map: - buf.WriteString("{\n") - - for i, k := range v.MapKeys() { - buf.WriteString(strings.Repeat(" ", indent+2)) - buf.WriteString(k.String() + ": ") - prettify(v.MapIndex(k), indent+2, buf) - - if i < v.Len()-1 { - buf.WriteString(",\n") - } - } - - buf.WriteString("\n" + strings.Repeat(" ", indent) + "}") - default: - if !v.IsValid() { - fmt.Fprint(buf, "") - return - } - format := "%v" - switch v.Interface().(type) { - case string: - format = "%q" - case io.ReadSeeker, io.Reader: - format = "buffer(%p)" - } - fmt.Fprintf(buf, format, v.Interface()) - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go deleted file mode 100644 index 645df24..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go +++ /dev/null @@ -1,88 +0,0 @@ -package awsutil - -import ( - "bytes" - "fmt" - "reflect" - "strings" -) - -// StringValue returns the string representation of a value. -func StringValue(i interface{}) string { - var buf bytes.Buffer - stringValue(reflect.ValueOf(i), 0, &buf) - return buf.String() -} - -func stringValue(v reflect.Value, indent int, buf *bytes.Buffer) { - for v.Kind() == reflect.Ptr { - v = v.Elem() - } - - switch v.Kind() { - case reflect.Struct: - buf.WriteString("{\n") - - for i := 0; i < v.Type().NumField(); i++ { - ft := v.Type().Field(i) - fv := v.Field(i) - - if ft.Name[0:1] == strings.ToLower(ft.Name[0:1]) { - continue // ignore unexported fields - } - if (fv.Kind() == reflect.Ptr || fv.Kind() == reflect.Slice) && fv.IsNil() { - continue // ignore unset fields - } - - buf.WriteString(strings.Repeat(" ", indent+2)) - buf.WriteString(ft.Name + ": ") - - if tag := ft.Tag.Get("sensitive"); tag == "true" { - buf.WriteString("") - } else { - stringValue(fv, indent+2, buf) - } - - buf.WriteString(",\n") - } - - buf.WriteString("\n" + strings.Repeat(" ", indent) + "}") - case reflect.Slice: - nl, id, id2 := "", "", "" - if v.Len() > 3 { - nl, id, id2 = "\n", strings.Repeat(" ", indent), strings.Repeat(" ", indent+2) - } - buf.WriteString("[" + nl) - for i := 0; i < v.Len(); i++ { - buf.WriteString(id2) - stringValue(v.Index(i), indent+2, buf) - - if i < v.Len()-1 { - buf.WriteString("," + nl) - } - } - - buf.WriteString(nl + id + "]") - case reflect.Map: - buf.WriteString("{\n") - - for i, k := range v.MapKeys() { - buf.WriteString(strings.Repeat(" ", indent+2)) - buf.WriteString(k.String() + ": ") - stringValue(v.MapIndex(k), indent+2, buf) - - if i < v.Len()-1 { - buf.WriteString(",\n") - } - } - - buf.WriteString("\n" + strings.Repeat(" ", indent) + "}") - default: - format := "%v" - switch v.Interface().(type) { - case string: - format = "%q" - } - fmt.Fprintf(buf, format, v.Interface()) - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/client.go b/vendor/github.com/aws/aws-sdk-go/aws/client/client.go deleted file mode 100644 index 212fe25..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/client/client.go +++ /dev/null @@ -1,96 +0,0 @@ -package client - -import ( - "fmt" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/client/metadata" - "github.com/aws/aws-sdk-go/aws/request" -) - -// A Config provides configuration to a service client instance. -type Config struct { - Config *aws.Config - Handlers request.Handlers - Endpoint string - SigningRegion string - SigningName string - - // States that the signing name did not come from a modeled source but - // was derived based on other data. Used by service client constructors - // to determine if the signin name can be overriden based on metadata the - // service has. - SigningNameDerived bool -} - -// ConfigProvider provides a generic way for a service client to receive -// the ClientConfig without circular dependencies. -type ConfigProvider interface { - ClientConfig(serviceName string, cfgs ...*aws.Config) Config -} - -// ConfigNoResolveEndpointProvider same as ConfigProvider except it will not -// resolve the endpoint automatically. The service client's endpoint must be -// provided via the aws.Config.Endpoint field. -type ConfigNoResolveEndpointProvider interface { - ClientConfigNoResolveEndpoint(cfgs ...*aws.Config) Config -} - -// A Client implements the base client request and response handling -// used by all service clients. -type Client struct { - request.Retryer - metadata.ClientInfo - - Config aws.Config - Handlers request.Handlers -} - -// New will return a pointer to a new initialized service client. -func New(cfg aws.Config, info metadata.ClientInfo, handlers request.Handlers, options ...func(*Client)) *Client { - svc := &Client{ - Config: cfg, - ClientInfo: info, - Handlers: handlers.Copy(), - } - - switch retryer, ok := cfg.Retryer.(request.Retryer); { - case ok: - svc.Retryer = retryer - case cfg.Retryer != nil && cfg.Logger != nil: - s := fmt.Sprintf("WARNING: %T does not implement request.Retryer; using DefaultRetryer instead", cfg.Retryer) - cfg.Logger.Log(s) - fallthrough - default: - maxRetries := aws.IntValue(cfg.MaxRetries) - if cfg.MaxRetries == nil || maxRetries == aws.UseServiceDefaultRetries { - maxRetries = 3 - } - svc.Retryer = DefaultRetryer{NumMaxRetries: maxRetries} - } - - svc.AddDebugHandlers() - - for _, option := range options { - option(svc) - } - - return svc -} - -// NewRequest returns a new Request pointer for the service API -// operation and parameters. -func (c *Client) NewRequest(operation *request.Operation, params interface{}, data interface{}) *request.Request { - return request.New(c.Config, c.ClientInfo, c.Handlers, c.Retryer, operation, params, data) -} - -// AddDebugHandlers injects debug logging handlers into the service to log request -// debug information. -func (c *Client) AddDebugHandlers() { - if !c.Config.LogLevel.AtLeast(aws.LogDebug) { - return - } - - c.Handlers.Send.PushFrontNamed(LogHTTPRequestHandler) - c.Handlers.Send.PushBackNamed(LogHTTPResponseHandler) -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go deleted file mode 100644 index a397b0d..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go +++ /dev/null @@ -1,116 +0,0 @@ -package client - -import ( - "strconv" - "time" - - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/internal/sdkrand" -) - -// DefaultRetryer implements basic retry logic using exponential backoff for -// most services. If you want to implement custom retry logic, implement the -// request.Retryer interface or create a structure type that composes this -// struct and override the specific methods. For example, to override only -// the MaxRetries method: -// -// type retryer struct { -// client.DefaultRetryer -// } -// -// // This implementation always has 100 max retries -// func (d retryer) MaxRetries() int { return 100 } -type DefaultRetryer struct { - NumMaxRetries int -} - -// MaxRetries returns the number of maximum returns the service will use to make -// an individual API request. -func (d DefaultRetryer) MaxRetries() int { - return d.NumMaxRetries -} - -// RetryRules returns the delay duration before retrying this request again -func (d DefaultRetryer) RetryRules(r *request.Request) time.Duration { - // Set the upper limit of delay in retrying at ~five minutes - minTime := 30 - throttle := d.shouldThrottle(r) - if throttle { - if delay, ok := getRetryDelay(r); ok { - return delay - } - - minTime = 500 - } - - retryCount := r.RetryCount - if throttle && retryCount > 8 { - retryCount = 8 - } else if retryCount > 13 { - retryCount = 13 - } - - delay := (1 << uint(retryCount)) * (sdkrand.SeededRand.Intn(minTime) + minTime) - return time.Duration(delay) * time.Millisecond -} - -// ShouldRetry returns true if the request should be retried. -func (d DefaultRetryer) ShouldRetry(r *request.Request) bool { - // If one of the other handlers already set the retry state - // we don't want to override it based on the service's state - if r.Retryable != nil { - return *r.Retryable - } - - if r.HTTPResponse.StatusCode >= 500 && r.HTTPResponse.StatusCode != 501 { - return true - } - return r.IsErrorRetryable() || d.shouldThrottle(r) -} - -// ShouldThrottle returns true if the request should be throttled. -func (d DefaultRetryer) shouldThrottle(r *request.Request) bool { - switch r.HTTPResponse.StatusCode { - case 429: - case 502: - case 503: - case 504: - default: - return r.IsErrorThrottle() - } - - return true -} - -// This will look in the Retry-After header, RFC 7231, for how long -// it will wait before attempting another request -func getRetryDelay(r *request.Request) (time.Duration, bool) { - if !canUseRetryAfterHeader(r) { - return 0, false - } - - delayStr := r.HTTPResponse.Header.Get("Retry-After") - if len(delayStr) == 0 { - return 0, false - } - - delay, err := strconv.Atoi(delayStr) - if err != nil { - return 0, false - } - - return time.Duration(delay) * time.Second, true -} - -// Will look at the status code to see if the retry header pertains to -// the status code. -func canUseRetryAfterHeader(r *request.Request) bool { - switch r.HTTPResponse.StatusCode { - case 429: - case 503: - default: - return false - } - - return true -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go b/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go deleted file mode 100644 index ce9fb89..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go +++ /dev/null @@ -1,184 +0,0 @@ -package client - -import ( - "bytes" - "fmt" - "io" - "io/ioutil" - "net/http/httputil" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/request" -) - -const logReqMsg = `DEBUG: Request %s/%s Details: ----[ REQUEST POST-SIGN ]----------------------------- -%s ------------------------------------------------------` - -const logReqErrMsg = `DEBUG ERROR: Request %s/%s: ----[ REQUEST DUMP ERROR ]----------------------------- -%s -------------------------------------------------------` - -type logWriter struct { - // Logger is what we will use to log the payload of a response. - Logger aws.Logger - // buf stores the contents of what has been read - buf *bytes.Buffer -} - -func (logger *logWriter) Write(b []byte) (int, error) { - return logger.buf.Write(b) -} - -type teeReaderCloser struct { - // io.Reader will be a tee reader that is used during logging. - // This structure will read from a body and write the contents to a logger. - io.Reader - // Source is used just to close when we are done reading. - Source io.ReadCloser -} - -func (reader *teeReaderCloser) Close() error { - return reader.Source.Close() -} - -// LogHTTPRequestHandler is a SDK request handler to log the HTTP request sent -// to a service. Will include the HTTP request body if the LogLevel of the -// request matches LogDebugWithHTTPBody. -var LogHTTPRequestHandler = request.NamedHandler{ - Name: "awssdk.client.LogRequest", - Fn: logRequest, -} - -func logRequest(r *request.Request) { - logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody) - bodySeekable := aws.IsReaderSeekable(r.Body) - - b, err := httputil.DumpRequestOut(r.HTTPRequest, logBody) - if err != nil { - r.Config.Logger.Log(fmt.Sprintf(logReqErrMsg, - r.ClientInfo.ServiceName, r.Operation.Name, err)) - return - } - - if logBody { - if !bodySeekable { - r.SetReaderBody(aws.ReadSeekCloser(r.HTTPRequest.Body)) - } - // Reset the request body because dumpRequest will re-wrap the r.HTTPRequest's - // Body as a NoOpCloser and will not be reset after read by the HTTP - // client reader. - r.ResetBody() - } - - r.Config.Logger.Log(fmt.Sprintf(logReqMsg, - r.ClientInfo.ServiceName, r.Operation.Name, string(b))) -} - -// LogHTTPRequestHeaderHandler is a SDK request handler to log the HTTP request sent -// to a service. Will only log the HTTP request's headers. The request payload -// will not be read. -var LogHTTPRequestHeaderHandler = request.NamedHandler{ - Name: "awssdk.client.LogRequestHeader", - Fn: logRequestHeader, -} - -func logRequestHeader(r *request.Request) { - b, err := httputil.DumpRequestOut(r.HTTPRequest, false) - if err != nil { - r.Config.Logger.Log(fmt.Sprintf(logReqErrMsg, - r.ClientInfo.ServiceName, r.Operation.Name, err)) - return - } - - r.Config.Logger.Log(fmt.Sprintf(logReqMsg, - r.ClientInfo.ServiceName, r.Operation.Name, string(b))) -} - -const logRespMsg = `DEBUG: Response %s/%s Details: ----[ RESPONSE ]-------------------------------------- -%s ------------------------------------------------------` - -const logRespErrMsg = `DEBUG ERROR: Response %s/%s: ----[ RESPONSE DUMP ERROR ]----------------------------- -%s ------------------------------------------------------` - -// LogHTTPResponseHandler is a SDK request handler to log the HTTP response -// received from a service. Will include the HTTP response body if the LogLevel -// of the request matches LogDebugWithHTTPBody. -var LogHTTPResponseHandler = request.NamedHandler{ - Name: "awssdk.client.LogResponse", - Fn: logResponse, -} - -func logResponse(r *request.Request) { - lw := &logWriter{r.Config.Logger, bytes.NewBuffer(nil)} - - logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody) - if logBody { - r.HTTPResponse.Body = &teeReaderCloser{ - Reader: io.TeeReader(r.HTTPResponse.Body, lw), - Source: r.HTTPResponse.Body, - } - } - - handlerFn := func(req *request.Request) { - b, err := httputil.DumpResponse(req.HTTPResponse, false) - if err != nil { - lw.Logger.Log(fmt.Sprintf(logRespErrMsg, - req.ClientInfo.ServiceName, req.Operation.Name, err)) - return - } - - lw.Logger.Log(fmt.Sprintf(logRespMsg, - req.ClientInfo.ServiceName, req.Operation.Name, string(b))) - - if logBody { - b, err := ioutil.ReadAll(lw.buf) - if err != nil { - lw.Logger.Log(fmt.Sprintf(logRespErrMsg, - req.ClientInfo.ServiceName, req.Operation.Name, err)) - return - } - - lw.Logger.Log(string(b)) - } - } - - const handlerName = "awsdk.client.LogResponse.ResponseBody" - - r.Handlers.Unmarshal.SetBackNamed(request.NamedHandler{ - Name: handlerName, Fn: handlerFn, - }) - r.Handlers.UnmarshalError.SetBackNamed(request.NamedHandler{ - Name: handlerName, Fn: handlerFn, - }) -} - -// LogHTTPResponseHeaderHandler is a SDK request handler to log the HTTP -// response received from a service. Will only log the HTTP response's headers. -// The response payload will not be read. -var LogHTTPResponseHeaderHandler = request.NamedHandler{ - Name: "awssdk.client.LogResponseHeader", - Fn: logResponseHeader, -} - -func logResponseHeader(r *request.Request) { - if r.Config.Logger == nil { - return - } - - b, err := httputil.DumpResponse(r.HTTPResponse, false) - if err != nil { - r.Config.Logger.Log(fmt.Sprintf(logRespErrMsg, - r.ClientInfo.ServiceName, r.Operation.Name, err)) - return - } - - r.Config.Logger.Log(fmt.Sprintf(logRespMsg, - r.ClientInfo.ServiceName, r.Operation.Name, string(b))) -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go b/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go deleted file mode 100644 index 920e9fd..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go +++ /dev/null @@ -1,13 +0,0 @@ -package metadata - -// ClientInfo wraps immutable data from the client.Client structure. -type ClientInfo struct { - ServiceName string - ServiceID string - APIVersion string - Endpoint string - SigningName string - SigningRegion string - JSONVersion string - TargetPrefix string -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/config.go b/vendor/github.com/aws/aws-sdk-go/aws/config.go deleted file mode 100644 index 10634d1..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/config.go +++ /dev/null @@ -1,536 +0,0 @@ -package aws - -import ( - "net/http" - "time" - - "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/endpoints" -) - -// UseServiceDefaultRetries instructs the config to use the service's own -// default number of retries. This will be the default action if -// Config.MaxRetries is nil also. -const UseServiceDefaultRetries = -1 - -// RequestRetryer is an alias for a type that implements the request.Retryer -// interface. -type RequestRetryer interface{} - -// A Config provides service configuration for service clients. By default, -// all clients will use the defaults.DefaultConfig structure. -// -// // Create Session with MaxRetry configuration to be shared by multiple -// // service clients. -// sess := session.Must(session.NewSession(&aws.Config{ -// MaxRetries: aws.Int(3), -// })) -// -// // Create S3 service client with a specific Region. -// svc := s3.New(sess, &aws.Config{ -// Region: aws.String("us-west-2"), -// }) -type Config struct { - // Enables verbose error printing of all credential chain errors. - // Should be used when wanting to see all errors while attempting to - // retrieve credentials. - CredentialsChainVerboseErrors *bool - - // The credentials object to use when signing requests. Defaults to a - // chain of credential providers to search for credentials in environment - // variables, shared credential file, and EC2 Instance Roles. - Credentials *credentials.Credentials - - // An optional endpoint URL (hostname only or fully qualified URI) - // that overrides the default generated endpoint for a client. Set this - // to `""` to use the default generated endpoint. - // - // Note: You must still provide a `Region` value when specifying an - // endpoint for a client. - Endpoint *string - - // The resolver to use for looking up endpoints for AWS service clients - // to use based on region. - EndpointResolver endpoints.Resolver - - // EnforceShouldRetryCheck is used in the AfterRetryHandler to always call - // ShouldRetry regardless of whether or not if request.Retryable is set. - // This will utilize ShouldRetry method of custom retryers. If EnforceShouldRetryCheck - // is not set, then ShouldRetry will only be called if request.Retryable is nil. - // Proper handling of the request.Retryable field is important when setting this field. - EnforceShouldRetryCheck *bool - - // The region to send requests to. This parameter is required and must - // be configured globally or on a per-client basis unless otherwise - // noted. A full list of regions is found in the "Regions and Endpoints" - // document. - // - // See http://docs.aws.amazon.com/general/latest/gr/rande.html for AWS - // Regions and Endpoints. - Region *string - - // Set this to `true` to disable SSL when sending requests. Defaults - // to `false`. - DisableSSL *bool - - // The HTTP client to use when sending requests. Defaults to - // `http.DefaultClient`. - HTTPClient *http.Client - - // An integer value representing the logging level. The default log level - // is zero (LogOff), which represents no logging. To enable logging set - // to a LogLevel Value. - LogLevel *LogLevelType - - // The logger writer interface to write logging messages to. Defaults to - // standard out. - Logger Logger - - // The maximum number of times that a request will be retried for failures. - // Defaults to -1, which defers the max retry setting to the service - // specific configuration. - MaxRetries *int - - // Retryer guides how HTTP requests should be retried in case of - // recoverable failures. - // - // When nil or the value does not implement the request.Retryer interface, - // the client.DefaultRetryer will be used. - // - // When both Retryer and MaxRetries are non-nil, the former is used and - // the latter ignored. - // - // To set the Retryer field in a type-safe manner and with chaining, use - // the request.WithRetryer helper function: - // - // cfg := request.WithRetryer(aws.NewConfig(), myRetryer) - // - Retryer RequestRetryer - - // Disables semantic parameter validation, which validates input for - // missing required fields and/or other semantic request input errors. - DisableParamValidation *bool - - // Disables the computation of request and response checksums, e.g., - // CRC32 checksums in Amazon DynamoDB. - DisableComputeChecksums *bool - - // Set this to `true` to force the request to use path-style addressing, - // i.e., `http://s3.amazonaws.com/BUCKET/KEY`. By default, the S3 client - // will use virtual hosted bucket addressing when possible - // (`http://BUCKET.s3.amazonaws.com/KEY`). - // - // Note: This configuration option is specific to the Amazon S3 service. - // - // See http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html - // for Amazon S3: Virtual Hosting of Buckets - S3ForcePathStyle *bool - - // Set this to `true` to disable the SDK adding the `Expect: 100-Continue` - // header to PUT requests over 2MB of content. 100-Continue instructs the - // HTTP client not to send the body until the service responds with a - // `continue` status. This is useful to prevent sending the request body - // until after the request is authenticated, and validated. - // - // http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html - // - // 100-Continue is only enabled for Go 1.6 and above. See `http.Transport`'s - // `ExpectContinueTimeout` for information on adjusting the continue wait - // timeout. https://golang.org/pkg/net/http/#Transport - // - // You should use this flag to disble 100-Continue if you experience issues - // with proxies or third party S3 compatible services. - S3Disable100Continue *bool - - // Set this to `true` to enable S3 Accelerate feature. For all operations - // compatible with S3 Accelerate will use the accelerate endpoint for - // requests. Requests not compatible will fall back to normal S3 requests. - // - // The bucket must be enable for accelerate to be used with S3 client with - // accelerate enabled. If the bucket is not enabled for accelerate an error - // will be returned. The bucket name must be DNS compatible to also work - // with accelerate. - S3UseAccelerate *bool - - // S3DisableContentMD5Validation config option is temporarily disabled, - // For S3 GetObject API calls, #1837. - // - // Set this to `true` to disable the S3 service client from automatically - // adding the ContentMD5 to S3 Object Put and Upload API calls. This option - // will also disable the SDK from performing object ContentMD5 validation - // on GetObject API calls. - S3DisableContentMD5Validation *bool - - // Set this to `true` to disable the EC2Metadata client from overriding the - // default http.Client's Timeout. This is helpful if you do not want the - // EC2Metadata client to create a new http.Client. This options is only - // meaningful if you're not already using a custom HTTP client with the - // SDK. Enabled by default. - // - // Must be set and provided to the session.NewSession() in order to disable - // the EC2Metadata overriding the timeout for default credentials chain. - // - // Example: - // sess := session.Must(session.NewSession(aws.NewConfig() - // .WithEC2MetadataDiableTimeoutOverride(true))) - // - // svc := s3.New(sess) - // - EC2MetadataDisableTimeoutOverride *bool - - // Instructs the endpoint to be generated for a service client to - // be the dual stack endpoint. The dual stack endpoint will support - // both IPv4 and IPv6 addressing. - // - // Setting this for a service which does not support dual stack will fail - // to make requets. It is not recommended to set this value on the session - // as it will apply to all service clients created with the session. Even - // services which don't support dual stack endpoints. - // - // If the Endpoint config value is also provided the UseDualStack flag - // will be ignored. - // - // Only supported with. - // - // sess := session.Must(session.NewSession()) - // - // svc := s3.New(sess, &aws.Config{ - // UseDualStack: aws.Bool(true), - // }) - UseDualStack *bool - - // SleepDelay is an override for the func the SDK will call when sleeping - // during the lifecycle of a request. Specifically this will be used for - // request delays. This value should only be used for testing. To adjust - // the delay of a request see the aws/client.DefaultRetryer and - // aws/request.Retryer. - // - // SleepDelay will prevent any Context from being used for canceling retry - // delay of an API operation. It is recommended to not use SleepDelay at all - // and specify a Retryer instead. - SleepDelay func(time.Duration) - - // DisableRestProtocolURICleaning will not clean the URL path when making rest protocol requests. - // Will default to false. This would only be used for empty directory names in s3 requests. - // - // Example: - // sess := session.Must(session.NewSession(&aws.Config{ - // DisableRestProtocolURICleaning: aws.Bool(true), - // })) - // - // svc := s3.New(sess) - // out, err := svc.GetObject(&s3.GetObjectInput { - // Bucket: aws.String("bucketname"), - // Key: aws.String("//foo//bar//moo"), - // }) - DisableRestProtocolURICleaning *bool - - // EnableEndpointDiscovery will allow for endpoint discovery on operations that - // have the definition in its model. By default, endpoint discovery is off. - // - // Example: - // sess := session.Must(session.NewSession(&aws.Config{ - // EnableEndpointDiscovery: aws.Bool(true), - // })) - // - // svc := s3.New(sess) - // out, err := svc.GetObject(&s3.GetObjectInput { - // Bucket: aws.String("bucketname"), - // Key: aws.String("/foo/bar/moo"), - // }) - EnableEndpointDiscovery *bool - - // DisableEndpointHostPrefix will disable the SDK's behavior of prefixing - // request endpoint hosts with modeled information. - // - // Disabling this feature is useful when you want to use local endpoints - // for testing that do not support the modeled host prefix pattern. - DisableEndpointHostPrefix *bool -} - -// NewConfig returns a new Config pointer that can be chained with builder -// methods to set multiple configuration values inline without using pointers. -// -// // Create Session with MaxRetry configuration to be shared by multiple -// // service clients. -// sess := session.Must(session.NewSession(aws.NewConfig(). -// WithMaxRetries(3), -// )) -// -// // Create S3 service client with a specific Region. -// svc := s3.New(sess, aws.NewConfig(). -// WithRegion("us-west-2"), -// ) -func NewConfig() *Config { - return &Config{} -} - -// WithCredentialsChainVerboseErrors sets a config verbose errors boolean and returning -// a Config pointer. -func (c *Config) WithCredentialsChainVerboseErrors(verboseErrs bool) *Config { - c.CredentialsChainVerboseErrors = &verboseErrs - return c -} - -// WithCredentials sets a config Credentials value returning a Config pointer -// for chaining. -func (c *Config) WithCredentials(creds *credentials.Credentials) *Config { - c.Credentials = creds - return c -} - -// WithEndpoint sets a config Endpoint value returning a Config pointer for -// chaining. -func (c *Config) WithEndpoint(endpoint string) *Config { - c.Endpoint = &endpoint - return c -} - -// WithEndpointResolver sets a config EndpointResolver value returning a -// Config pointer for chaining. -func (c *Config) WithEndpointResolver(resolver endpoints.Resolver) *Config { - c.EndpointResolver = resolver - return c -} - -// WithRegion sets a config Region value returning a Config pointer for -// chaining. -func (c *Config) WithRegion(region string) *Config { - c.Region = ®ion - return c -} - -// WithDisableSSL sets a config DisableSSL value returning a Config pointer -// for chaining. -func (c *Config) WithDisableSSL(disable bool) *Config { - c.DisableSSL = &disable - return c -} - -// WithHTTPClient sets a config HTTPClient value returning a Config pointer -// for chaining. -func (c *Config) WithHTTPClient(client *http.Client) *Config { - c.HTTPClient = client - return c -} - -// WithMaxRetries sets a config MaxRetries value returning a Config pointer -// for chaining. -func (c *Config) WithMaxRetries(max int) *Config { - c.MaxRetries = &max - return c -} - -// WithDisableParamValidation sets a config DisableParamValidation value -// returning a Config pointer for chaining. -func (c *Config) WithDisableParamValidation(disable bool) *Config { - c.DisableParamValidation = &disable - return c -} - -// WithDisableComputeChecksums sets a config DisableComputeChecksums value -// returning a Config pointer for chaining. -func (c *Config) WithDisableComputeChecksums(disable bool) *Config { - c.DisableComputeChecksums = &disable - return c -} - -// WithLogLevel sets a config LogLevel value returning a Config pointer for -// chaining. -func (c *Config) WithLogLevel(level LogLevelType) *Config { - c.LogLevel = &level - return c -} - -// WithLogger sets a config Logger value returning a Config pointer for -// chaining. -func (c *Config) WithLogger(logger Logger) *Config { - c.Logger = logger - return c -} - -// WithS3ForcePathStyle sets a config S3ForcePathStyle value returning a Config -// pointer for chaining. -func (c *Config) WithS3ForcePathStyle(force bool) *Config { - c.S3ForcePathStyle = &force - return c -} - -// WithS3Disable100Continue sets a config S3Disable100Continue value returning -// a Config pointer for chaining. -func (c *Config) WithS3Disable100Continue(disable bool) *Config { - c.S3Disable100Continue = &disable - return c -} - -// WithS3UseAccelerate sets a config S3UseAccelerate value returning a Config -// pointer for chaining. -func (c *Config) WithS3UseAccelerate(enable bool) *Config { - c.S3UseAccelerate = &enable - return c - -} - -// WithS3DisableContentMD5Validation sets a config -// S3DisableContentMD5Validation value returning a Config pointer for chaining. -func (c *Config) WithS3DisableContentMD5Validation(enable bool) *Config { - c.S3DisableContentMD5Validation = &enable - return c - -} - -// WithUseDualStack sets a config UseDualStack value returning a Config -// pointer for chaining. -func (c *Config) WithUseDualStack(enable bool) *Config { - c.UseDualStack = &enable - return c -} - -// WithEC2MetadataDisableTimeoutOverride sets a config EC2MetadataDisableTimeoutOverride value -// returning a Config pointer for chaining. -func (c *Config) WithEC2MetadataDisableTimeoutOverride(enable bool) *Config { - c.EC2MetadataDisableTimeoutOverride = &enable - return c -} - -// WithSleepDelay overrides the function used to sleep while waiting for the -// next retry. Defaults to time.Sleep. -func (c *Config) WithSleepDelay(fn func(time.Duration)) *Config { - c.SleepDelay = fn - return c -} - -// WithEndpointDiscovery will set whether or not to use endpoint discovery. -func (c *Config) WithEndpointDiscovery(t bool) *Config { - c.EnableEndpointDiscovery = &t - return c -} - -// WithDisableEndpointHostPrefix will set whether or not to use modeled host prefix -// when making requests. -func (c *Config) WithDisableEndpointHostPrefix(t bool) *Config { - c.DisableEndpointHostPrefix = &t - return c -} - -// MergeIn merges the passed in configs into the existing config object. -func (c *Config) MergeIn(cfgs ...*Config) { - for _, other := range cfgs { - mergeInConfig(c, other) - } -} - -func mergeInConfig(dst *Config, other *Config) { - if other == nil { - return - } - - if other.CredentialsChainVerboseErrors != nil { - dst.CredentialsChainVerboseErrors = other.CredentialsChainVerboseErrors - } - - if other.Credentials != nil { - dst.Credentials = other.Credentials - } - - if other.Endpoint != nil { - dst.Endpoint = other.Endpoint - } - - if other.EndpointResolver != nil { - dst.EndpointResolver = other.EndpointResolver - } - - if other.Region != nil { - dst.Region = other.Region - } - - if other.DisableSSL != nil { - dst.DisableSSL = other.DisableSSL - } - - if other.HTTPClient != nil { - dst.HTTPClient = other.HTTPClient - } - - if other.LogLevel != nil { - dst.LogLevel = other.LogLevel - } - - if other.Logger != nil { - dst.Logger = other.Logger - } - - if other.MaxRetries != nil { - dst.MaxRetries = other.MaxRetries - } - - if other.Retryer != nil { - dst.Retryer = other.Retryer - } - - if other.DisableParamValidation != nil { - dst.DisableParamValidation = other.DisableParamValidation - } - - if other.DisableComputeChecksums != nil { - dst.DisableComputeChecksums = other.DisableComputeChecksums - } - - if other.S3ForcePathStyle != nil { - dst.S3ForcePathStyle = other.S3ForcePathStyle - } - - if other.S3Disable100Continue != nil { - dst.S3Disable100Continue = other.S3Disable100Continue - } - - if other.S3UseAccelerate != nil { - dst.S3UseAccelerate = other.S3UseAccelerate - } - - if other.S3DisableContentMD5Validation != nil { - dst.S3DisableContentMD5Validation = other.S3DisableContentMD5Validation - } - - if other.UseDualStack != nil { - dst.UseDualStack = other.UseDualStack - } - - if other.EC2MetadataDisableTimeoutOverride != nil { - dst.EC2MetadataDisableTimeoutOverride = other.EC2MetadataDisableTimeoutOverride - } - - if other.SleepDelay != nil { - dst.SleepDelay = other.SleepDelay - } - - if other.DisableRestProtocolURICleaning != nil { - dst.DisableRestProtocolURICleaning = other.DisableRestProtocolURICleaning - } - - if other.EnforceShouldRetryCheck != nil { - dst.EnforceShouldRetryCheck = other.EnforceShouldRetryCheck - } - - if other.EnableEndpointDiscovery != nil { - dst.EnableEndpointDiscovery = other.EnableEndpointDiscovery - } - - if other.DisableEndpointHostPrefix != nil { - dst.DisableEndpointHostPrefix = other.DisableEndpointHostPrefix - } -} - -// Copy will return a shallow copy of the Config object. If any additional -// configurations are provided they will be merged into the new config returned. -func (c *Config) Copy(cfgs ...*Config) *Config { - dst := &Config{} - dst.MergeIn(c) - - for _, cfg := range cfgs { - dst.MergeIn(cfg) - } - - return dst -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context.go b/vendor/github.com/aws/aws-sdk-go/aws/context.go deleted file mode 100644 index 79f4268..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/context.go +++ /dev/null @@ -1,71 +0,0 @@ -package aws - -import ( - "time" -) - -// Context is an copy of the Go v1.7 stdlib's context.Context interface. -// It is represented as a SDK interface to enable you to use the "WithContext" -// API methods with Go v1.6 and a Context type such as golang.org/x/net/context. -// -// See https://golang.org/pkg/context on how to use contexts. -type Context interface { - // Deadline returns the time when work done on behalf of this context - // should be canceled. Deadline returns ok==false when no deadline is - // set. Successive calls to Deadline return the same results. - Deadline() (deadline time.Time, ok bool) - - // Done returns a channel that's closed when work done on behalf of this - // context should be canceled. Done may return nil if this context can - // never be canceled. Successive calls to Done return the same value. - Done() <-chan struct{} - - // Err returns a non-nil error value after Done is closed. Err returns - // Canceled if the context was canceled or DeadlineExceeded if the - // context's deadline passed. No other values for Err are defined. - // After Done is closed, successive calls to Err return the same value. - Err() error - - // Value returns the value associated with this context for key, or nil - // if no value is associated with key. Successive calls to Value with - // the same key returns the same result. - // - // Use context values only for request-scoped data that transits - // processes and API boundaries, not for passing optional parameters to - // functions. - Value(key interface{}) interface{} -} - -// BackgroundContext returns a context that will never be canceled, has no -// values, and no deadline. This context is used by the SDK to provide -// backwards compatibility with non-context API operations and functionality. -// -// Go 1.6 and before: -// This context function is equivalent to context.Background in the Go stdlib. -// -// Go 1.7 and later: -// The context returned will be the value returned by context.Background() -// -// See https://golang.org/pkg/context for more information on Contexts. -func BackgroundContext() Context { - return backgroundCtx -} - -// SleepWithContext will wait for the timer duration to expire, or the context -// is canceled. Which ever happens first. If the context is canceled the Context's -// error will be returned. -// -// Expects Context to always return a non-nil error if the Done channel is closed. -func SleepWithContext(ctx Context, dur time.Duration) error { - t := time.NewTimer(dur) - defer t.Stop() - - select { - case <-t.C: - break - case <-ctx.Done(): - return ctx.Err() - } - - return nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go b/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go deleted file mode 100644 index 8fdda53..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go +++ /dev/null @@ -1,41 +0,0 @@ -// +build !go1.7 - -package aws - -import "time" - -// An emptyCtx is a copy of the Go 1.7 context.emptyCtx type. This is copied to -// provide a 1.6 and 1.5 safe version of context that is compatible with Go -// 1.7's Context. -// -// An emptyCtx is never canceled, has no values, and has no deadline. It is not -// struct{}, since vars of this type must have distinct addresses. -type emptyCtx int - -func (*emptyCtx) Deadline() (deadline time.Time, ok bool) { - return -} - -func (*emptyCtx) Done() <-chan struct{} { - return nil -} - -func (*emptyCtx) Err() error { - return nil -} - -func (*emptyCtx) Value(key interface{}) interface{} { - return nil -} - -func (e *emptyCtx) String() string { - switch e { - case backgroundCtx: - return "aws.BackgroundContext" - } - return "unknown empty Context" -} - -var ( - backgroundCtx = new(emptyCtx) -) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go b/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go deleted file mode 100644 index 064f75c..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go +++ /dev/null @@ -1,9 +0,0 @@ -// +build go1.7 - -package aws - -import "context" - -var ( - backgroundCtx = context.Background() -) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go b/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go deleted file mode 100644 index ff5d58e..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go +++ /dev/null @@ -1,387 +0,0 @@ -package aws - -import "time" - -// String returns a pointer to the string value passed in. -func String(v string) *string { - return &v -} - -// StringValue returns the value of the string pointer passed in or -// "" if the pointer is nil. -func StringValue(v *string) string { - if v != nil { - return *v - } - return "" -} - -// StringSlice converts a slice of string values into a slice of -// string pointers -func StringSlice(src []string) []*string { - dst := make([]*string, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// StringValueSlice converts a slice of string pointers into a slice of -// string values -func StringValueSlice(src []*string) []string { - dst := make([]string, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// StringMap converts a string map of string values into a string -// map of string pointers -func StringMap(src map[string]string) map[string]*string { - dst := make(map[string]*string) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// StringValueMap converts a string map of string pointers into a string -// map of string values -func StringValueMap(src map[string]*string) map[string]string { - dst := make(map[string]string) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Bool returns a pointer to the bool value passed in. -func Bool(v bool) *bool { - return &v -} - -// BoolValue returns the value of the bool pointer passed in or -// false if the pointer is nil. -func BoolValue(v *bool) bool { - if v != nil { - return *v - } - return false -} - -// BoolSlice converts a slice of bool values into a slice of -// bool pointers -func BoolSlice(src []bool) []*bool { - dst := make([]*bool, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// BoolValueSlice converts a slice of bool pointers into a slice of -// bool values -func BoolValueSlice(src []*bool) []bool { - dst := make([]bool, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// BoolMap converts a string map of bool values into a string -// map of bool pointers -func BoolMap(src map[string]bool) map[string]*bool { - dst := make(map[string]*bool) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// BoolValueMap converts a string map of bool pointers into a string -// map of bool values -func BoolValueMap(src map[string]*bool) map[string]bool { - dst := make(map[string]bool) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Int returns a pointer to the int value passed in. -func Int(v int) *int { - return &v -} - -// IntValue returns the value of the int pointer passed in or -// 0 if the pointer is nil. -func IntValue(v *int) int { - if v != nil { - return *v - } - return 0 -} - -// IntSlice converts a slice of int values into a slice of -// int pointers -func IntSlice(src []int) []*int { - dst := make([]*int, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// IntValueSlice converts a slice of int pointers into a slice of -// int values -func IntValueSlice(src []*int) []int { - dst := make([]int, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// IntMap converts a string map of int values into a string -// map of int pointers -func IntMap(src map[string]int) map[string]*int { - dst := make(map[string]*int) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// IntValueMap converts a string map of int pointers into a string -// map of int values -func IntValueMap(src map[string]*int) map[string]int { - dst := make(map[string]int) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Int64 returns a pointer to the int64 value passed in. -func Int64(v int64) *int64 { - return &v -} - -// Int64Value returns the value of the int64 pointer passed in or -// 0 if the pointer is nil. -func Int64Value(v *int64) int64 { - if v != nil { - return *v - } - return 0 -} - -// Int64Slice converts a slice of int64 values into a slice of -// int64 pointers -func Int64Slice(src []int64) []*int64 { - dst := make([]*int64, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// Int64ValueSlice converts a slice of int64 pointers into a slice of -// int64 values -func Int64ValueSlice(src []*int64) []int64 { - dst := make([]int64, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// Int64Map converts a string map of int64 values into a string -// map of int64 pointers -func Int64Map(src map[string]int64) map[string]*int64 { - dst := make(map[string]*int64) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// Int64ValueMap converts a string map of int64 pointers into a string -// map of int64 values -func Int64ValueMap(src map[string]*int64) map[string]int64 { - dst := make(map[string]int64) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Float64 returns a pointer to the float64 value passed in. -func Float64(v float64) *float64 { - return &v -} - -// Float64Value returns the value of the float64 pointer passed in or -// 0 if the pointer is nil. -func Float64Value(v *float64) float64 { - if v != nil { - return *v - } - return 0 -} - -// Float64Slice converts a slice of float64 values into a slice of -// float64 pointers -func Float64Slice(src []float64) []*float64 { - dst := make([]*float64, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// Float64ValueSlice converts a slice of float64 pointers into a slice of -// float64 values -func Float64ValueSlice(src []*float64) []float64 { - dst := make([]float64, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// Float64Map converts a string map of float64 values into a string -// map of float64 pointers -func Float64Map(src map[string]float64) map[string]*float64 { - dst := make(map[string]*float64) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// Float64ValueMap converts a string map of float64 pointers into a string -// map of float64 values -func Float64ValueMap(src map[string]*float64) map[string]float64 { - dst := make(map[string]float64) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} - -// Time returns a pointer to the time.Time value passed in. -func Time(v time.Time) *time.Time { - return &v -} - -// TimeValue returns the value of the time.Time pointer passed in or -// time.Time{} if the pointer is nil. -func TimeValue(v *time.Time) time.Time { - if v != nil { - return *v - } - return time.Time{} -} - -// SecondsTimeValue converts an int64 pointer to a time.Time value -// representing seconds since Epoch or time.Time{} if the pointer is nil. -func SecondsTimeValue(v *int64) time.Time { - if v != nil { - return time.Unix((*v / 1000), 0) - } - return time.Time{} -} - -// MillisecondsTimeValue converts an int64 pointer to a time.Time value -// representing milliseconds sinch Epoch or time.Time{} if the pointer is nil. -func MillisecondsTimeValue(v *int64) time.Time { - if v != nil { - return time.Unix(0, (*v * 1000000)) - } - return time.Time{} -} - -// TimeUnixMilli returns a Unix timestamp in milliseconds from "January 1, 1970 UTC". -// The result is undefined if the Unix time cannot be represented by an int64. -// Which includes calling TimeUnixMilli on a zero Time is undefined. -// -// This utility is useful for service API's such as CloudWatch Logs which require -// their unix time values to be in milliseconds. -// -// See Go stdlib https://golang.org/pkg/time/#Time.UnixNano for more information. -func TimeUnixMilli(t time.Time) int64 { - return t.UnixNano() / int64(time.Millisecond/time.Nanosecond) -} - -// TimeSlice converts a slice of time.Time values into a slice of -// time.Time pointers -func TimeSlice(src []time.Time) []*time.Time { - dst := make([]*time.Time, len(src)) - for i := 0; i < len(src); i++ { - dst[i] = &(src[i]) - } - return dst -} - -// TimeValueSlice converts a slice of time.Time pointers into a slice of -// time.Time values -func TimeValueSlice(src []*time.Time) []time.Time { - dst := make([]time.Time, len(src)) - for i := 0; i < len(src); i++ { - if src[i] != nil { - dst[i] = *(src[i]) - } - } - return dst -} - -// TimeMap converts a string map of time.Time values into a string -// map of time.Time pointers -func TimeMap(src map[string]time.Time) map[string]*time.Time { - dst := make(map[string]*time.Time) - for k, val := range src { - v := val - dst[k] = &v - } - return dst -} - -// TimeValueMap converts a string map of time.Time pointers into a string -// map of time.Time values -func TimeValueMap(src map[string]*time.Time) map[string]time.Time { - dst := make(map[string]time.Time) - for k, val := range src { - if val != nil { - dst[k] = *val - } - } - return dst -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go deleted file mode 100644 index f8853d7..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go +++ /dev/null @@ -1,228 +0,0 @@ -package corehandlers - -import ( - "bytes" - "fmt" - "io/ioutil" - "net/http" - "net/url" - "regexp" - "strconv" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/request" -) - -// Interface for matching types which also have a Len method. -type lener interface { - Len() int -} - -// BuildContentLengthHandler builds the content length of a request based on the body, -// or will use the HTTPRequest.Header's "Content-Length" if defined. If unable -// to determine request body length and no "Content-Length" was specified it will panic. -// -// The Content-Length will only be added to the request if the length of the body -// is greater than 0. If the body is empty or the current `Content-Length` -// header is <= 0, the header will also be stripped. -var BuildContentLengthHandler = request.NamedHandler{Name: "core.BuildContentLengthHandler", Fn: func(r *request.Request) { - var length int64 - - if slength := r.HTTPRequest.Header.Get("Content-Length"); slength != "" { - length, _ = strconv.ParseInt(slength, 10, 64) - } else { - if r.Body != nil { - var err error - length, err = aws.SeekerLen(r.Body) - if err != nil { - r.Error = awserr.New(request.ErrCodeSerialization, "failed to get request body's length", err) - return - } - } - } - - if length > 0 { - r.HTTPRequest.ContentLength = length - r.HTTPRequest.Header.Set("Content-Length", fmt.Sprintf("%d", length)) - } else { - r.HTTPRequest.ContentLength = 0 - r.HTTPRequest.Header.Del("Content-Length") - } -}} - -var reStatusCode = regexp.MustCompile(`^(\d{3})`) - -// ValidateReqSigHandler is a request handler to ensure that the request's -// signature doesn't expire before it is sent. This can happen when a request -// is built and signed significantly before it is sent. Or significant delays -// occur when retrying requests that would cause the signature to expire. -var ValidateReqSigHandler = request.NamedHandler{ - Name: "core.ValidateReqSigHandler", - Fn: func(r *request.Request) { - // Unsigned requests are not signed - if r.Config.Credentials == credentials.AnonymousCredentials { - return - } - - signedTime := r.Time - if !r.LastSignedAt.IsZero() { - signedTime = r.LastSignedAt - } - - // 5 minutes to allow for some clock skew/delays in transmission. - // Would be improved with aws/aws-sdk-go#423 - if signedTime.Add(5 * time.Minute).After(time.Now()) { - return - } - - fmt.Println("request expired, resigning") - r.Sign() - }, -} - -// SendHandler is a request handler to send service request using HTTP client. -var SendHandler = request.NamedHandler{ - Name: "core.SendHandler", - Fn: func(r *request.Request) { - sender := sendFollowRedirects - if r.DisableFollowRedirects { - sender = sendWithoutFollowRedirects - } - - if request.NoBody == r.HTTPRequest.Body { - // Strip off the request body if the NoBody reader was used as a - // place holder for a request body. This prevents the SDK from - // making requests with a request body when it would be invalid - // to do so. - // - // Use a shallow copy of the http.Request to ensure the race condition - // of transport on Body will not trigger - reqOrig, reqCopy := r.HTTPRequest, *r.HTTPRequest - reqCopy.Body = nil - r.HTTPRequest = &reqCopy - defer func() { - r.HTTPRequest = reqOrig - }() - } - - var err error - r.HTTPResponse, err = sender(r) - if err != nil { - handleSendError(r, err) - } - }, -} - -func sendFollowRedirects(r *request.Request) (*http.Response, error) { - return r.Config.HTTPClient.Do(r.HTTPRequest) -} - -func sendWithoutFollowRedirects(r *request.Request) (*http.Response, error) { - transport := r.Config.HTTPClient.Transport - if transport == nil { - transport = http.DefaultTransport - } - - return transport.RoundTrip(r.HTTPRequest) -} - -func handleSendError(r *request.Request, err error) { - // Prevent leaking if an HTTPResponse was returned. Clean up - // the body. - if r.HTTPResponse != nil { - r.HTTPResponse.Body.Close() - } - // Capture the case where url.Error is returned for error processing - // response. e.g. 301 without location header comes back as string - // error and r.HTTPResponse is nil. Other URL redirect errors will - // comeback in a similar method. - if e, ok := err.(*url.Error); ok && e.Err != nil { - if s := reStatusCode.FindStringSubmatch(e.Err.Error()); s != nil { - code, _ := strconv.ParseInt(s[1], 10, 64) - r.HTTPResponse = &http.Response{ - StatusCode: int(code), - Status: http.StatusText(int(code)), - Body: ioutil.NopCloser(bytes.NewReader([]byte{})), - } - return - } - } - if r.HTTPResponse == nil { - // Add a dummy request response object to ensure the HTTPResponse - // value is consistent. - r.HTTPResponse = &http.Response{ - StatusCode: int(0), - Status: http.StatusText(int(0)), - Body: ioutil.NopCloser(bytes.NewReader([]byte{})), - } - } - // Catch all other request errors. - r.Error = awserr.New("RequestError", "send request failed", err) - r.Retryable = aws.Bool(true) // network errors are retryable - - // Override the error with a context canceled error, if that was canceled. - ctx := r.Context() - select { - case <-ctx.Done(): - r.Error = awserr.New(request.CanceledErrorCode, - "request context canceled", ctx.Err()) - r.Retryable = aws.Bool(false) - default: - } -} - -// ValidateResponseHandler is a request handler to validate service response. -var ValidateResponseHandler = request.NamedHandler{Name: "core.ValidateResponseHandler", Fn: func(r *request.Request) { - if r.HTTPResponse.StatusCode == 0 || r.HTTPResponse.StatusCode >= 300 { - // this may be replaced by an UnmarshalError handler - r.Error = awserr.New("UnknownError", "unknown error", nil) - } -}} - -// AfterRetryHandler performs final checks to determine if the request should -// be retried and how long to delay. -var AfterRetryHandler = request.NamedHandler{Name: "core.AfterRetryHandler", Fn: func(r *request.Request) { - // If one of the other handlers already set the retry state - // we don't want to override it based on the service's state - if r.Retryable == nil || aws.BoolValue(r.Config.EnforceShouldRetryCheck) { - r.Retryable = aws.Bool(r.ShouldRetry(r)) - } - - if r.WillRetry() { - r.RetryDelay = r.RetryRules(r) - - if sleepFn := r.Config.SleepDelay; sleepFn != nil { - // Support SleepDelay for backwards compatibility and testing - sleepFn(r.RetryDelay) - } else if err := aws.SleepWithContext(r.Context(), r.RetryDelay); err != nil { - r.Error = awserr.New(request.CanceledErrorCode, - "request context canceled", err) - r.Retryable = aws.Bool(false) - return - } - - // when the expired token exception occurs the credentials - // need to be expired locally so that the next request to - // get credentials will trigger a credentials refresh. - if r.IsErrorExpired() { - r.Config.Credentials.Expire() - } - - r.RetryCount++ - r.Error = nil - } -}} - -// ValidateEndpointHandler is a request handler to validate a request had the -// appropriate Region and Endpoint set. Will set r.Error if the endpoint or -// region is not valid. -var ValidateEndpointHandler = request.NamedHandler{Name: "core.ValidateEndpointHandler", Fn: func(r *request.Request) { - if r.ClientInfo.SigningRegion == "" && aws.StringValue(r.Config.Region) == "" { - r.Error = aws.ErrMissingRegion - } else if r.ClientInfo.Endpoint == "" { - r.Error = aws.ErrMissingEndpoint - } -}} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator.go deleted file mode 100644 index 7d50b15..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator.go +++ /dev/null @@ -1,17 +0,0 @@ -package corehandlers - -import "github.com/aws/aws-sdk-go/aws/request" - -// ValidateParametersHandler is a request handler to validate the input parameters. -// Validating parameters only has meaning if done prior to the request being sent. -var ValidateParametersHandler = request.NamedHandler{Name: "core.ValidateParametersHandler", Fn: func(r *request.Request) { - if !r.ParamsFilled() { - return - } - - if v, ok := r.Params.(request.Validator); ok { - if err := v.Validate(); err != nil { - r.Error = err - } - } -}} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go deleted file mode 100644 index a15f496..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/user_agent.go +++ /dev/null @@ -1,37 +0,0 @@ -package corehandlers - -import ( - "os" - "runtime" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/request" -) - -// SDKVersionUserAgentHandler is a request handler for adding the SDK Version -// to the user agent. -var SDKVersionUserAgentHandler = request.NamedHandler{ - Name: "core.SDKVersionUserAgentHandler", - Fn: request.MakeAddToUserAgentHandler(aws.SDKName, aws.SDKVersion, - runtime.Version(), runtime.GOOS, runtime.GOARCH), -} - -const execEnvVar = `AWS_EXECUTION_ENV` -const execEnvUAKey = `exec_env` - -// AddHostExecEnvUserAgentHander is a request handler appending the SDK's -// execution environment to the user agent. -// -// If the environment variable AWS_EXECUTION_ENV is set, its value will be -// appended to the user agent string. -var AddHostExecEnvUserAgentHander = request.NamedHandler{ - Name: "core.AddHostExecEnvUserAgentHander", - Fn: func(r *request.Request) { - v := os.Getenv(execEnvVar) - if len(v) == 0 { - return - } - - request.AddToUserAgent(r, execEnvUAKey+"/"+v) - }, -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go deleted file mode 100644 index 3ad1e79..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go +++ /dev/null @@ -1,100 +0,0 @@ -package credentials - -import ( - "github.com/aws/aws-sdk-go/aws/awserr" -) - -var ( - // ErrNoValidProvidersFoundInChain Is returned when there are no valid - // providers in the ChainProvider. - // - // This has been deprecated. For verbose error messaging set - // aws.Config.CredentialsChainVerboseErrors to true. - ErrNoValidProvidersFoundInChain = awserr.New("NoCredentialProviders", - `no valid providers in chain. Deprecated. - For verbose messaging see aws.Config.CredentialsChainVerboseErrors`, - nil) -) - -// A ChainProvider will search for a provider which returns credentials -// and cache that provider until Retrieve is called again. -// -// The ChainProvider provides a way of chaining multiple providers together -// which will pick the first available using priority order of the Providers -// in the list. -// -// If none of the Providers retrieve valid credentials Value, ChainProvider's -// Retrieve() will return the error ErrNoValidProvidersFoundInChain. -// -// If a Provider is found which returns valid credentials Value ChainProvider -// will cache that Provider for all calls to IsExpired(), until Retrieve is -// called again. -// -// Example of ChainProvider to be used with an EnvProvider and EC2RoleProvider. -// In this example EnvProvider will first check if any credentials are available -// via the environment variables. If there are none ChainProvider will check -// the next Provider in the list, EC2RoleProvider in this case. If EC2RoleProvider -// does not return any credentials ChainProvider will return the error -// ErrNoValidProvidersFoundInChain -// -// creds := credentials.NewChainCredentials( -// []credentials.Provider{ -// &credentials.EnvProvider{}, -// &ec2rolecreds.EC2RoleProvider{ -// Client: ec2metadata.New(sess), -// }, -// }) -// -// // Usage of ChainCredentials with aws.Config -// svc := ec2.New(session.Must(session.NewSession(&aws.Config{ -// Credentials: creds, -// }))) -// -type ChainProvider struct { - Providers []Provider - curr Provider - VerboseErrors bool -} - -// NewChainCredentials returns a pointer to a new Credentials object -// wrapping a chain of providers. -func NewChainCredentials(providers []Provider) *Credentials { - return NewCredentials(&ChainProvider{ - Providers: append([]Provider{}, providers...), - }) -} - -// Retrieve returns the credentials value or error if no provider returned -// without error. -// -// If a provider is found it will be cached and any calls to IsExpired() -// will return the expired state of the cached provider. -func (c *ChainProvider) Retrieve() (Value, error) { - var errs []error - for _, p := range c.Providers { - creds, err := p.Retrieve() - if err == nil { - c.curr = p - return creds, nil - } - errs = append(errs, err) - } - c.curr = nil - - var err error - err = ErrNoValidProvidersFoundInChain - if c.VerboseErrors { - err = awserr.NewBatchError("NoCredentialProviders", "no valid providers in chain", errs) - } - return Value{}, err -} - -// IsExpired will returned the expired state of the currently cached provider -// if there is one. If there is no current provider, true will be returned. -func (c *ChainProvider) IsExpired() bool { - if c.curr != nil { - return c.curr.IsExpired() - } - - return true -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go deleted file mode 100644 index dc82f4c..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go +++ /dev/null @@ -1,257 +0,0 @@ -// Package credentials provides credential retrieval and management -// -// The Credentials is the primary method of getting access to and managing -// credentials Values. Using dependency injection retrieval of the credential -// values is handled by a object which satisfies the Provider interface. -// -// By default the Credentials.Get() will cache the successful result of a -// Provider's Retrieve() until Provider.IsExpired() returns true. At which -// point Credentials will call Provider's Retrieve() to get new credential Value. -// -// The Provider is responsible for determining when credentials Value have expired. -// It is also important to note that Credentials will always call Retrieve the -// first time Credentials.Get() is called. -// -// Example of using the environment variable credentials. -// -// creds := credentials.NewEnvCredentials() -// -// // Retrieve the credentials value -// credValue, err := creds.Get() -// if err != nil { -// // handle error -// } -// -// Example of forcing credentials to expire and be refreshed on the next Get(). -// This may be helpful to proactively expire credentials and refresh them sooner -// than they would naturally expire on their own. -// -// creds := credentials.NewCredentials(&ec2rolecreds.EC2RoleProvider{}) -// creds.Expire() -// credsValue, err := creds.Get() -// // New credentials will be retrieved instead of from cache. -// -// -// Custom Provider -// -// Each Provider built into this package also provides a helper method to generate -// a Credentials pointer setup with the provider. To use a custom Provider just -// create a type which satisfies the Provider interface and pass it to the -// NewCredentials method. -// -// type MyProvider struct{} -// func (m *MyProvider) Retrieve() (Value, error) {...} -// func (m *MyProvider) IsExpired() bool {...} -// -// creds := credentials.NewCredentials(&MyProvider{}) -// credValue, err := creds.Get() -// -package credentials - -import ( - "sync" - "time" -) - -// AnonymousCredentials is an empty Credential object that can be used as -// dummy placeholder credentials for requests that do not need signed. -// -// This Credentials can be used to configure a service to not sign requests -// when making service API calls. For example, when accessing public -// s3 buckets. -// -// svc := s3.New(session.Must(session.NewSession(&aws.Config{ -// Credentials: credentials.AnonymousCredentials, -// }))) -// // Access public S3 buckets. -var AnonymousCredentials = NewStaticCredentials("", "", "") - -// A Value is the AWS credentials value for individual credential fields. -type Value struct { - // AWS Access key ID - AccessKeyID string - - // AWS Secret Access Key - SecretAccessKey string - - // AWS Session Token - SessionToken string - - // Provider used to get credentials - ProviderName string -} - -// A Provider is the interface for any component which will provide credentials -// Value. A provider is required to manage its own Expired state, and what to -// be expired means. -// -// The Provider should not need to implement its own mutexes, because -// that will be managed by Credentials. -type Provider interface { - // Retrieve returns nil if it successfully retrieved the value. - // Error is returned if the value were not obtainable, or empty. - Retrieve() (Value, error) - - // IsExpired returns if the credentials are no longer valid, and need - // to be retrieved. - IsExpired() bool -} - -// An ErrorProvider is a stub credentials provider that always returns an error -// this is used by the SDK when construction a known provider is not possible -// due to an error. -type ErrorProvider struct { - // The error to be returned from Retrieve - Err error - - // The provider name to set on the Retrieved returned Value - ProviderName string -} - -// Retrieve will always return the error that the ErrorProvider was created with. -func (p ErrorProvider) Retrieve() (Value, error) { - return Value{ProviderName: p.ProviderName}, p.Err -} - -// IsExpired will always return not expired. -func (p ErrorProvider) IsExpired() bool { - return false -} - -// A Expiry provides shared expiration logic to be used by credentials -// providers to implement expiry functionality. -// -// The best method to use this struct is as an anonymous field within the -// provider's struct. -// -// Example: -// type EC2RoleProvider struct { -// Expiry -// ... -// } -type Expiry struct { - // The date/time when to expire on - expiration time.Time - - // If set will be used by IsExpired to determine the current time. - // Defaults to time.Now if CurrentTime is not set. Available for testing - // to be able to mock out the current time. - CurrentTime func() time.Time -} - -// SetExpiration sets the expiration IsExpired will check when called. -// -// If window is greater than 0 the expiration time will be reduced by the -// window value. -// -// Using a window is helpful to trigger credentials to expire sooner than -// the expiration time given to ensure no requests are made with expired -// tokens. -func (e *Expiry) SetExpiration(expiration time.Time, window time.Duration) { - e.expiration = expiration - if window > 0 { - e.expiration = e.expiration.Add(-window) - } -} - -// IsExpired returns if the credentials are expired. -func (e *Expiry) IsExpired() bool { - curTime := e.CurrentTime - if curTime == nil { - curTime = time.Now - } - return e.expiration.Before(curTime()) -} - -// A Credentials provides concurrency safe retrieval of AWS credentials Value. -// Credentials will cache the credentials value until they expire. Once the value -// expires the next Get will attempt to retrieve valid credentials. -// -// Credentials is safe to use across multiple goroutines and will manage the -// synchronous state so the Providers do not need to implement their own -// synchronization. -// -// The first Credentials.Get() will always call Provider.Retrieve() to get the -// first instance of the credentials Value. All calls to Get() after that -// will return the cached credentials Value until IsExpired() returns true. -type Credentials struct { - creds Value - forceRefresh bool - - m sync.RWMutex - - provider Provider -} - -// NewCredentials returns a pointer to a new Credentials with the provider set. -func NewCredentials(provider Provider) *Credentials { - return &Credentials{ - provider: provider, - forceRefresh: true, - } -} - -// Get returns the credentials value, or error if the credentials Value failed -// to be retrieved. -// -// Will return the cached credentials Value if it has not expired. If the -// credentials Value has expired the Provider's Retrieve() will be called -// to refresh the credentials. -// -// If Credentials.Expire() was called the credentials Value will be force -// expired, and the next call to Get() will cause them to be refreshed. -func (c *Credentials) Get() (Value, error) { - // Check the cached credentials first with just the read lock. - c.m.RLock() - if !c.isExpired() { - creds := c.creds - c.m.RUnlock() - return creds, nil - } - c.m.RUnlock() - - // Credentials are expired need to retrieve the credentials taking the full - // lock. - c.m.Lock() - defer c.m.Unlock() - - if c.isExpired() { - creds, err := c.provider.Retrieve() - if err != nil { - return Value{}, err - } - c.creds = creds - c.forceRefresh = false - } - - return c.creds, nil -} - -// Expire expires the credentials and forces them to be retrieved on the -// next call to Get(). -// -// This will override the Provider's expired state, and force Credentials -// to call the Provider's Retrieve(). -func (c *Credentials) Expire() { - c.m.Lock() - defer c.m.Unlock() - - c.forceRefresh = true -} - -// IsExpired returns if the credentials are no longer valid, and need -// to be retrieved. -// -// If the Credentials were forced to be expired with Expire() this will -// reflect that override. -func (c *Credentials) IsExpired() bool { - c.m.RLock() - defer c.m.RUnlock() - - return c.isExpired() -} - -// isExpired helper method wrapping the definition of expired credentials. -func (c *Credentials) isExpired() bool { - return c.forceRefresh || c.provider.IsExpired() -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go deleted file mode 100644 index 0ed791b..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go +++ /dev/null @@ -1,178 +0,0 @@ -package ec2rolecreds - -import ( - "bufio" - "encoding/json" - "fmt" - "strings" - "time" - - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/client" - "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/ec2metadata" - "github.com/aws/aws-sdk-go/internal/sdkuri" -) - -// ProviderName provides a name of EC2Role provider -const ProviderName = "EC2RoleProvider" - -// A EC2RoleProvider retrieves credentials from the EC2 service, and keeps track if -// those credentials are expired. -// -// Example how to configure the EC2RoleProvider with custom http Client, Endpoint -// or ExpiryWindow -// -// p := &ec2rolecreds.EC2RoleProvider{ -// // Pass in a custom timeout to be used when requesting -// // IAM EC2 Role credentials. -// Client: ec2metadata.New(sess, aws.Config{ -// HTTPClient: &http.Client{Timeout: 10 * time.Second}, -// }), -// -// // Do not use early expiry of credentials. If a non zero value is -// // specified the credentials will be expired early -// ExpiryWindow: 0, -// } -type EC2RoleProvider struct { - credentials.Expiry - - // Required EC2Metadata client to use when connecting to EC2 metadata service. - Client *ec2metadata.EC2Metadata - - // ExpiryWindow will allow the credentials to trigger refreshing prior to - // the credentials actually expiring. This is beneficial so race conditions - // with expiring credentials do not cause request to fail unexpectedly - // due to ExpiredTokenException exceptions. - // - // So a ExpiryWindow of 10s would cause calls to IsExpired() to return true - // 10 seconds before the credentials are actually expired. - // - // If ExpiryWindow is 0 or less it will be ignored. - ExpiryWindow time.Duration -} - -// NewCredentials returns a pointer to a new Credentials object wrapping -// the EC2RoleProvider. Takes a ConfigProvider to create a EC2Metadata client. -// The ConfigProvider is satisfied by the session.Session type. -func NewCredentials(c client.ConfigProvider, options ...func(*EC2RoleProvider)) *credentials.Credentials { - p := &EC2RoleProvider{ - Client: ec2metadata.New(c), - } - - for _, option := range options { - option(p) - } - - return credentials.NewCredentials(p) -} - -// NewCredentialsWithClient returns a pointer to a new Credentials object wrapping -// the EC2RoleProvider. Takes a EC2Metadata client to use when connecting to EC2 -// metadata service. -func NewCredentialsWithClient(client *ec2metadata.EC2Metadata, options ...func(*EC2RoleProvider)) *credentials.Credentials { - p := &EC2RoleProvider{ - Client: client, - } - - for _, option := range options { - option(p) - } - - return credentials.NewCredentials(p) -} - -// Retrieve retrieves credentials from the EC2 service. -// Error will be returned if the request fails, or unable to extract -// the desired credentials. -func (m *EC2RoleProvider) Retrieve() (credentials.Value, error) { - credsList, err := requestCredList(m.Client) - if err != nil { - return credentials.Value{ProviderName: ProviderName}, err - } - - if len(credsList) == 0 { - return credentials.Value{ProviderName: ProviderName}, awserr.New("EmptyEC2RoleList", "empty EC2 Role list", nil) - } - credsName := credsList[0] - - roleCreds, err := requestCred(m.Client, credsName) - if err != nil { - return credentials.Value{ProviderName: ProviderName}, err - } - - m.SetExpiration(roleCreds.Expiration, m.ExpiryWindow) - - return credentials.Value{ - AccessKeyID: roleCreds.AccessKeyID, - SecretAccessKey: roleCreds.SecretAccessKey, - SessionToken: roleCreds.Token, - ProviderName: ProviderName, - }, nil -} - -// A ec2RoleCredRespBody provides the shape for unmarshaling credential -// request responses. -type ec2RoleCredRespBody struct { - // Success State - Expiration time.Time - AccessKeyID string - SecretAccessKey string - Token string - - // Error state - Code string - Message string -} - -const iamSecurityCredsPath = "iam/security-credentials/" - -// requestCredList requests a list of credentials from the EC2 service. -// If there are no credentials, or there is an error making or receiving the request -func requestCredList(client *ec2metadata.EC2Metadata) ([]string, error) { - resp, err := client.GetMetadata(iamSecurityCredsPath) - if err != nil { - return nil, awserr.New("EC2RoleRequestError", "no EC2 instance role found", err) - } - - credsList := []string{} - s := bufio.NewScanner(strings.NewReader(resp)) - for s.Scan() { - credsList = append(credsList, s.Text()) - } - - if err := s.Err(); err != nil { - return nil, awserr.New("SerializationError", "failed to read EC2 instance role from metadata service", err) - } - - return credsList, nil -} - -// requestCred requests the credentials for a specific credentials from the EC2 service. -// -// If the credentials cannot be found, or there is an error reading the response -// and error will be returned. -func requestCred(client *ec2metadata.EC2Metadata, credsName string) (ec2RoleCredRespBody, error) { - resp, err := client.GetMetadata(sdkuri.PathJoin(iamSecurityCredsPath, credsName)) - if err != nil { - return ec2RoleCredRespBody{}, - awserr.New("EC2RoleRequestError", - fmt.Sprintf("failed to get %s EC2 instance role credentials", credsName), - err) - } - - respCreds := ec2RoleCredRespBody{} - if err := json.NewDecoder(strings.NewReader(resp)).Decode(&respCreds); err != nil { - return ec2RoleCredRespBody{}, - awserr.New("SerializationError", - fmt.Sprintf("failed to decode %s EC2 instance role credentials", credsName), - err) - } - - if respCreds.Code != "Success" { - // If an error code was returned something failed requesting the role. - return ec2RoleCredRespBody{}, awserr.New(respCreds.Code, respCreds.Message, nil) - } - - return respCreds, nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go deleted file mode 100644 index ace5131..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go +++ /dev/null @@ -1,198 +0,0 @@ -// Package endpointcreds provides support for retrieving credentials from an -// arbitrary HTTP endpoint. -// -// The credentials endpoint Provider can receive both static and refreshable -// credentials that will expire. Credentials are static when an "Expiration" -// value is not provided in the endpoint's response. -// -// Static credentials will never expire once they have been retrieved. The format -// of the static credentials response: -// { -// "AccessKeyId" : "MUA...", -// "SecretAccessKey" : "/7PC5om....", -// } -// -// Refreshable credentials will expire within the "ExpiryWindow" of the Expiration -// value in the response. The format of the refreshable credentials response: -// { -// "AccessKeyId" : "MUA...", -// "SecretAccessKey" : "/7PC5om....", -// "Token" : "AQoDY....=", -// "Expiration" : "2016-02-25T06:03:31Z" -// } -// -// Errors should be returned in the following format and only returned with 400 -// or 500 HTTP status codes. -// { -// "code": "ErrorCode", -// "message": "Helpful error message." -// } -package endpointcreds - -import ( - "encoding/json" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/client" - "github.com/aws/aws-sdk-go/aws/client/metadata" - "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/request" -) - -// ProviderName is the name of the credentials provider. -const ProviderName = `CredentialsEndpointProvider` - -// Provider satisfies the credentials.Provider interface, and is a client to -// retrieve credentials from an arbitrary endpoint. -type Provider struct { - staticCreds bool - credentials.Expiry - - // Requires a AWS Client to make HTTP requests to the endpoint with. - // the Endpoint the request will be made to is provided by the aws.Config's - // Endpoint value. - Client *client.Client - - // ExpiryWindow will allow the credentials to trigger refreshing prior to - // the credentials actually expiring. This is beneficial so race conditions - // with expiring credentials do not cause request to fail unexpectedly - // due to ExpiredTokenException exceptions. - // - // So a ExpiryWindow of 10s would cause calls to IsExpired() to return true - // 10 seconds before the credentials are actually expired. - // - // If ExpiryWindow is 0 or less it will be ignored. - ExpiryWindow time.Duration - - // Optional authorization token value if set will be used as the value of - // the Authorization header of the endpoint credential request. - AuthorizationToken string -} - -// NewProviderClient returns a credentials Provider for retrieving AWS credentials -// from arbitrary endpoint. -func NewProviderClient(cfg aws.Config, handlers request.Handlers, endpoint string, options ...func(*Provider)) credentials.Provider { - p := &Provider{ - Client: client.New( - cfg, - metadata.ClientInfo{ - ServiceName: "CredentialsEndpoint", - Endpoint: endpoint, - }, - handlers, - ), - } - - p.Client.Handlers.Unmarshal.PushBack(unmarshalHandler) - p.Client.Handlers.UnmarshalError.PushBack(unmarshalError) - p.Client.Handlers.Validate.Clear() - p.Client.Handlers.Validate.PushBack(validateEndpointHandler) - - for _, option := range options { - option(p) - } - - return p -} - -// NewCredentialsClient returns a Credentials wrapper for retrieving credentials -// from an arbitrary endpoint concurrently. The client will request the -func NewCredentialsClient(cfg aws.Config, handlers request.Handlers, endpoint string, options ...func(*Provider)) *credentials.Credentials { - return credentials.NewCredentials(NewProviderClient(cfg, handlers, endpoint, options...)) -} - -// IsExpired returns true if the credentials retrieved are expired, or not yet -// retrieved. -func (p *Provider) IsExpired() bool { - if p.staticCreds { - return false - } - return p.Expiry.IsExpired() -} - -// Retrieve will attempt to request the credentials from the endpoint the Provider -// was configured for. And error will be returned if the retrieval fails. -func (p *Provider) Retrieve() (credentials.Value, error) { - resp, err := p.getCredentials() - if err != nil { - return credentials.Value{ProviderName: ProviderName}, - awserr.New("CredentialsEndpointError", "failed to load credentials", err) - } - - if resp.Expiration != nil { - p.SetExpiration(*resp.Expiration, p.ExpiryWindow) - } else { - p.staticCreds = true - } - - return credentials.Value{ - AccessKeyID: resp.AccessKeyID, - SecretAccessKey: resp.SecretAccessKey, - SessionToken: resp.Token, - ProviderName: ProviderName, - }, nil -} - -type getCredentialsOutput struct { - Expiration *time.Time - AccessKeyID string - SecretAccessKey string - Token string -} - -type errorOutput struct { - Code string `json:"code"` - Message string `json:"message"` -} - -func (p *Provider) getCredentials() (*getCredentialsOutput, error) { - op := &request.Operation{ - Name: "GetCredentials", - HTTPMethod: "GET", - } - - out := &getCredentialsOutput{} - req := p.Client.NewRequest(op, nil, out) - req.HTTPRequest.Header.Set("Accept", "application/json") - if authToken := p.AuthorizationToken; len(authToken) != 0 { - req.HTTPRequest.Header.Set("Authorization", authToken) - } - - return out, req.Send() -} - -func validateEndpointHandler(r *request.Request) { - if len(r.ClientInfo.Endpoint) == 0 { - r.Error = aws.ErrMissingEndpoint - } -} - -func unmarshalHandler(r *request.Request) { - defer r.HTTPResponse.Body.Close() - - out := r.Data.(*getCredentialsOutput) - if err := json.NewDecoder(r.HTTPResponse.Body).Decode(&out); err != nil { - r.Error = awserr.New("SerializationError", - "failed to decode endpoint credentials", - err, - ) - } -} - -func unmarshalError(r *request.Request) { - defer r.HTTPResponse.Body.Close() - - var errOut errorOutput - if err := json.NewDecoder(r.HTTPResponse.Body).Decode(&errOut); err != nil { - r.Error = awserr.New("SerializationError", - "failed to decode endpoint credentials", - err, - ) - } - - // Response body format is not consistent between metadata endpoints. - // Grab the error message as a string and include that as the source error - r.Error = awserr.New(errOut.Code, errOut.Message, nil) -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go deleted file mode 100644 index 54c5cf7..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go +++ /dev/null @@ -1,74 +0,0 @@ -package credentials - -import ( - "os" - - "github.com/aws/aws-sdk-go/aws/awserr" -) - -// EnvProviderName provides a name of Env provider -const EnvProviderName = "EnvProvider" - -var ( - // ErrAccessKeyIDNotFound is returned when the AWS Access Key ID can't be - // found in the process's environment. - ErrAccessKeyIDNotFound = awserr.New("EnvAccessKeyNotFound", "AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY not found in environment", nil) - - // ErrSecretAccessKeyNotFound is returned when the AWS Secret Access Key - // can't be found in the process's environment. - ErrSecretAccessKeyNotFound = awserr.New("EnvSecretNotFound", "AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY not found in environment", nil) -) - -// A EnvProvider retrieves credentials from the environment variables of the -// running process. Environment credentials never expire. -// -// Environment variables used: -// -// * Access Key ID: AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY -// -// * Secret Access Key: AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY -type EnvProvider struct { - retrieved bool -} - -// NewEnvCredentials returns a pointer to a new Credentials object -// wrapping the environment variable provider. -func NewEnvCredentials() *Credentials { - return NewCredentials(&EnvProvider{}) -} - -// Retrieve retrieves the keys from the environment. -func (e *EnvProvider) Retrieve() (Value, error) { - e.retrieved = false - - id := os.Getenv("AWS_ACCESS_KEY_ID") - if id == "" { - id = os.Getenv("AWS_ACCESS_KEY") - } - - secret := os.Getenv("AWS_SECRET_ACCESS_KEY") - if secret == "" { - secret = os.Getenv("AWS_SECRET_KEY") - } - - if id == "" { - return Value{ProviderName: EnvProviderName}, ErrAccessKeyIDNotFound - } - - if secret == "" { - return Value{ProviderName: EnvProviderName}, ErrSecretAccessKeyNotFound - } - - e.retrieved = true - return Value{ - AccessKeyID: id, - SecretAccessKey: secret, - SessionToken: os.Getenv("AWS_SESSION_TOKEN"), - ProviderName: EnvProviderName, - }, nil -} - -// IsExpired returns if the credentials have been retrieved. -func (e *EnvProvider) IsExpired() bool { - return !e.retrieved -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/example.ini b/vendor/github.com/aws/aws-sdk-go/aws/credentials/example.ini deleted file mode 100644 index 7fc91d9..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/example.ini +++ /dev/null @@ -1,12 +0,0 @@ -[default] -aws_access_key_id = accessKey -aws_secret_access_key = secret -aws_session_token = token - -[no_token] -aws_access_key_id = accessKey -aws_secret_access_key = secret - -[with_colon] -aws_access_key_id: accessKey -aws_secret_access_key: secret diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go deleted file mode 100644 index 1980c8c..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/processcreds/provider.go +++ /dev/null @@ -1,425 +0,0 @@ -/* -Package processcreds is a credential Provider to retrieve `credential_process` -credentials. - -WARNING: The following describes a method of sourcing credentials from an external -process. This can potentially be dangerous, so proceed with caution. Other -credential providers should be preferred if at all possible. If using this -option, you should make sure that the config file is as locked down as possible -using security best practices for your operating system. - -You can use credentials from a `credential_process` in a variety of ways. - -One way is to setup your shared config file, located in the default -location, with the `credential_process` key and the command you want to be -called. You also need to set the AWS_SDK_LOAD_CONFIG environment variable -(e.g., `export AWS_SDK_LOAD_CONFIG=1`) to use the shared config file. - - [default] - credential_process = /command/to/call - -Creating a new session will use the credential process to retrieve credentials. -NOTE: If there are credentials in the profile you are using, the credential -process will not be used. - - // Initialize a session to load credentials. - sess, _ := session.NewSession(&aws.Config{ - Region: aws.String("us-east-1")}, - ) - - // Create S3 service client to use the credentials. - svc := s3.New(sess) - -Another way to use the `credential_process` method is by using -`credentials.NewCredentials()` and providing a command to be executed to -retrieve credentials: - - // Create credentials using the ProcessProvider. - creds := processcreds.NewCredentials("/path/to/command") - - // Create service client value configured for credentials. - svc := s3.New(sess, &aws.Config{Credentials: creds}) - -You can set a non-default timeout for the `credential_process` with another -constructor, `credentials.NewCredentialsTimeout()`, providing the timeout. To -set a one minute timeout: - - // Create credentials using the ProcessProvider. - creds := processcreds.NewCredentialsTimeout( - "/path/to/command", - time.Duration(500) * time.Millisecond) - -If you need more control, you can set any configurable options in the -credentials using one or more option functions. For example, you can set a two -minute timeout, a credential duration of 60 minutes, and a maximum stdout -buffer size of 2k. - - creds := processcreds.NewCredentials( - "/path/to/command", - func(opt *ProcessProvider) { - opt.Timeout = time.Duration(2) * time.Minute - opt.Duration = time.Duration(60) * time.Minute - opt.MaxBufSize = 2048 - }) - -You can also use your own `exec.Cmd`: - - // Create an exec.Cmd - myCommand := exec.Command("/path/to/command") - - // Create credentials using your exec.Cmd and custom timeout - creds := processcreds.NewCredentialsCommand( - myCommand, - func(opt *processcreds.ProcessProvider) { - opt.Timeout = time.Duration(1) * time.Second - }) -*/ -package processcreds - -import ( - "bytes" - "encoding/json" - "fmt" - "io" - "io/ioutil" - "os" - "os/exec" - "runtime" - "strings" - "time" - - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/credentials" -) - -const ( - // ProviderName is the name this credentials provider will label any - // returned credentials Value with. - ProviderName = `ProcessProvider` - - // ErrCodeProcessProviderParse error parsing process output - ErrCodeProcessProviderParse = "ProcessProviderParseError" - - // ErrCodeProcessProviderVersion version error in output - ErrCodeProcessProviderVersion = "ProcessProviderVersionError" - - // ErrCodeProcessProviderRequired required attribute missing in output - ErrCodeProcessProviderRequired = "ProcessProviderRequiredError" - - // ErrCodeProcessProviderExecution execution of command failed - ErrCodeProcessProviderExecution = "ProcessProviderExecutionError" - - // errMsgProcessProviderTimeout process took longer than allowed - errMsgProcessProviderTimeout = "credential process timed out" - - // errMsgProcessProviderProcess process error - errMsgProcessProviderProcess = "error in credential_process" - - // errMsgProcessProviderParse problem parsing output - errMsgProcessProviderParse = "parse failed of credential_process output" - - // errMsgProcessProviderVersion version error in output - errMsgProcessProviderVersion = "wrong version in process output (not 1)" - - // errMsgProcessProviderMissKey missing access key id in output - errMsgProcessProviderMissKey = "missing AccessKeyId in process output" - - // errMsgProcessProviderMissSecret missing secret acess key in output - errMsgProcessProviderMissSecret = "missing SecretAccessKey in process output" - - // errMsgProcessProviderPrepareCmd prepare of command failed - errMsgProcessProviderPrepareCmd = "failed to prepare command" - - // errMsgProcessProviderEmptyCmd command must not be empty - errMsgProcessProviderEmptyCmd = "command must not be empty" - - // errMsgProcessProviderPipe failed to initialize pipe - errMsgProcessProviderPipe = "failed to initialize pipe" - - // DefaultDuration is the default amount of time in minutes that the - // credentials will be valid for. - DefaultDuration = time.Duration(15) * time.Minute - - // DefaultBufSize limits buffer size from growing to an enormous - // amount due to a faulty process. - DefaultBufSize = 1024 - - // DefaultTimeout default limit on time a process can run. - DefaultTimeout = time.Duration(1) * time.Minute -) - -// ProcessProvider satisfies the credentials.Provider interface, and is a -// client to retrieve credentials from a process. -type ProcessProvider struct { - staticCreds bool - credentials.Expiry - originalCommand []string - - // Expiry duration of the credentials. Defaults to 15 minutes if not set. - Duration time.Duration - - // ExpiryWindow will allow the credentials to trigger refreshing prior to - // the credentials actually expiring. This is beneficial so race conditions - // with expiring credentials do not cause request to fail unexpectedly - // due to ExpiredTokenException exceptions. - // - // So a ExpiryWindow of 10s would cause calls to IsExpired() to return true - // 10 seconds before the credentials are actually expired. - // - // If ExpiryWindow is 0 or less it will be ignored. - ExpiryWindow time.Duration - - // A string representing an os command that should return a JSON with - // credential information. - command *exec.Cmd - - // MaxBufSize limits memory usage from growing to an enormous - // amount due to a faulty process. - MaxBufSize int - - // Timeout limits the time a process can run. - Timeout time.Duration -} - -// NewCredentials returns a pointer to a new Credentials object wrapping the -// ProcessProvider. The credentials will expire every 15 minutes by default. -func NewCredentials(command string, options ...func(*ProcessProvider)) *credentials.Credentials { - p := &ProcessProvider{ - command: exec.Command(command), - Duration: DefaultDuration, - Timeout: DefaultTimeout, - MaxBufSize: DefaultBufSize, - } - - for _, option := range options { - option(p) - } - - return credentials.NewCredentials(p) -} - -// NewCredentialsTimeout returns a pointer to a new Credentials object with -// the specified command and timeout, and default duration and max buffer size. -func NewCredentialsTimeout(command string, timeout time.Duration) *credentials.Credentials { - p := NewCredentials(command, func(opt *ProcessProvider) { - opt.Timeout = timeout - }) - - return p -} - -// NewCredentialsCommand returns a pointer to a new Credentials object with -// the specified command, and default timeout, duration and max buffer size. -func NewCredentialsCommand(command *exec.Cmd, options ...func(*ProcessProvider)) *credentials.Credentials { - p := &ProcessProvider{ - command: command, - Duration: DefaultDuration, - Timeout: DefaultTimeout, - MaxBufSize: DefaultBufSize, - } - - for _, option := range options { - option(p) - } - - return credentials.NewCredentials(p) -} - -type credentialProcessResponse struct { - Version int - AccessKeyID string `json:"AccessKeyId"` - SecretAccessKey string - SessionToken string - Expiration *time.Time -} - -// Retrieve executes the 'credential_process' and returns the credentials. -func (p *ProcessProvider) Retrieve() (credentials.Value, error) { - out, err := p.executeCredentialProcess() - if err != nil { - return credentials.Value{ProviderName: ProviderName}, err - } - - // Serialize and validate response - resp := &credentialProcessResponse{} - if err = json.Unmarshal(out, resp); err != nil { - return credentials.Value{ProviderName: ProviderName}, awserr.New( - ErrCodeProcessProviderParse, - fmt.Sprintf("%s: %s", errMsgProcessProviderParse, string(out)), - err) - } - - if resp.Version != 1 { - return credentials.Value{ProviderName: ProviderName}, awserr.New( - ErrCodeProcessProviderVersion, - errMsgProcessProviderVersion, - nil) - } - - if len(resp.AccessKeyID) == 0 { - return credentials.Value{ProviderName: ProviderName}, awserr.New( - ErrCodeProcessProviderRequired, - errMsgProcessProviderMissKey, - nil) - } - - if len(resp.SecretAccessKey) == 0 { - return credentials.Value{ProviderName: ProviderName}, awserr.New( - ErrCodeProcessProviderRequired, - errMsgProcessProviderMissSecret, - nil) - } - - // Handle expiration - p.staticCreds = resp.Expiration == nil - if resp.Expiration != nil { - p.SetExpiration(*resp.Expiration, p.ExpiryWindow) - } - - return credentials.Value{ - ProviderName: ProviderName, - AccessKeyID: resp.AccessKeyID, - SecretAccessKey: resp.SecretAccessKey, - SessionToken: resp.SessionToken, - }, nil -} - -// IsExpired returns true if the credentials retrieved are expired, or not yet -// retrieved. -func (p *ProcessProvider) IsExpired() bool { - if p.staticCreds { - return false - } - return p.Expiry.IsExpired() -} - -// prepareCommand prepares the command to be executed. -func (p *ProcessProvider) prepareCommand() error { - - var cmdArgs []string - if runtime.GOOS == "windows" { - cmdArgs = []string{"cmd.exe", "/C"} - } else { - cmdArgs = []string{"sh", "-c"} - } - - if len(p.originalCommand) == 0 { - p.originalCommand = make([]string, len(p.command.Args)) - copy(p.originalCommand, p.command.Args) - - // check for empty command because it succeeds - if len(strings.TrimSpace(p.originalCommand[0])) < 1 { - return awserr.New( - ErrCodeProcessProviderExecution, - fmt.Sprintf( - "%s: %s", - errMsgProcessProviderPrepareCmd, - errMsgProcessProviderEmptyCmd), - nil) - } - } - - cmdArgs = append(cmdArgs, p.originalCommand...) - p.command = exec.Command(cmdArgs[0], cmdArgs[1:]...) - p.command.Env = os.Environ() - - return nil -} - -// executeCredentialProcess starts the credential process on the OS and -// returns the results or an error. -func (p *ProcessProvider) executeCredentialProcess() ([]byte, error) { - - if err := p.prepareCommand(); err != nil { - return nil, err - } - - // Setup the pipes - outReadPipe, outWritePipe, err := os.Pipe() - if err != nil { - return nil, awserr.New( - ErrCodeProcessProviderExecution, - errMsgProcessProviderPipe, - err) - } - - p.command.Stderr = os.Stderr // display stderr on console for MFA - p.command.Stdout = outWritePipe // get creds json on process's stdout - p.command.Stdin = os.Stdin // enable stdin for MFA - - output := bytes.NewBuffer(make([]byte, 0, p.MaxBufSize)) - - stdoutCh := make(chan error, 1) - go readInput( - io.LimitReader(outReadPipe, int64(p.MaxBufSize)), - output, - stdoutCh) - - execCh := make(chan error, 1) - go executeCommand(*p.command, execCh) - - finished := false - var errors []error - for !finished { - select { - case readError := <-stdoutCh: - errors = appendError(errors, readError) - finished = true - case execError := <-execCh: - err := outWritePipe.Close() - errors = appendError(errors, err) - errors = appendError(errors, execError) - if errors != nil { - return output.Bytes(), awserr.NewBatchError( - ErrCodeProcessProviderExecution, - errMsgProcessProviderProcess, - errors) - } - case <-time.After(p.Timeout): - finished = true - return output.Bytes(), awserr.NewBatchError( - ErrCodeProcessProviderExecution, - errMsgProcessProviderTimeout, - errors) // errors can be nil - } - } - - out := output.Bytes() - - if runtime.GOOS == "windows" { - // windows adds slashes to quotes - out = []byte(strings.Replace(string(out), `\"`, `"`, -1)) - } - - return out, nil -} - -// appendError conveniently checks for nil before appending slice -func appendError(errors []error, err error) []error { - if err != nil { - return append(errors, err) - } - return errors -} - -func executeCommand(cmd exec.Cmd, exec chan error) { - // Start the command - err := cmd.Start() - if err == nil { - err = cmd.Wait() - } - - exec <- err -} - -func readInput(r io.Reader, w io.Writer, read chan error) { - tee := io.TeeReader(r, w) - - _, err := ioutil.ReadAll(tee) - - if err == io.EOF { - err = nil - } - - read <- err // will only arrive here when write end of pipe is closed -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go deleted file mode 100644 index e155149..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go +++ /dev/null @@ -1,150 +0,0 @@ -package credentials - -import ( - "fmt" - "os" - - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/internal/ini" - "github.com/aws/aws-sdk-go/internal/shareddefaults" -) - -// SharedCredsProviderName provides a name of SharedCreds provider -const SharedCredsProviderName = "SharedCredentialsProvider" - -var ( - // ErrSharedCredentialsHomeNotFound is emitted when the user directory cannot be found. - ErrSharedCredentialsHomeNotFound = awserr.New("UserHomeNotFound", "user home directory not found.", nil) -) - -// A SharedCredentialsProvider retrieves credentials from the current user's home -// directory, and keeps track if those credentials are expired. -// -// Profile ini file example: $HOME/.aws/credentials -type SharedCredentialsProvider struct { - // Path to the shared credentials file. - // - // If empty will look for "AWS_SHARED_CREDENTIALS_FILE" env variable. If the - // env value is empty will default to current user's home directory. - // Linux/OSX: "$HOME/.aws/credentials" - // Windows: "%USERPROFILE%\.aws\credentials" - Filename string - - // AWS Profile to extract credentials from the shared credentials file. If empty - // will default to environment variable "AWS_PROFILE" or "default" if - // environment variable is also not set. - Profile string - - // retrieved states if the credentials have been successfully retrieved. - retrieved bool -} - -// NewSharedCredentials returns a pointer to a new Credentials object -// wrapping the Profile file provider. -func NewSharedCredentials(filename, profile string) *Credentials { - return NewCredentials(&SharedCredentialsProvider{ - Filename: filename, - Profile: profile, - }) -} - -// Retrieve reads and extracts the shared credentials from the current -// users home directory. -func (p *SharedCredentialsProvider) Retrieve() (Value, error) { - p.retrieved = false - - filename, err := p.filename() - if err != nil { - return Value{ProviderName: SharedCredsProviderName}, err - } - - creds, err := loadProfile(filename, p.profile()) - if err != nil { - return Value{ProviderName: SharedCredsProviderName}, err - } - - p.retrieved = true - return creds, nil -} - -// IsExpired returns if the shared credentials have expired. -func (p *SharedCredentialsProvider) IsExpired() bool { - return !p.retrieved -} - -// loadProfiles loads from the file pointed to by shared credentials filename for profile. -// The credentials retrieved from the profile will be returned or error. Error will be -// returned if it fails to read from the file, or the data is invalid. -func loadProfile(filename, profile string) (Value, error) { - config, err := ini.OpenFile(filename) - if err != nil { - return Value{ProviderName: SharedCredsProviderName}, awserr.New("SharedCredsLoad", "failed to load shared credentials file", err) - } - - iniProfile, ok := config.GetSection(profile) - if !ok { - return Value{ProviderName: SharedCredsProviderName}, awserr.New("SharedCredsLoad", "failed to get profile", nil) - } - - id := iniProfile.String("aws_access_key_id") - if len(id) == 0 { - return Value{ProviderName: SharedCredsProviderName}, awserr.New("SharedCredsAccessKey", - fmt.Sprintf("shared credentials %s in %s did not contain aws_access_key_id", profile, filename), - nil) - } - - secret := iniProfile.String("aws_secret_access_key") - if len(secret) == 0 { - return Value{ProviderName: SharedCredsProviderName}, awserr.New("SharedCredsSecret", - fmt.Sprintf("shared credentials %s in %s did not contain aws_secret_access_key", profile, filename), - nil) - } - - // Default to empty string if not found - token := iniProfile.String("aws_session_token") - - return Value{ - AccessKeyID: id, - SecretAccessKey: secret, - SessionToken: token, - ProviderName: SharedCredsProviderName, - }, nil -} - -// filename returns the filename to use to read AWS shared credentials. -// -// Will return an error if the user's home directory path cannot be found. -func (p *SharedCredentialsProvider) filename() (string, error) { - if len(p.Filename) != 0 { - return p.Filename, nil - } - - if p.Filename = os.Getenv("AWS_SHARED_CREDENTIALS_FILE"); len(p.Filename) != 0 { - return p.Filename, nil - } - - if home := shareddefaults.UserHomeDir(); len(home) == 0 { - // Backwards compatibility of home directly not found error being returned. - // This error is too verbose, failure when opening the file would of been - // a better error to return. - return "", ErrSharedCredentialsHomeNotFound - } - - p.Filename = shareddefaults.SharedCredentialsFilename() - - return p.Filename, nil -} - -// profile returns the AWS shared credentials profile. If empty will read -// environment variable "AWS_PROFILE". If that is not set profile will -// return "default". -func (p *SharedCredentialsProvider) profile() string { - if p.Profile == "" { - p.Profile = os.Getenv("AWS_PROFILE") - } - if p.Profile == "" { - p.Profile = "default" - } - - return p.Profile -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go deleted file mode 100644 index 531139e..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go +++ /dev/null @@ -1,55 +0,0 @@ -package credentials - -import ( - "github.com/aws/aws-sdk-go/aws/awserr" -) - -// StaticProviderName provides a name of Static provider -const StaticProviderName = "StaticProvider" - -var ( - // ErrStaticCredentialsEmpty is emitted when static credentials are empty. - ErrStaticCredentialsEmpty = awserr.New("EmptyStaticCreds", "static credentials are empty", nil) -) - -// A StaticProvider is a set of credentials which are set programmatically, -// and will never expire. -type StaticProvider struct { - Value -} - -// NewStaticCredentials returns a pointer to a new Credentials object -// wrapping a static credentials value provider. -func NewStaticCredentials(id, secret, token string) *Credentials { - return NewCredentials(&StaticProvider{Value: Value{ - AccessKeyID: id, - SecretAccessKey: secret, - SessionToken: token, - }}) -} - -// NewStaticCredentialsFromCreds returns a pointer to a new Credentials object -// wrapping the static credentials value provide. Same as NewStaticCredentials -// but takes the creds Value instead of individual fields -func NewStaticCredentialsFromCreds(creds Value) *Credentials { - return NewCredentials(&StaticProvider{Value: creds}) -} - -// Retrieve returns the credentials or error if the credentials are invalid. -func (s *StaticProvider) Retrieve() (Value, error) { - if s.AccessKeyID == "" || s.SecretAccessKey == "" { - return Value{ProviderName: StaticProviderName}, ErrStaticCredentialsEmpty - } - - if len(s.Value.ProviderName) == 0 { - s.Value.ProviderName = StaticProviderName - } - return s.Value, nil -} - -// IsExpired returns if the credentials are expired. -// -// For StaticProvider, the credentials never expired. -func (s *StaticProvider) IsExpired() bool { - return false -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go deleted file mode 100644 index 4108e43..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go +++ /dev/null @@ -1,298 +0,0 @@ -/* -Package stscreds are credential Providers to retrieve STS AWS credentials. - -STS provides multiple ways to retrieve credentials which can be used when making -future AWS service API operation calls. - -The SDK will ensure that per instance of credentials.Credentials all requests -to refresh the credentials will be synchronized. But, the SDK is unable to -ensure synchronous usage of the AssumeRoleProvider if the value is shared -between multiple Credentials, Sessions or service clients. - -Assume Role - -To assume an IAM role using STS with the SDK you can create a new Credentials -with the SDKs's stscreds package. - - // Initial credentials loaded from SDK's default credential chain. Such as - // the environment, shared credentials (~/.aws/credentials), or EC2 Instance - // Role. These credentials will be used to to make the STS Assume Role API. - sess := session.Must(session.NewSession()) - - // Create the credentials from AssumeRoleProvider to assume the role - // referenced by the "myRoleARN" ARN. - creds := stscreds.NewCredentials(sess, "myRoleArn") - - // Create service client value configured for credentials - // from assumed role. - svc := s3.New(sess, &aws.Config{Credentials: creds}) - -Assume Role with static MFA Token - -To assume an IAM role with a MFA token you can either specify a MFA token code -directly or provide a function to prompt the user each time the credentials -need to refresh the role's credentials. Specifying the TokenCode should be used -for short lived operations that will not need to be refreshed, and when you do -not want to have direct control over the user provides their MFA token. - -With TokenCode the AssumeRoleProvider will be not be able to refresh the role's -credentials. - - // Create the credentials from AssumeRoleProvider to assume the role - // referenced by the "myRoleARN" ARN using the MFA token code provided. - creds := stscreds.NewCredentials(sess, "myRoleArn", func(p *stscreds.AssumeRoleProvider) { - p.SerialNumber = aws.String("myTokenSerialNumber") - p.TokenCode = aws.String("00000000") - }) - - // Create service client value configured for credentials - // from assumed role. - svc := s3.New(sess, &aws.Config{Credentials: creds}) - -Assume Role with MFA Token Provider - -To assume an IAM role with MFA for longer running tasks where the credentials -may need to be refreshed setting the TokenProvider field of AssumeRoleProvider -will allow the credential provider to prompt for new MFA token code when the -role's credentials need to be refreshed. - -The StdinTokenProvider function is available to prompt on stdin to retrieve -the MFA token code from the user. You can also implement custom prompts by -satisfing the TokenProvider function signature. - -Using StdinTokenProvider with multiple AssumeRoleProviders, or Credentials will -have undesirable results as the StdinTokenProvider will not be synchronized. A -single Credentials with an AssumeRoleProvider can be shared safely. - - // Create the credentials from AssumeRoleProvider to assume the role - // referenced by the "myRoleARN" ARN. Prompting for MFA token from stdin. - creds := stscreds.NewCredentials(sess, "myRoleArn", func(p *stscreds.AssumeRoleProvider) { - p.SerialNumber = aws.String("myTokenSerialNumber") - p.TokenProvider = stscreds.StdinTokenProvider - }) - - // Create service client value configured for credentials - // from assumed role. - svc := s3.New(sess, &aws.Config{Credentials: creds}) - -*/ -package stscreds - -import ( - "fmt" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/client" - "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/service/sts" -) - -// StdinTokenProvider will prompt on stdout and read from stdin for a string value. -// An error is returned if reading from stdin fails. -// -// Use this function go read MFA tokens from stdin. The function makes no attempt -// to make atomic prompts from stdin across multiple gorouties. -// -// Using StdinTokenProvider with multiple AssumeRoleProviders, or Credentials will -// have undesirable results as the StdinTokenProvider will not be synchronized. A -// single Credentials with an AssumeRoleProvider can be shared safely -// -// Will wait forever until something is provided on the stdin. -func StdinTokenProvider() (string, error) { - var v string - fmt.Printf("Assume Role MFA token code: ") - _, err := fmt.Scanln(&v) - - return v, err -} - -// ProviderName provides a name of AssumeRole provider -const ProviderName = "AssumeRoleProvider" - -// AssumeRoler represents the minimal subset of the STS client API used by this provider. -type AssumeRoler interface { - AssumeRole(input *sts.AssumeRoleInput) (*sts.AssumeRoleOutput, error) -} - -// DefaultDuration is the default amount of time in minutes that the credentials -// will be valid for. -var DefaultDuration = time.Duration(15) * time.Minute - -// AssumeRoleProvider retrieves temporary credentials from the STS service, and -// keeps track of their expiration time. -// -// This credential provider will be used by the SDKs default credential change -// when shared configuration is enabled, and the shared config or shared credentials -// file configure assume role. See Session docs for how to do this. -// -// AssumeRoleProvider does not provide any synchronization and it is not safe -// to share this value across multiple Credentials, Sessions, or service clients -// without also sharing the same Credentials instance. -type AssumeRoleProvider struct { - credentials.Expiry - - // STS client to make assume role request with. - Client AssumeRoler - - // Role to be assumed. - RoleARN string - - // Session name, if you wish to reuse the credentials elsewhere. - RoleSessionName string - - // Expiry duration of the STS credentials. Defaults to 15 minutes if not set. - Duration time.Duration - - // Optional ExternalID to pass along, defaults to nil if not set. - ExternalID *string - - // The policy plain text must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, with 100% equaling the maximum allowed - // size. - Policy *string - - // The identification number of the MFA device that is associated with the user - // who is making the AssumeRole call. Specify this value if the trust policy - // of the role being assumed includes a condition that requires MFA authentication. - // The value is either the serial number for a hardware device (such as GAHT12345678) - // or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). - SerialNumber *string - - // The value provided by the MFA device, if the trust policy of the role being - // assumed requires MFA (that is, if the policy includes a condition that tests - // for MFA). If the role being assumed requires MFA and if the TokenCode value - // is missing or expired, the AssumeRole call returns an "access denied" error. - // - // If SerialNumber is set and neither TokenCode nor TokenProvider are also - // set an error will be returned. - TokenCode *string - - // Async method of providing MFA token code for assuming an IAM role with MFA. - // The value returned by the function will be used as the TokenCode in the Retrieve - // call. See StdinTokenProvider for a provider that prompts and reads from stdin. - // - // This token provider will be called when ever the assumed role's - // credentials need to be refreshed when SerialNumber is also set and - // TokenCode is not set. - // - // If both TokenCode and TokenProvider is set, TokenProvider will be used and - // TokenCode is ignored. - TokenProvider func() (string, error) - - // ExpiryWindow will allow the credentials to trigger refreshing prior to - // the credentials actually expiring. This is beneficial so race conditions - // with expiring credentials do not cause request to fail unexpectedly - // due to ExpiredTokenException exceptions. - // - // So a ExpiryWindow of 10s would cause calls to IsExpired() to return true - // 10 seconds before the credentials are actually expired. - // - // If ExpiryWindow is 0 or less it will be ignored. - ExpiryWindow time.Duration -} - -// NewCredentials returns a pointer to a new Credentials object wrapping the -// AssumeRoleProvider. The credentials will expire every 15 minutes and the -// role will be named after a nanosecond timestamp of this operation. -// -// Takes a Config provider to create the STS client. The ConfigProvider is -// satisfied by the session.Session type. -// -// It is safe to share the returned Credentials with multiple Sessions and -// service clients. All access to the credentials and refreshing them -// will be synchronized. -func NewCredentials(c client.ConfigProvider, roleARN string, options ...func(*AssumeRoleProvider)) *credentials.Credentials { - p := &AssumeRoleProvider{ - Client: sts.New(c), - RoleARN: roleARN, - Duration: DefaultDuration, - } - - for _, option := range options { - option(p) - } - - return credentials.NewCredentials(p) -} - -// NewCredentialsWithClient returns a pointer to a new Credentials object wrapping the -// AssumeRoleProvider. The credentials will expire every 15 minutes and the -// role will be named after a nanosecond timestamp of this operation. -// -// Takes an AssumeRoler which can be satisfied by the STS client. -// -// It is safe to share the returned Credentials with multiple Sessions and -// service clients. All access to the credentials and refreshing them -// will be synchronized. -func NewCredentialsWithClient(svc AssumeRoler, roleARN string, options ...func(*AssumeRoleProvider)) *credentials.Credentials { - p := &AssumeRoleProvider{ - Client: svc, - RoleARN: roleARN, - Duration: DefaultDuration, - } - - for _, option := range options { - option(p) - } - - return credentials.NewCredentials(p) -} - -// Retrieve generates a new set of temporary credentials using STS. -func (p *AssumeRoleProvider) Retrieve() (credentials.Value, error) { - - // Apply defaults where parameters are not set. - if p.RoleSessionName == "" { - // Try to work out a role name that will hopefully end up unique. - p.RoleSessionName = fmt.Sprintf("%d", time.Now().UTC().UnixNano()) - } - if p.Duration == 0 { - // Expire as often as AWS permits. - p.Duration = DefaultDuration - } - input := &sts.AssumeRoleInput{ - DurationSeconds: aws.Int64(int64(p.Duration / time.Second)), - RoleArn: aws.String(p.RoleARN), - RoleSessionName: aws.String(p.RoleSessionName), - ExternalId: p.ExternalID, - } - if p.Policy != nil { - input.Policy = p.Policy - } - if p.SerialNumber != nil { - if p.TokenCode != nil { - input.SerialNumber = p.SerialNumber - input.TokenCode = p.TokenCode - } else if p.TokenProvider != nil { - input.SerialNumber = p.SerialNumber - code, err := p.TokenProvider() - if err != nil { - return credentials.Value{ProviderName: ProviderName}, err - } - input.TokenCode = aws.String(code) - } else { - return credentials.Value{ProviderName: ProviderName}, - awserr.New("AssumeRoleTokenNotAvailable", - "assume role with MFA enabled, but neither TokenCode nor TokenProvider are set", nil) - } - } - - roleOutput, err := p.Client.AssumeRole(input) - if err != nil { - return credentials.Value{ProviderName: ProviderName}, err - } - - // We will proactively generate new credentials before they expire. - p.SetExpiration(*roleOutput.Credentials.Expiration, p.ExpiryWindow) - - return credentials.Value{ - AccessKeyID: *roleOutput.Credentials.AccessKeyId, - SecretAccessKey: *roleOutput.Credentials.SecretAccessKey, - SessionToken: *roleOutput.Credentials.SessionToken, - ProviderName: ProviderName, - }, nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go deleted file mode 100644 index 152d785..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/csm/doc.go +++ /dev/null @@ -1,46 +0,0 @@ -// Package csm provides Client Side Monitoring (CSM) which enables sending metrics -// via UDP connection. Using the Start function will enable the reporting of -// metrics on a given port. If Start is called, with different parameters, again, -// a panic will occur. -// -// Pause can be called to pause any metrics publishing on a given port. Sessions -// that have had their handlers modified via InjectHandlers may still be used. -// However, the handlers will act as a no-op meaning no metrics will be published. -// -// Example: -// r, err := csm.Start("clientID", ":31000") -// if err != nil { -// panic(fmt.Errorf("failed starting CSM: %v", err)) -// } -// -// sess, err := session.NewSession(&aws.Config{}) -// if err != nil { -// panic(fmt.Errorf("failed loading session: %v", err)) -// } -// -// r.InjectHandlers(&sess.Handlers) -// -// client := s3.New(sess) -// resp, err := client.GetObject(&s3.GetObjectInput{ -// Bucket: aws.String("bucket"), -// Key: aws.String("key"), -// }) -// -// // Will pause monitoring -// r.Pause() -// resp, err = client.GetObject(&s3.GetObjectInput{ -// Bucket: aws.String("bucket"), -// Key: aws.String("key"), -// }) -// -// // Resume monitoring -// r.Continue() -// -// Start returns a Reporter that is used to enable or disable monitoring. If -// access to the Reporter is required later, calling Get will return the Reporter -// singleton. -// -// Example: -// r := csm.Get() -// r.Continue() -package csm diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/enable.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/enable.go deleted file mode 100644 index 2f0c6ea..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/csm/enable.go +++ /dev/null @@ -1,67 +0,0 @@ -package csm - -import ( - "fmt" - "sync" -) - -var ( - lock sync.Mutex -) - -// Client side metric handler names -const ( - APICallMetricHandlerName = "awscsm.SendAPICallMetric" - APICallAttemptMetricHandlerName = "awscsm.SendAPICallAttemptMetric" -) - -// Start will start the a long running go routine to capture -// client side metrics. Calling start multiple time will only -// start the metric listener once and will panic if a different -// client ID or port is passed in. -// -// Example: -// r, err := csm.Start("clientID", "127.0.0.1:8094") -// if err != nil { -// panic(fmt.Errorf("expected no error, but received %v", err)) -// } -// sess := session.NewSession() -// r.InjectHandlers(sess.Handlers) -// -// svc := s3.New(sess) -// out, err := svc.GetObject(&s3.GetObjectInput{ -// Bucket: aws.String("bucket"), -// Key: aws.String("key"), -// }) -func Start(clientID string, url string) (*Reporter, error) { - lock.Lock() - defer lock.Unlock() - - if sender == nil { - sender = newReporter(clientID, url) - } else { - if sender.clientID != clientID { - panic(fmt.Errorf("inconsistent client IDs. %q was expected, but received %q", sender.clientID, clientID)) - } - - if sender.url != url { - panic(fmt.Errorf("inconsistent URLs. %q was expected, but received %q", sender.url, url)) - } - } - - if err := connect(url); err != nil { - sender = nil - return nil, err - } - - return sender, nil -} - -// Get will return a reporter if one exists, if one does not exist, nil will -// be returned. -func Get() *Reporter { - lock.Lock() - defer lock.Unlock() - - return sender -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go deleted file mode 100644 index 6f57024..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/csm/metric.go +++ /dev/null @@ -1,53 +0,0 @@ -package csm - -import ( - "strconv" - "time" -) - -type metricTime time.Time - -func (t metricTime) MarshalJSON() ([]byte, error) { - ns := time.Duration(time.Time(t).UnixNano()) - return []byte(strconv.FormatInt(int64(ns/time.Millisecond), 10)), nil -} - -type metric struct { - ClientID *string `json:"ClientId,omitempty"` - API *string `json:"Api,omitempty"` - Service *string `json:"Service,omitempty"` - Timestamp *metricTime `json:"Timestamp,omitempty"` - Type *string `json:"Type,omitempty"` - Version *int `json:"Version,omitempty"` - - AttemptCount *int `json:"AttemptCount,omitempty"` - Latency *int `json:"Latency,omitempty"` - - Fqdn *string `json:"Fqdn,omitempty"` - UserAgent *string `json:"UserAgent,omitempty"` - AttemptLatency *int `json:"AttemptLatency,omitempty"` - - SessionToken *string `json:"SessionToken,omitempty"` - Region *string `json:"Region,omitempty"` - AccessKey *string `json:"AccessKey,omitempty"` - HTTPStatusCode *int `json:"HttpStatusCode,omitempty"` - XAmzID2 *string `json:"XAmzId2,omitempty"` - XAmzRequestID *string `json:"XAmznRequestId,omitempty"` - - AWSException *string `json:"AwsException,omitempty"` - AWSExceptionMessage *string `json:"AwsExceptionMessage,omitempty"` - SDKException *string `json:"SdkException,omitempty"` - SDKExceptionMessage *string `json:"SdkExceptionMessage,omitempty"` - - DestinationIP *string `json:"DestinationIp,omitempty"` - ConnectionReused *int `json:"ConnectionReused,omitempty"` - - AcquireConnectionLatency *int `json:"AcquireConnectionLatency,omitempty"` - ConnectLatency *int `json:"ConnectLatency,omitempty"` - RequestLatency *int `json:"RequestLatency,omitempty"` - DNSLatency *int `json:"DnsLatency,omitempty"` - TCPLatency *int `json:"TcpLatency,omitempty"` - SSLLatency *int `json:"SslLatency,omitempty"` - - MaxRetriesExceeded *int `json:"MaxRetriesExceeded,omitempty"` -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/metric_chan.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/metric_chan.go deleted file mode 100644 index 514fc37..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/csm/metric_chan.go +++ /dev/null @@ -1,54 +0,0 @@ -package csm - -import ( - "sync/atomic" -) - -const ( - runningEnum = iota - pausedEnum -) - -var ( - // MetricsChannelSize of metrics to hold in the channel - MetricsChannelSize = 100 -) - -type metricChan struct { - ch chan metric - paused int64 -} - -func newMetricChan(size int) metricChan { - return metricChan{ - ch: make(chan metric, size), - } -} - -func (ch *metricChan) Pause() { - atomic.StoreInt64(&ch.paused, pausedEnum) -} - -func (ch *metricChan) Continue() { - atomic.StoreInt64(&ch.paused, runningEnum) -} - -func (ch *metricChan) IsPaused() bool { - v := atomic.LoadInt64(&ch.paused) - return v == pausedEnum -} - -// Push will push metrics to the metric channel if the channel -// is not paused -func (ch *metricChan) Push(m metric) bool { - if ch.IsPaused() { - return false - } - - select { - case ch.ch <- m: - return true - default: - return false - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go b/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go deleted file mode 100644 index 9a5697c..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/csm/reporter.go +++ /dev/null @@ -1,240 +0,0 @@ -package csm - -import ( - "encoding/json" - "net" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/request" -) - -const ( - // DefaultPort is used when no port is specified - DefaultPort = "31000" -) - -// Reporter will gather metrics of API requests made and -// send those metrics to the CSM endpoint. -type Reporter struct { - clientID string - url string - conn net.Conn - metricsCh metricChan - done chan struct{} -} - -var ( - sender *Reporter -) - -func connect(url string) error { - const network = "udp" - if err := sender.connect(network, url); err != nil { - return err - } - - if sender.done == nil { - sender.done = make(chan struct{}) - go sender.start() - } - - return nil -} - -func newReporter(clientID, url string) *Reporter { - return &Reporter{ - clientID: clientID, - url: url, - metricsCh: newMetricChan(MetricsChannelSize), - } -} - -func (rep *Reporter) sendAPICallAttemptMetric(r *request.Request) { - if rep == nil { - return - } - - now := time.Now() - creds, _ := r.Config.Credentials.Get() - - m := metric{ - ClientID: aws.String(rep.clientID), - API: aws.String(r.Operation.Name), - Service: aws.String(r.ClientInfo.ServiceID), - Timestamp: (*metricTime)(&now), - UserAgent: aws.String(r.HTTPRequest.Header.Get("User-Agent")), - Region: r.Config.Region, - Type: aws.String("ApiCallAttempt"), - Version: aws.Int(1), - - XAmzRequestID: aws.String(r.RequestID), - - AttemptCount: aws.Int(r.RetryCount + 1), - AttemptLatency: aws.Int(int(now.Sub(r.AttemptTime).Nanoseconds() / int64(time.Millisecond))), - AccessKey: aws.String(creds.AccessKeyID), - } - - if r.HTTPResponse != nil { - m.HTTPStatusCode = aws.Int(r.HTTPResponse.StatusCode) - } - - if r.Error != nil { - if awserr, ok := r.Error.(awserr.Error); ok { - setError(&m, awserr) - } - } - - rep.metricsCh.Push(m) -} - -func setError(m *metric, err awserr.Error) { - msg := err.Error() - code := err.Code() - - switch code { - case "RequestError", - "SerializationError", - request.CanceledErrorCode: - m.SDKException = &code - m.SDKExceptionMessage = &msg - default: - m.AWSException = &code - m.AWSExceptionMessage = &msg - } -} - -func (rep *Reporter) sendAPICallMetric(r *request.Request) { - if rep == nil { - return - } - - now := time.Now() - m := metric{ - ClientID: aws.String(rep.clientID), - API: aws.String(r.Operation.Name), - Service: aws.String(r.ClientInfo.ServiceID), - Timestamp: (*metricTime)(&now), - Type: aws.String("ApiCall"), - AttemptCount: aws.Int(r.RetryCount + 1), - Region: r.Config.Region, - Latency: aws.Int(int(time.Now().Sub(r.Time) / time.Millisecond)), - XAmzRequestID: aws.String(r.RequestID), - MaxRetriesExceeded: aws.Int(boolIntValue(r.RetryCount >= r.MaxRetries())), - } - - // TODO: Probably want to figure something out for logging dropped - // metrics - rep.metricsCh.Push(m) -} - -func (rep *Reporter) connect(network, url string) error { - if rep.conn != nil { - rep.conn.Close() - } - - conn, err := net.Dial(network, url) - if err != nil { - return awserr.New("UDPError", "Could not connect", err) - } - - rep.conn = conn - - return nil -} - -func (rep *Reporter) close() { - if rep.done != nil { - close(rep.done) - } - - rep.metricsCh.Pause() -} - -func (rep *Reporter) start() { - defer func() { - rep.metricsCh.Pause() - }() - - for { - select { - case <-rep.done: - rep.done = nil - return - case m := <-rep.metricsCh.ch: - // TODO: What to do with this error? Probably should just log - b, err := json.Marshal(m) - if err != nil { - continue - } - - rep.conn.Write(b) - } - } -} - -// Pause will pause the metric channel preventing any new metrics from -// being added. -func (rep *Reporter) Pause() { - lock.Lock() - defer lock.Unlock() - - if rep == nil { - return - } - - rep.close() -} - -// Continue will reopen the metric channel and allow for monitoring -// to be resumed. -func (rep *Reporter) Continue() { - lock.Lock() - defer lock.Unlock() - if rep == nil { - return - } - - if !rep.metricsCh.IsPaused() { - return - } - - rep.metricsCh.Continue() -} - -// InjectHandlers will will enable client side metrics and inject the proper -// handlers to handle how metrics are sent. -// -// Example: -// // Start must be called in order to inject the correct handlers -// r, err := csm.Start("clientID", "127.0.0.1:8094") -// if err != nil { -// panic(fmt.Errorf("expected no error, but received %v", err)) -// } -// -// sess := session.NewSession() -// r.InjectHandlers(&sess.Handlers) -// -// // create a new service client with our client side metric session -// svc := s3.New(sess) -func (rep *Reporter) InjectHandlers(handlers *request.Handlers) { - if rep == nil { - return - } - - apiCallHandler := request.NamedHandler{Name: APICallMetricHandlerName, Fn: rep.sendAPICallMetric} - apiCallAttemptHandler := request.NamedHandler{Name: APICallAttemptMetricHandlerName, Fn: rep.sendAPICallAttemptMetric} - - handlers.Complete.PushFrontNamed(apiCallHandler) - handlers.CompleteAttempt.PushFrontNamed(apiCallAttemptHandler) -} - -// boolIntValue return 1 for true and 0 for false. -func boolIntValue(b bool) int { - if b { - return 1 - } - - return 0 -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go deleted file mode 100644 index 23bb639..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go +++ /dev/null @@ -1,207 +0,0 @@ -// Package defaults is a collection of helpers to retrieve the SDK's default -// configuration and handlers. -// -// Generally this package shouldn't be used directly, but session.Session -// instead. This package is useful when you need to reset the defaults -// of a session or service client to the SDK defaults before setting -// additional parameters. -package defaults - -import ( - "fmt" - "net" - "net/http" - "net/url" - "os" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/corehandlers" - "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds" - "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds" - "github.com/aws/aws-sdk-go/aws/ec2metadata" - "github.com/aws/aws-sdk-go/aws/endpoints" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/internal/shareddefaults" -) - -// A Defaults provides a collection of default values for SDK clients. -type Defaults struct { - Config *aws.Config - Handlers request.Handlers -} - -// Get returns the SDK's default values with Config and handlers pre-configured. -func Get() Defaults { - cfg := Config() - handlers := Handlers() - cfg.Credentials = CredChain(cfg, handlers) - - return Defaults{ - Config: cfg, - Handlers: handlers, - } -} - -// Config returns the default configuration without credentials. -// To retrieve a config with credentials also included use -// `defaults.Get().Config` instead. -// -// Generally you shouldn't need to use this method directly, but -// is available if you need to reset the configuration of an -// existing service client or session. -func Config() *aws.Config { - return aws.NewConfig(). - WithCredentials(credentials.AnonymousCredentials). - WithRegion(os.Getenv("AWS_REGION")). - WithHTTPClient(http.DefaultClient). - WithMaxRetries(aws.UseServiceDefaultRetries). - WithLogger(aws.NewDefaultLogger()). - WithLogLevel(aws.LogOff). - WithEndpointResolver(endpoints.DefaultResolver()) -} - -// Handlers returns the default request handlers. -// -// Generally you shouldn't need to use this method directly, but -// is available if you need to reset the request handlers of an -// existing service client or session. -func Handlers() request.Handlers { - var handlers request.Handlers - - handlers.Validate.PushBackNamed(corehandlers.ValidateEndpointHandler) - handlers.Validate.AfterEachFn = request.HandlerListStopOnError - handlers.Build.PushBackNamed(corehandlers.SDKVersionUserAgentHandler) - handlers.Build.PushBackNamed(corehandlers.AddHostExecEnvUserAgentHander) - handlers.Build.AfterEachFn = request.HandlerListStopOnError - handlers.Sign.PushBackNamed(corehandlers.BuildContentLengthHandler) - handlers.Send.PushBackNamed(corehandlers.ValidateReqSigHandler) - handlers.Send.PushBackNamed(corehandlers.SendHandler) - handlers.AfterRetry.PushBackNamed(corehandlers.AfterRetryHandler) - handlers.ValidateResponse.PushBackNamed(corehandlers.ValidateResponseHandler) - - return handlers -} - -// CredChain returns the default credential chain. -// -// Generally you shouldn't need to use this method directly, but -// is available if you need to reset the credentials of an -// existing service client or session's Config. -func CredChain(cfg *aws.Config, handlers request.Handlers) *credentials.Credentials { - return credentials.NewCredentials(&credentials.ChainProvider{ - VerboseErrors: aws.BoolValue(cfg.CredentialsChainVerboseErrors), - Providers: CredProviders(cfg, handlers), - }) -} - -// CredProviders returns the slice of providers used in -// the default credential chain. -// -// For applications that need to use some other provider (for example use -// different environment variables for legacy reasons) but still fall back -// on the default chain of providers. This allows that default chaint to be -// automatically updated -func CredProviders(cfg *aws.Config, handlers request.Handlers) []credentials.Provider { - return []credentials.Provider{ - &credentials.EnvProvider{}, - &credentials.SharedCredentialsProvider{Filename: "", Profile: ""}, - RemoteCredProvider(*cfg, handlers), - } -} - -const ( - httpProviderAuthorizationEnvVar = "AWS_CONTAINER_AUTHORIZATION_TOKEN" - httpProviderEnvVar = "AWS_CONTAINER_CREDENTIALS_FULL_URI" -) - -// RemoteCredProvider returns a credentials provider for the default remote -// endpoints such as EC2 or ECS Roles. -func RemoteCredProvider(cfg aws.Config, handlers request.Handlers) credentials.Provider { - if u := os.Getenv(httpProviderEnvVar); len(u) > 0 { - return localHTTPCredProvider(cfg, handlers, u) - } - - if uri := os.Getenv(shareddefaults.ECSCredsProviderEnvVar); len(uri) > 0 { - u := fmt.Sprintf("%s%s", shareddefaults.ECSContainerCredentialsURI, uri) - return httpCredProvider(cfg, handlers, u) - } - - return ec2RoleProvider(cfg, handlers) -} - -var lookupHostFn = net.LookupHost - -func isLoopbackHost(host string) (bool, error) { - ip := net.ParseIP(host) - if ip != nil { - return ip.IsLoopback(), nil - } - - // Host is not an ip, perform lookup - addrs, err := lookupHostFn(host) - if err != nil { - return false, err - } - for _, addr := range addrs { - if !net.ParseIP(addr).IsLoopback() { - return false, nil - } - } - - return true, nil -} - -func localHTTPCredProvider(cfg aws.Config, handlers request.Handlers, u string) credentials.Provider { - var errMsg string - - parsed, err := url.Parse(u) - if err != nil { - errMsg = fmt.Sprintf("invalid URL, %v", err) - } else { - host := aws.URLHostname(parsed) - if len(host) == 0 { - errMsg = "unable to parse host from local HTTP cred provider URL" - } else if isLoopback, loopbackErr := isLoopbackHost(host); loopbackErr != nil { - errMsg = fmt.Sprintf("failed to resolve host %q, %v", host, loopbackErr) - } else if !isLoopback { - errMsg = fmt.Sprintf("invalid endpoint host, %q, only loopback hosts are allowed.", host) - } - } - - if len(errMsg) > 0 { - if cfg.Logger != nil { - cfg.Logger.Log("Ignoring, HTTP credential provider", errMsg, err) - } - return credentials.ErrorProvider{ - Err: awserr.New("CredentialsEndpointError", errMsg, err), - ProviderName: endpointcreds.ProviderName, - } - } - - return httpCredProvider(cfg, handlers, u) -} - -func httpCredProvider(cfg aws.Config, handlers request.Handlers, u string) credentials.Provider { - return endpointcreds.NewProviderClient(cfg, handlers, u, - func(p *endpointcreds.Provider) { - p.ExpiryWindow = 5 * time.Minute - p.AuthorizationToken = os.Getenv(httpProviderAuthorizationEnvVar) - }, - ) -} - -func ec2RoleProvider(cfg aws.Config, handlers request.Handlers) credentials.Provider { - resolver := cfg.EndpointResolver - if resolver == nil { - resolver = endpoints.DefaultResolver() - } - - e, _ := resolver.EndpointFor(endpoints.Ec2metadataServiceID, "") - return &ec2rolecreds.EC2RoleProvider{ - Client: ec2metadata.NewClient(cfg, handlers, e.URL, e.SigningRegion), - ExpiryWindow: 5 * time.Minute, - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.go b/vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.go deleted file mode 100644 index ca0ee1d..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.go +++ /dev/null @@ -1,27 +0,0 @@ -package defaults - -import ( - "github.com/aws/aws-sdk-go/internal/shareddefaults" -) - -// SharedCredentialsFilename returns the SDK's default file path -// for the shared credentials file. -// -// Builds the shared config file path based on the OS's platform. -// -// - Linux/Unix: $HOME/.aws/credentials -// - Windows: %USERPROFILE%\.aws\credentials -func SharedCredentialsFilename() string { - return shareddefaults.SharedCredentialsFilename() -} - -// SharedConfigFilename returns the SDK's default file path for -// the shared config file. -// -// Builds the shared config file path based on the OS's platform. -// -// - Linux/Unix: $HOME/.aws/config -// - Windows: %USERPROFILE%\.aws\config -func SharedConfigFilename() string { - return shareddefaults.SharedConfigFilename() -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/doc.go deleted file mode 100644 index 4fcb616..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/doc.go +++ /dev/null @@ -1,56 +0,0 @@ -// Package aws provides the core SDK's utilities and shared types. Use this package's -// utilities to simplify setting and reading API operations parameters. -// -// Value and Pointer Conversion Utilities -// -// This package includes a helper conversion utility for each scalar type the SDK's -// API use. These utilities make getting a pointer of the scalar, and dereferencing -// a pointer easier. -// -// Each conversion utility comes in two forms. Value to Pointer and Pointer to Value. -// The Pointer to value will safely dereference the pointer and return its value. -// If the pointer was nil, the scalar's zero value will be returned. -// -// The value to pointer functions will be named after the scalar type. So get a -// *string from a string value use the "String" function. This makes it easy to -// to get pointer of a literal string value, because getting the address of a -// literal requires assigning the value to a variable first. -// -// var strPtr *string -// -// // Without the SDK's conversion functions -// str := "my string" -// strPtr = &str -// -// // With the SDK's conversion functions -// strPtr = aws.String("my string") -// -// // Convert *string to string value -// str = aws.StringValue(strPtr) -// -// In addition to scalars the aws package also includes conversion utilities for -// map and slice for commonly types used in API parameters. The map and slice -// conversion functions use similar naming pattern as the scalar conversion -// functions. -// -// var strPtrs []*string -// var strs []string = []string{"Go", "Gophers", "Go"} -// -// // Convert []string to []*string -// strPtrs = aws.StringSlice(strs) -// -// // Convert []*string to []string -// strs = aws.StringValueSlice(strPtrs) -// -// SDK Default HTTP Client -// -// The SDK will use the http.DefaultClient if a HTTP client is not provided to -// the SDK's Session, or service client constructor. This means that if the -// http.DefaultClient is modified by other components of your application the -// modifications will be picked up by the SDK as well. -// -// In some cases this might be intended, but it is a better practice to create -// a custom HTTP Client to share explicitly through your application. You can -// configure the SDK to use the custom HTTP Client by setting the HTTPClient -// value of the SDK's Config type when creating a Session or service client. -package aws diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go deleted file mode 100644 index c215cd3..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go +++ /dev/null @@ -1,162 +0,0 @@ -package ec2metadata - -import ( - "encoding/json" - "fmt" - "net/http" - "strings" - "time" - - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/internal/sdkuri" -) - -// GetMetadata uses the path provided to request information from the EC2 -// instance metdata service. The content will be returned as a string, or -// error if the request failed. -func (c *EC2Metadata) GetMetadata(p string) (string, error) { - op := &request.Operation{ - Name: "GetMetadata", - HTTPMethod: "GET", - HTTPPath: sdkuri.PathJoin("/meta-data", p), - } - - output := &metadataOutput{} - req := c.NewRequest(op, nil, output) - - return output.Content, req.Send() -} - -// GetUserData returns the userdata that was configured for the service. If -// there is no user-data setup for the EC2 instance a "NotFoundError" error -// code will be returned. -func (c *EC2Metadata) GetUserData() (string, error) { - op := &request.Operation{ - Name: "GetUserData", - HTTPMethod: "GET", - HTTPPath: "/user-data", - } - - output := &metadataOutput{} - req := c.NewRequest(op, nil, output) - req.Handlers.UnmarshalError.PushBack(func(r *request.Request) { - if r.HTTPResponse.StatusCode == http.StatusNotFound { - r.Error = awserr.New("NotFoundError", "user-data not found", r.Error) - } - }) - - return output.Content, req.Send() -} - -// GetDynamicData uses the path provided to request information from the EC2 -// instance metadata service for dynamic data. The content will be returned -// as a string, or error if the request failed. -func (c *EC2Metadata) GetDynamicData(p string) (string, error) { - op := &request.Operation{ - Name: "GetDynamicData", - HTTPMethod: "GET", - HTTPPath: sdkuri.PathJoin("/dynamic", p), - } - - output := &metadataOutput{} - req := c.NewRequest(op, nil, output) - - return output.Content, req.Send() -} - -// GetInstanceIdentityDocument retrieves an identity document describing an -// instance. Error is returned if the request fails or is unable to parse -// the response. -func (c *EC2Metadata) GetInstanceIdentityDocument() (EC2InstanceIdentityDocument, error) { - resp, err := c.GetDynamicData("instance-identity/document") - if err != nil { - return EC2InstanceIdentityDocument{}, - awserr.New("EC2MetadataRequestError", - "failed to get EC2 instance identity document", err) - } - - doc := EC2InstanceIdentityDocument{} - if err := json.NewDecoder(strings.NewReader(resp)).Decode(&doc); err != nil { - return EC2InstanceIdentityDocument{}, - awserr.New("SerializationError", - "failed to decode EC2 instance identity document", err) - } - - return doc, nil -} - -// IAMInfo retrieves IAM info from the metadata API -func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error) { - resp, err := c.GetMetadata("iam/info") - if err != nil { - return EC2IAMInfo{}, - awserr.New("EC2MetadataRequestError", - "failed to get EC2 IAM info", err) - } - - info := EC2IAMInfo{} - if err := json.NewDecoder(strings.NewReader(resp)).Decode(&info); err != nil { - return EC2IAMInfo{}, - awserr.New("SerializationError", - "failed to decode EC2 IAM info", err) - } - - if info.Code != "Success" { - errMsg := fmt.Sprintf("failed to get EC2 IAM Info (%s)", info.Code) - return EC2IAMInfo{}, - awserr.New("EC2MetadataError", errMsg, nil) - } - - return info, nil -} - -// Region returns the region the instance is running in. -func (c *EC2Metadata) Region() (string, error) { - resp, err := c.GetMetadata("placement/availability-zone") - if err != nil { - return "", err - } - - // returns region without the suffix. Eg: us-west-2a becomes us-west-2 - return resp[:len(resp)-1], nil -} - -// Available returns if the application has access to the EC2 Metadata service. -// Can be used to determine if application is running within an EC2 Instance and -// the metadata service is available. -func (c *EC2Metadata) Available() bool { - if _, err := c.GetMetadata("instance-id"); err != nil { - return false - } - - return true -} - -// An EC2IAMInfo provides the shape for unmarshaling -// an IAM info from the metadata API -type EC2IAMInfo struct { - Code string - LastUpdated time.Time - InstanceProfileArn string - InstanceProfileID string -} - -// An EC2InstanceIdentityDocument provides the shape for unmarshaling -// an instance identity document -type EC2InstanceIdentityDocument struct { - DevpayProductCodes []string `json:"devpayProductCodes"` - AvailabilityZone string `json:"availabilityZone"` - PrivateIP string `json:"privateIp"` - Version string `json:"version"` - Region string `json:"region"` - InstanceID string `json:"instanceId"` - BillingProducts []string `json:"billingProducts"` - InstanceType string `json:"instanceType"` - AccountID string `json:"accountId"` - PendingTime time.Time `json:"pendingTime"` - ImageID string `json:"imageId"` - KernelID string `json:"kernelId"` - RamdiskID string `json:"ramdiskId"` - Architecture string `json:"architecture"` -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go deleted file mode 100644 index 53457ca..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go +++ /dev/null @@ -1,149 +0,0 @@ -// Package ec2metadata provides the client for making API calls to the -// EC2 Metadata service. -// -// This package's client can be disabled completely by setting the environment -// variable "AWS_EC2_METADATA_DISABLED=true". This environment variable set to -// true instructs the SDK to disable the EC2 Metadata client. The client cannot -// be used while the environemnt variable is set to true, (case insensitive). -package ec2metadata - -import ( - "bytes" - "errors" - "io" - "net/http" - "os" - "strings" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/client" - "github.com/aws/aws-sdk-go/aws/client/metadata" - "github.com/aws/aws-sdk-go/aws/corehandlers" - "github.com/aws/aws-sdk-go/aws/request" -) - -// ServiceName is the name of the service. -const ServiceName = "ec2metadata" -const disableServiceEnvVar = "AWS_EC2_METADATA_DISABLED" - -// A EC2Metadata is an EC2 Metadata service Client. -type EC2Metadata struct { - *client.Client -} - -// New creates a new instance of the EC2Metadata client with a session. -// This client is safe to use across multiple goroutines. -// -// -// Example: -// // Create a EC2Metadata client from just a session. -// svc := ec2metadata.New(mySession) -// -// // Create a EC2Metadata client with additional configuration -// svc := ec2metadata.New(mySession, aws.NewConfig().WithLogLevel(aws.LogDebugHTTPBody)) -func New(p client.ConfigProvider, cfgs ...*aws.Config) *EC2Metadata { - c := p.ClientConfig(ServiceName, cfgs...) - return NewClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion) -} - -// NewClient returns a new EC2Metadata client. Should be used to create -// a client when not using a session. Generally using just New with a session -// is preferred. -// -// If an unmodified HTTP client is provided from the stdlib default, or no client -// the EC2RoleProvider's EC2Metadata HTTP client's timeout will be shortened. -// To disable this set Config.EC2MetadataDisableTimeoutOverride to false. Enabled by default. -func NewClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string, opts ...func(*client.Client)) *EC2Metadata { - if !aws.BoolValue(cfg.EC2MetadataDisableTimeoutOverride) && httpClientZero(cfg.HTTPClient) { - // If the http client is unmodified and this feature is not disabled - // set custom timeouts for EC2Metadata requests. - cfg.HTTPClient = &http.Client{ - // use a shorter timeout than default because the metadata - // service is local if it is running, and to fail faster - // if not running on an ec2 instance. - Timeout: 5 * time.Second, - } - } - - svc := &EC2Metadata{ - Client: client.New( - cfg, - metadata.ClientInfo{ - ServiceName: ServiceName, - ServiceID: ServiceName, - Endpoint: endpoint, - APIVersion: "latest", - }, - handlers, - ), - } - - svc.Handlers.Unmarshal.PushBack(unmarshalHandler) - svc.Handlers.UnmarshalError.PushBack(unmarshalError) - svc.Handlers.Validate.Clear() - svc.Handlers.Validate.PushBack(validateEndpointHandler) - - // Disable the EC2 Metadata service if the environment variable is set. - // This shortcirctes the service's functionality to always fail to send - // requests. - if strings.ToLower(os.Getenv(disableServiceEnvVar)) == "true" { - svc.Handlers.Send.SwapNamed(request.NamedHandler{ - Name: corehandlers.SendHandler.Name, - Fn: func(r *request.Request) { - r.Error = awserr.New( - request.CanceledErrorCode, - "EC2 IMDS access disabled via "+disableServiceEnvVar+" env var", - nil) - }, - }) - } - - // Add additional options to the service config - for _, option := range opts { - option(svc.Client) - } - - return svc -} - -func httpClientZero(c *http.Client) bool { - return c == nil || (c.Transport == nil && c.CheckRedirect == nil && c.Jar == nil && c.Timeout == 0) -} - -type metadataOutput struct { - Content string -} - -func unmarshalHandler(r *request.Request) { - defer r.HTTPResponse.Body.Close() - b := &bytes.Buffer{} - if _, err := io.Copy(b, r.HTTPResponse.Body); err != nil { - r.Error = awserr.New("SerializationError", "unable to unmarshal EC2 metadata respose", err) - return - } - - if data, ok := r.Data.(*metadataOutput); ok { - data.Content = b.String() - } -} - -func unmarshalError(r *request.Request) { - defer r.HTTPResponse.Body.Close() - b := &bytes.Buffer{} - if _, err := io.Copy(b, r.HTTPResponse.Body); err != nil { - r.Error = awserr.New("SerializationError", "unable to unmarshal EC2 metadata error respose", err) - return - } - - // Response body format is not consistent between metadata endpoints. - // Grab the error message as a string and include that as the source error - r.Error = awserr.New("EC2MetadataError", "failed to make EC2Metadata request", errors.New(b.String())) -} - -func validateEndpointHandler(r *request.Request) { - if r.ClientInfo.Endpoint == "" { - r.Error = aws.ErrMissingEndpoint - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go deleted file mode 100644 index 1ddeae1..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go +++ /dev/null @@ -1,160 +0,0 @@ -package endpoints - -import ( - "encoding/json" - "fmt" - "io" - - "github.com/aws/aws-sdk-go/aws/awserr" -) - -type modelDefinition map[string]json.RawMessage - -// A DecodeModelOptions are the options for how the endpoints model definition -// are decoded. -type DecodeModelOptions struct { - SkipCustomizations bool -} - -// Set combines all of the option functions together. -func (d *DecodeModelOptions) Set(optFns ...func(*DecodeModelOptions)) { - for _, fn := range optFns { - fn(d) - } -} - -// DecodeModel unmarshals a Regions and Endpoint model definition file into -// a endpoint Resolver. If the file format is not supported, or an error occurs -// when unmarshaling the model an error will be returned. -// -// Casting the return value of this func to a EnumPartitions will -// allow you to get a list of the partitions in the order the endpoints -// will be resolved in. -// -// resolver, err := endpoints.DecodeModel(reader) -// -// partitions := resolver.(endpoints.EnumPartitions).Partitions() -// for _, p := range partitions { -// // ... inspect partitions -// } -func DecodeModel(r io.Reader, optFns ...func(*DecodeModelOptions)) (Resolver, error) { - var opts DecodeModelOptions - opts.Set(optFns...) - - // Get the version of the partition file to determine what - // unmarshaling model to use. - modelDef := modelDefinition{} - if err := json.NewDecoder(r).Decode(&modelDef); err != nil { - return nil, newDecodeModelError("failed to decode endpoints model", err) - } - - var version string - if b, ok := modelDef["version"]; ok { - version = string(b) - } else { - return nil, newDecodeModelError("endpoints version not found in model", nil) - } - - if version == "3" { - return decodeV3Endpoints(modelDef, opts) - } - - return nil, newDecodeModelError( - fmt.Sprintf("endpoints version %s, not supported", version), nil) -} - -func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resolver, error) { - b, ok := modelDef["partitions"] - if !ok { - return nil, newDecodeModelError("endpoints model missing partitions", nil) - } - - ps := partitions{} - if err := json.Unmarshal(b, &ps); err != nil { - return nil, newDecodeModelError("failed to decode endpoints model", err) - } - - if opts.SkipCustomizations { - return ps, nil - } - - // Customization - for i := 0; i < len(ps); i++ { - p := &ps[i] - custAddEC2Metadata(p) - custAddS3DualStack(p) - custRmIotDataService(p) - custFixAppAutoscalingChina(p) - } - - return ps, nil -} - -func custAddS3DualStack(p *partition) { - if p.ID != "aws" { - return - } - - custAddDualstack(p, "s3") - custAddDualstack(p, "s3-control") -} - -func custAddDualstack(p *partition, svcName string) { - s, ok := p.Services[svcName] - if !ok { - return - } - - s.Defaults.HasDualStack = boxedTrue - s.Defaults.DualStackHostname = "{service}.dualstack.{region}.{dnsSuffix}" - - p.Services[svcName] = s -} - -func custAddEC2Metadata(p *partition) { - p.Services["ec2metadata"] = service{ - IsRegionalized: boxedFalse, - PartitionEndpoint: "aws-global", - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "169.254.169.254/latest", - Protocols: []string{"http"}, - }, - }, - } -} - -func custRmIotDataService(p *partition) { - delete(p.Services, "data.iot") -} - -func custFixAppAutoscalingChina(p *partition) { - if p.ID != "aws-cn" { - return - } - - const serviceName = "application-autoscaling" - s, ok := p.Services[serviceName] - if !ok { - return - } - - const expectHostname = `autoscaling.{region}.amazonaws.com` - if e, a := s.Defaults.Hostname, expectHostname; e != a { - fmt.Printf("custFixAppAutoscalingChina: ignoring customization, expected %s, got %s\n", e, a) - return - } - - s.Defaults.Hostname = expectHostname + ".cn" - p.Services[serviceName] = s -} - -type decodeModelError struct { - awsError -} - -func newDecodeModelError(msg string, err error) decodeModelError { - return decodeModelError{ - awsError: awserr.New("DecodeEndpointsModelError", msg, err), - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go deleted file mode 100644 index c3bbaa0..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ /dev/null @@ -1,3690 +0,0 @@ -// Code generated by aws/endpoints/v3model_codegen.go. DO NOT EDIT. - -package endpoints - -import ( - "regexp" -) - -// Partition identifiers -const ( - AwsPartitionID = "aws" // AWS Standard partition. - AwsCnPartitionID = "aws-cn" // AWS China partition. - AwsUsGovPartitionID = "aws-us-gov" // AWS GovCloud (US) partition. -) - -// AWS Standard partition's regions. -const ( - ApNortheast1RegionID = "ap-northeast-1" // Asia Pacific (Tokyo). - ApNortheast2RegionID = "ap-northeast-2" // Asia Pacific (Seoul). - ApSouth1RegionID = "ap-south-1" // Asia Pacific (Mumbai). - ApSoutheast1RegionID = "ap-southeast-1" // Asia Pacific (Singapore). - ApSoutheast2RegionID = "ap-southeast-2" // Asia Pacific (Sydney). - CaCentral1RegionID = "ca-central-1" // Canada (Central). - EuCentral1RegionID = "eu-central-1" // EU (Frankfurt). - EuNorth1RegionID = "eu-north-1" // EU (Stockholm). - EuWest1RegionID = "eu-west-1" // EU (Ireland). - EuWest2RegionID = "eu-west-2" // EU (London). - EuWest3RegionID = "eu-west-3" // EU (Paris). - SaEast1RegionID = "sa-east-1" // South America (Sao Paulo). - UsEast1RegionID = "us-east-1" // US East (N. Virginia). - UsEast2RegionID = "us-east-2" // US East (Ohio). - UsWest1RegionID = "us-west-1" // US West (N. California). - UsWest2RegionID = "us-west-2" // US West (Oregon). -) - -// AWS China partition's regions. -const ( - CnNorth1RegionID = "cn-north-1" // China (Beijing). - CnNorthwest1RegionID = "cn-northwest-1" // China (Ningxia). -) - -// AWS GovCloud (US) partition's regions. -const ( - UsGovEast1RegionID = "us-gov-east-1" // AWS GovCloud (US-East). - UsGovWest1RegionID = "us-gov-west-1" // AWS GovCloud (US). -) - -// DefaultResolver returns an Endpoint resolver that will be able -// to resolve endpoints for: AWS Standard, AWS China, and AWS GovCloud (US). -// -// Use DefaultPartitions() to get the list of the default partitions. -func DefaultResolver() Resolver { - return defaultPartitions -} - -// DefaultPartitions returns a list of the partitions the SDK is bundled -// with. The available partitions are: AWS Standard, AWS China, and AWS GovCloud (US). -// -// partitions := endpoints.DefaultPartitions -// for _, p := range partitions { -// // ... inspect partitions -// } -func DefaultPartitions() []Partition { - return defaultPartitions.Partitions() -} - -var defaultPartitions = partitions{ - awsPartition, - awscnPartition, - awsusgovPartition, -} - -// AwsPartition returns the Resolver for AWS Standard. -func AwsPartition() Partition { - return awsPartition.Partition() -} - -var awsPartition = partition{ - ID: "aws", - Name: "AWS Standard", - DNSSuffix: "amazonaws.com", - RegionRegex: regionRegex{ - Regexp: func() *regexp.Regexp { - reg, _ := regexp.Compile("^(us|eu|ap|sa|ca)\\-\\w+\\-\\d+$") - return reg - }(), - }, - Defaults: endpoint{ - Hostname: "{service}.{region}.{dnsSuffix}", - Protocols: []string{"https"}, - SignatureVersions: []string{"v4"}, - }, - Regions: regions{ - "ap-northeast-1": region{ - Description: "Asia Pacific (Tokyo)", - }, - "ap-northeast-2": region{ - Description: "Asia Pacific (Seoul)", - }, - "ap-south-1": region{ - Description: "Asia Pacific (Mumbai)", - }, - "ap-southeast-1": region{ - Description: "Asia Pacific (Singapore)", - }, - "ap-southeast-2": region{ - Description: "Asia Pacific (Sydney)", - }, - "ca-central-1": region{ - Description: "Canada (Central)", - }, - "eu-central-1": region{ - Description: "EU (Frankfurt)", - }, - "eu-north-1": region{ - Description: "EU (Stockholm)", - }, - "eu-west-1": region{ - Description: "EU (Ireland)", - }, - "eu-west-2": region{ - Description: "EU (London)", - }, - "eu-west-3": region{ - Description: "EU (Paris)", - }, - "sa-east-1": region{ - Description: "South America (Sao Paulo)", - }, - "us-east-1": region{ - Description: "US East (N. Virginia)", - }, - "us-east-2": region{ - Description: "US East (Ohio)", - }, - "us-west-1": region{ - Description: "US West (N. California)", - }, - "us-west-2": region{ - Description: "US West (Oregon)", - }, - }, - Services: services{ - "a4b": service{ - - Endpoints: endpoints{ - "us-east-1": endpoint{}, - }, - }, - "acm": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "acm-pca": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "api.mediatailor": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - }, - }, - "api.pricing": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "pricing", - }, - }, - Endpoints: endpoints{ - "ap-south-1": endpoint{}, - "us-east-1": endpoint{}, - }, - }, - "api.sagemaker": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "apigateway": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "application-autoscaling": service{ - Defaults: endpoint{ - Hostname: "autoscaling.{region}.amazonaws.com", - Protocols: []string{"http", "https"}, - CredentialScope: credentialScope{ - Service: "application-autoscaling", - }, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "appstream2": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - CredentialScope: credentialScope{ - Service: "appstream", - }, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "appsync": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "athena": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "autoscaling": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "autoscaling-plans": service{ - Defaults: endpoint{ - Hostname: "autoscaling.{region}.amazonaws.com", - Protocols: []string{"http", "https"}, - CredentialScope: credentialScope{ - Service: "autoscaling-plans", - }, - }, - Endpoints: endpoints{ - "ap-southeast-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "batch": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "budgets": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "budgets.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - }, - }, - "ce": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "ce.us-east-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - }, - }, - "chime": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - Defaults: endpoint{ - SSLCommonName: "service.chime.aws.amazon.com", - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "service.chime.aws.amazon.com", - Protocols: []string{"https"}, - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - }, - }, - "cloud9": service{ - - Endpoints: endpoints{ - "ap-southeast-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "clouddirectory": service{ - - Endpoints: endpoints{ - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "cloudformation": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "cloudfront": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "cloudfront.amazonaws.com", - Protocols: []string{"http", "https"}, - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - }, - }, - "cloudhsm": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "cloudhsmv2": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "cloudhsm", - }, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "cloudsearch": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "cloudtrail": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "codebuild": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-1-fips": endpoint{ - Hostname: "codebuild-fips.us-east-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "us-east-2": endpoint{}, - "us-east-2-fips": endpoint{ - Hostname: "codebuild-fips.us-east-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-2", - }, - }, - "us-west-1": endpoint{}, - "us-west-1-fips": endpoint{ - Hostname: "codebuild-fips.us-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-1", - }, - }, - "us-west-2": endpoint{}, - "us-west-2-fips": endpoint{ - Hostname: "codebuild-fips.us-west-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-2", - }, - }, - }, - }, - "codecommit": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "fips": endpoint{ - Hostname: "codecommit-fips.ca-central-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "ca-central-1", - }, - }, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "codedeploy": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-1-fips": endpoint{ - Hostname: "codedeploy-fips.us-east-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "us-east-2": endpoint{}, - "us-east-2-fips": endpoint{ - Hostname: "codedeploy-fips.us-east-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-2", - }, - }, - "us-west-1": endpoint{}, - "us-west-1-fips": endpoint{ - Hostname: "codedeploy-fips.us-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-1", - }, - }, - "us-west-2": endpoint{}, - "us-west-2-fips": endpoint{ - Hostname: "codedeploy-fips.us-west-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-2", - }, - }, - }, - }, - "codepipeline": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "codestar": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "cognito-identity": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "cognito-idp": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "cognito-sync": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "comprehend": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "ap-southeast-2": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "config": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "cur": service{ - - Endpoints: endpoints{ - "us-east-1": endpoint{}, - }, - }, - "datapipeline": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "dax": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-west-1": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "devicefarm": service{ - - Endpoints: endpoints{ - "us-west-2": endpoint{}, - }, - }, - "directconnect": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "discovery": service{ - - Endpoints: endpoints{ - "us-west-2": endpoint{}, - }, - }, - "dms": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "ds": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "dynamodb": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "local": endpoint{ - Hostname: "localhost:8000", - Protocols: []string{"http"}, - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "ec2": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "ec2metadata": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "169.254.169.254/latest", - Protocols: []string{"http"}, - }, - }, - }, - "ecr": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "ecs": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "elasticache": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "fips": endpoint{ - Hostname: "elasticache-fips.us-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-1", - }, - }, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "elasticbeanstalk": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "elasticfilesystem": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "elasticloadbalancing": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "elasticmapreduce": service{ - Defaults: endpoint{ - SSLCommonName: "{region}.{service}.{dnsSuffix}", - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{ - SSLCommonName: "{service}.{region}.{dnsSuffix}", - }, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{ - SSLCommonName: "{service}.{region}.{dnsSuffix}", - }, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "elastictranscoder": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "email": service{ - - Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "entitlement.marketplace": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "aws-marketplace", - }, - }, - Endpoints: endpoints{ - "us-east-1": endpoint{}, - }, - }, - "es": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "events": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "firehose": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "fms": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "gamelift": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "glacier": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "glue": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "greengrass": service{ - IsRegionalized: boxedTrue, - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "guardduty": service{ - IsRegionalized: boxedTrue, - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "health": service{ - - Endpoints: endpoints{ - "us-east-1": endpoint{}, - }, - }, - "iam": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "iam.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - }, - }, - "importexport": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "importexport.amazonaws.com", - SignatureVersions: []string{"v2", "v4"}, - CredentialScope: credentialScope{ - Region: "us-east-1", - Service: "IngestionService", - }, - }, - }, - }, - "inspector": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "iot": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "execute-api", - }, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "iotanalytics": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "kinesis": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "kinesisanalytics": service{ - - Endpoints: endpoints{ - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "kinesisvideo": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "kms": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "lambda": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "lightsail": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "logs": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "machinelearning": service{ - - Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - }, - }, - "marketplacecommerceanalytics": service{ - - Endpoints: endpoints{ - "us-east-1": endpoint{}, - }, - }, - "mediaconvert": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "medialive": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "mediapackage": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "mediastore": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "metering.marketplace": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "aws-marketplace", - }, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "mgh": service{ - - Endpoints: endpoints{ - "us-west-2": endpoint{}, - }, - }, - "mobileanalytics": service{ - - Endpoints: endpoints{ - "us-east-1": endpoint{}, - }, - }, - "models.lex": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "lex", - }, - }, - Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "monitoring": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "mturk-requester": service{ - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "sandbox": endpoint{ - Hostname: "mturk-requester-sandbox.us-east-1.amazonaws.com", - }, - "us-east-1": endpoint{}, - }, - }, - "neptune": service{ - - Endpoints: endpoints{ - "eu-central-1": endpoint{ - Hostname: "rds.eu-central-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "eu-central-1", - }, - }, - "eu-west-1": endpoint{ - Hostname: "rds.eu-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "eu-west-1", - }, - }, - "eu-west-2": endpoint{ - Hostname: "rds.eu-west-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "eu-west-2", - }, - }, - "us-east-1": endpoint{ - Hostname: "rds.us-east-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "us-east-2": endpoint{ - Hostname: "rds.us-east-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-2", - }, - }, - "us-west-2": endpoint{ - Hostname: "rds.us-west-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-2", - }, - }, - }, - }, - "opsworks": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "opsworks-cm": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "organizations": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "organizations.us-east-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - }, - }, - "pinpoint": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "mobiletargeting", - }, - }, - Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "polly": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "rds": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{ - SSLCommonName: "{service}.{dnsSuffix}", - }, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "redshift": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "rekognition": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "resource-groups": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "robomaker": service{ - - Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "route53": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "route53.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - }, - }, - "route53domains": service{ - - Endpoints: endpoints{ - "us-east-1": endpoint{}, - }, - }, - "runtime.lex": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "lex", - }, - }, - Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "runtime.sagemaker": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "s3": service{ - PartitionEndpoint: "us-east-1", - IsRegionalized: boxedTrue, - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - SignatureVersions: []string{"s3v4"}, - - HasDualStack: boxedTrue, - DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{ - Hostname: "s3.ap-northeast-1.amazonaws.com", - SignatureVersions: []string{"s3", "s3v4"}, - }, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{ - Hostname: "s3.ap-southeast-1.amazonaws.com", - SignatureVersions: []string{"s3", "s3v4"}, - }, - "ap-southeast-2": endpoint{ - Hostname: "s3.ap-southeast-2.amazonaws.com", - SignatureVersions: []string{"s3", "s3v4"}, - }, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{ - Hostname: "s3.eu-west-1.amazonaws.com", - SignatureVersions: []string{"s3", "s3v4"}, - }, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "s3-external-1": endpoint{ - Hostname: "s3-external-1.amazonaws.com", - SignatureVersions: []string{"s3", "s3v4"}, - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "sa-east-1": endpoint{ - Hostname: "s3.sa-east-1.amazonaws.com", - SignatureVersions: []string{"s3", "s3v4"}, - }, - "us-east-1": endpoint{ - Hostname: "s3.amazonaws.com", - SignatureVersions: []string{"s3", "s3v4"}, - }, - "us-east-2": endpoint{}, - "us-west-1": endpoint{ - Hostname: "s3.us-west-1.amazonaws.com", - SignatureVersions: []string{"s3", "s3v4"}, - }, - "us-west-2": endpoint{ - Hostname: "s3.us-west-2.amazonaws.com", - SignatureVersions: []string{"s3", "s3v4"}, - }, - }, - }, - "s3-control": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - SignatureVersions: []string{"s3v4"}, - - HasDualStack: boxedTrue, - DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{ - Hostname: "s3-control.ap-northeast-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "ap-northeast-1", - }, - }, - "ap-northeast-2": endpoint{ - Hostname: "s3-control.ap-northeast-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "ap-northeast-2", - }, - }, - "ap-south-1": endpoint{ - Hostname: "s3-control.ap-south-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "ap-south-1", - }, - }, - "ap-southeast-1": endpoint{ - Hostname: "s3-control.ap-southeast-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "ap-southeast-1", - }, - }, - "ap-southeast-2": endpoint{ - Hostname: "s3-control.ap-southeast-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "ap-southeast-2", - }, - }, - "ca-central-1": endpoint{ - Hostname: "s3-control.ca-central-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "ca-central-1", - }, - }, - "eu-central-1": endpoint{ - Hostname: "s3-control.eu-central-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "eu-central-1", - }, - }, - "eu-north-1": endpoint{ - Hostname: "s3-control.eu-north-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "eu-north-1", - }, - }, - "eu-west-1": endpoint{ - Hostname: "s3-control.eu-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "eu-west-1", - }, - }, - "eu-west-2": endpoint{ - Hostname: "s3-control.eu-west-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "eu-west-2", - }, - }, - "eu-west-3": endpoint{ - Hostname: "s3-control.eu-west-3.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "eu-west-3", - }, - }, - "sa-east-1": endpoint{ - Hostname: "s3-control.sa-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "sa-east-1", - }, - }, - "us-east-1": endpoint{ - Hostname: "s3-control.us-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "us-east-1-fips": endpoint{ - Hostname: "s3-control-fips.us-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "us-east-2": endpoint{ - Hostname: "s3-control.us-east-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "us-east-2", - }, - }, - "us-east-2-fips": endpoint{ - Hostname: "s3-control-fips.us-east-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "us-east-2", - }, - }, - "us-west-1": endpoint{ - Hostname: "s3-control.us-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "us-west-1", - }, - }, - "us-west-1-fips": endpoint{ - Hostname: "s3-control-fips.us-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "us-west-1", - }, - }, - "us-west-2": endpoint{ - Hostname: "s3-control.us-west-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "us-west-2", - }, - }, - "us-west-2-fips": endpoint{ - Hostname: "s3-control-fips.us-west-2.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "us-west-2", - }, - }, - }, - }, - "sdb": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - SignatureVersions: []string{"v2"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-west-1": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{ - Hostname: "sdb.amazonaws.com", - }, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "secretsmanager": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-1-fips": endpoint{ - Hostname: "secretsmanager-fips.us-east-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "us-east-2": endpoint{}, - "us-east-2-fips": endpoint{ - Hostname: "secretsmanager-fips.us-east-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-2", - }, - }, - "us-west-1": endpoint{}, - "us-west-1-fips": endpoint{ - Hostname: "secretsmanager-fips.us-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-1", - }, - }, - "us-west-2": endpoint{}, - "us-west-2-fips": endpoint{ - Hostname: "secretsmanager-fips.us-west-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-2", - }, - }, - }, - }, - "serverlessrepo": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{ - Protocols: []string{"https"}, - }, - "ap-northeast-2": endpoint{ - Protocols: []string{"https"}, - }, - "ap-south-1": endpoint{ - Protocols: []string{"https"}, - }, - "ap-southeast-1": endpoint{ - Protocols: []string{"https"}, - }, - "ap-southeast-2": endpoint{ - Protocols: []string{"https"}, - }, - "ca-central-1": endpoint{ - Protocols: []string{"https"}, - }, - "eu-central-1": endpoint{ - Protocols: []string{"https"}, - }, - "eu-west-1": endpoint{ - Protocols: []string{"https"}, - }, - "eu-west-2": endpoint{ - Protocols: []string{"https"}, - }, - "sa-east-1": endpoint{ - Protocols: []string{"https"}, - }, - "us-east-1": endpoint{ - Protocols: []string{"https"}, - }, - "us-east-2": endpoint{ - Protocols: []string{"https"}, - }, - "us-west-1": endpoint{ - Protocols: []string{"https"}, - }, - "us-west-2": endpoint{ - Protocols: []string{"https"}, - }, - }, - }, - "servicecatalog": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-1-fips": endpoint{ - Hostname: "servicecatalog-fips.us-east-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "us-east-2": endpoint{}, - "us-east-2-fips": endpoint{ - Hostname: "servicecatalog-fips.us-east-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-2", - }, - }, - "us-west-1": endpoint{}, - "us-west-1-fips": endpoint{ - Hostname: "servicecatalog-fips.us-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-1", - }, - }, - "us-west-2": endpoint{}, - "us-west-2-fips": endpoint{ - Hostname: "servicecatalog-fips.us-west-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-2", - }, - }, - }, - }, - "servicediscovery": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "shield": service{ - IsRegionalized: boxedFalse, - Defaults: endpoint{ - SSLCommonName: "Shield.us-east-1.amazonaws.com", - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "us-east-1": endpoint{}, - }, - }, - "sms": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "snowball": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "sns": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "sqs": service{ - Defaults: endpoint{ - SSLCommonName: "{region}.queue.{dnsSuffix}", - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "fips-us-east-1": endpoint{ - Hostname: "sqs-fips.us-east-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "fips-us-east-2": endpoint{ - Hostname: "sqs-fips.us-east-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-2", - }, - }, - "fips-us-west-1": endpoint{ - Hostname: "sqs-fips.us-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-1", - }, - }, - "fips-us-west-2": endpoint{ - Hostname: "sqs-fips.us-west-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-2", - }, - }, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{ - SSLCommonName: "queue.{dnsSuffix}", - }, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "ssm": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "states": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "storagegateway": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "streams.dynamodb": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - CredentialScope: credentialScope{ - Service: "dynamodb", - }, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "local": endpoint{ - Hostname: "localhost:8000", - Protocols: []string{"http"}, - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "sts": service{ - PartitionEndpoint: "aws-global", - Defaults: endpoint{ - Hostname: "sts.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{ - Hostname: "sts.ap-northeast-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "ap-northeast-2", - }, - }, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "aws-global": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-1-fips": endpoint{ - Hostname: "sts-fips.us-east-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "us-east-2": endpoint{}, - "us-east-2-fips": endpoint{ - Hostname: "sts-fips.us-east-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-2", - }, - }, - "us-west-1": endpoint{}, - "us-west-1-fips": endpoint{ - Hostname: "sts-fips.us-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-1", - }, - }, - "us-west-2": endpoint{}, - "us-west-2-fips": endpoint{ - Hostname: "sts-fips.us-west-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-2", - }, - }, - }, - }, - "support": service{ - - Endpoints: endpoints{ - "us-east-1": endpoint{}, - }, - }, - "swf": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "tagging": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "transfer": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "translate": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-1-fips": endpoint{ - Hostname: "translate-fips.us-east-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - "us-east-2": endpoint{}, - "us-east-2-fips": endpoint{ - Hostname: "translate-fips.us-east-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-2", - }, - }, - "us-west-2": endpoint{}, - "us-west-2-fips": endpoint{ - Hostname: "translate-fips.us-west-2.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-west-2", - }, - }, - }, - }, - "waf": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "waf.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-east-1", - }, - }, - }, - }, - "waf-regional": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "workdocs": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "workmail": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "workspaces": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - "xray": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-south-1": endpoint{}, - "ap-southeast-1": endpoint{}, - "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, - "eu-central-1": endpoint{}, - "eu-north-1": endpoint{}, - "eu-west-1": endpoint{}, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, - }, - }, - }, -} - -// AwsCnPartition returns the Resolver for AWS China. -func AwsCnPartition() Partition { - return awscnPartition.Partition() -} - -var awscnPartition = partition{ - ID: "aws-cn", - Name: "AWS China", - DNSSuffix: "amazonaws.com.cn", - RegionRegex: regionRegex{ - Regexp: func() *regexp.Regexp { - reg, _ := regexp.Compile("^cn\\-\\w+\\-\\d+$") - return reg - }(), - }, - Defaults: endpoint{ - Hostname: "{service}.{region}.{dnsSuffix}", - Protocols: []string{"https"}, - SignatureVersions: []string{"v4"}, - }, - Regions: regions{ - "cn-north-1": region{ - Description: "China (Beijing)", - }, - "cn-northwest-1": region{ - Description: "China (Ningxia)", - }, - }, - Services: services{ - "apigateway": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "application-autoscaling": service{ - Defaults: endpoint{ - Hostname: "autoscaling.{region}.amazonaws.com.cn", - Protocols: []string{"http", "https"}, - CredentialScope: credentialScope{ - Service: "application-autoscaling", - }, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "autoscaling": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "cloudformation": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "cloudtrail": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "codebuild": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "codedeploy": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "cognito-identity": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - }, - }, - "config": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "directconnect": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "dms": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "ds": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "dynamodb": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "ec2": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "ec2metadata": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "169.254.169.254/latest", - Protocols: []string{"http"}, - }, - }, - }, - "ecr": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "ecs": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "elasticache": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "elasticbeanstalk": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "elasticloadbalancing": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "elasticmapreduce": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "es": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "events": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "glacier": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "iam": service{ - PartitionEndpoint: "aws-cn-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-cn-global": endpoint{ - Hostname: "iam.cn-north-1.amazonaws.com.cn", - CredentialScope: credentialScope{ - Region: "cn-north-1", - }, - }, - }, - }, - "iot": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "execute-api", - }, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - }, - }, - "kinesis": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "lambda": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "logs": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "monitoring": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "polly": service{ - - Endpoints: endpoints{ - "cn-northwest-1": endpoint{}, - }, - }, - "rds": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "redshift": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "s3": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - SignatureVersions: []string{"s3v4"}, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "s3-control": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - SignatureVersions: []string{"s3v4"}, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{ - Hostname: "s3-control.cn-north-1.amazonaws.com.cn", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "cn-north-1", - }, - }, - "cn-northwest-1": endpoint{ - Hostname: "s3-control.cn-northwest-1.amazonaws.com.cn", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "cn-northwest-1", - }, - }, - }, - }, - "sms": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "snowball": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - }, - }, - "sns": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "sqs": service{ - Defaults: endpoint{ - SSLCommonName: "{region}.queue.{dnsSuffix}", - Protocols: []string{"http", "https"}, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "ssm": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "storagegateway": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - }, - }, - "streams.dynamodb": service{ - Defaults: endpoint{ - Protocols: []string{"http", "https"}, - CredentialScope: credentialScope{ - Service: "dynamodb", - }, - }, - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "sts": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "swf": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - "tagging": service{ - - Endpoints: endpoints{ - "cn-north-1": endpoint{}, - "cn-northwest-1": endpoint{}, - }, - }, - }, -} - -// AwsUsGovPartition returns the Resolver for AWS GovCloud (US). -func AwsUsGovPartition() Partition { - return awsusgovPartition.Partition() -} - -var awsusgovPartition = partition{ - ID: "aws-us-gov", - Name: "AWS GovCloud (US)", - DNSSuffix: "amazonaws.com", - RegionRegex: regionRegex{ - Regexp: func() *regexp.Regexp { - reg, _ := regexp.Compile("^us\\-gov\\-\\w+\\-\\d+$") - return reg - }(), - }, - Defaults: endpoint{ - Hostname: "{service}.{region}.{dnsSuffix}", - Protocols: []string{"https"}, - SignatureVersions: []string{"v4"}, - }, - Regions: regions{ - "us-gov-east-1": region{ - Description: "AWS GovCloud (US-East)", - }, - "us-gov-west-1": region{ - Description: "AWS GovCloud (US)", - }, - }, - Services: services{ - "acm": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "api.sagemaker": service{ - - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - }, - }, - "apigateway": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "application-autoscaling": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "autoscaling": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{ - Protocols: []string{"http", "https"}, - }, - }, - }, - "clouddirectory": service{ - - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - }, - }, - "cloudformation": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "cloudhsm": service{ - - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - }, - }, - "cloudhsmv2": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "cloudhsm", - }, - }, - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - }, - }, - "cloudtrail": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "codedeploy": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-east-1-fips": endpoint{ - Hostname: "codedeploy-fips.us-gov-east-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-gov-east-1", - }, - }, - "us-gov-west-1": endpoint{}, - "us-gov-west-1-fips": endpoint{ - Hostname: "codedeploy-fips.us-gov-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-gov-west-1", - }, - }, - }, - }, - "config": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "directconnect": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "dms": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "dynamodb": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - "us-gov-west-1-fips": endpoint{ - Hostname: "dynamodb.us-gov-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-gov-west-1", - }, - }, - }, - }, - "ec2": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "ec2metadata": service{ - PartitionEndpoint: "aws-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-global": endpoint{ - Hostname: "169.254.169.254/latest", - Protocols: []string{"http"}, - }, - }, - }, - "ecr": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "ecs": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "elasticache": service{ - - Endpoints: endpoints{ - "fips": endpoint{ - Hostname: "elasticache-fips.us-gov-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-gov-west-1", - }, - }, - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "elasticbeanstalk": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "elasticloadbalancing": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{ - Protocols: []string{"http", "https"}, - }, - }, - }, - "elasticmapreduce": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{ - Protocols: []string{"https"}, - }, - }, - }, - "es": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "events": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "glacier": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{ - Protocols: []string{"http", "https"}, - }, - }, - }, - "guardduty": service{ - IsRegionalized: boxedTrue, - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - }, - }, - "iam": service{ - PartitionEndpoint: "aws-us-gov-global", - IsRegionalized: boxedFalse, - - Endpoints: endpoints{ - "aws-us-gov-global": endpoint{ - Hostname: "iam.us-gov.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-gov-west-1", - }, - }, - }, - }, - "inspector": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "iot": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "execute-api", - }, - }, - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - }, - }, - "kinesis": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "kms": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "lambda": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "logs": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "metering.marketplace": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "aws-marketplace", - }, - }, - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - }, - }, - "monitoring": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "polly": service{ - - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - }, - }, - "rds": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "redshift": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "rekognition": service{ - - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - }, - }, - "runtime.sagemaker": service{ - - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - }, - }, - "s3": service{ - Defaults: endpoint{ - SignatureVersions: []string{"s3", "s3v4"}, - }, - Endpoints: endpoints{ - "fips-us-gov-west-1": endpoint{ - Hostname: "s3-fips-us-gov-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-gov-west-1", - }, - }, - "us-gov-east-1": endpoint{ - Hostname: "s3.us-gov-east-1.amazonaws.com", - Protocols: []string{"http", "https"}, - }, - "us-gov-west-1": endpoint{ - Hostname: "s3.us-gov-west-1.amazonaws.com", - Protocols: []string{"http", "https"}, - }, - }, - }, - "s3-control": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - SignatureVersions: []string{"s3v4"}, - }, - Endpoints: endpoints{ - "us-gov-east-1": endpoint{ - Hostname: "s3-control.us-gov-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "us-gov-east-1", - }, - }, - "us-gov-east-1-fips": endpoint{ - Hostname: "s3-control-fips.us-gov-east-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "us-gov-east-1", - }, - }, - "us-gov-west-1": endpoint{ - Hostname: "s3-control.us-gov-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "us-gov-west-1", - }, - }, - "us-gov-west-1-fips": endpoint{ - Hostname: "s3-control-fips.us-gov-west-1.amazonaws.com", - SignatureVersions: []string{"s3v4"}, - CredentialScope: credentialScope{ - Region: "us-gov-west-1", - }, - }, - }, - }, - "sms": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "snowball": service{ - - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - }, - }, - "sns": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{ - Protocols: []string{"http", "https"}, - }, - }, - }, - "sqs": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{ - SSLCommonName: "{region}.queue.{dnsSuffix}", - Protocols: []string{"http", "https"}, - }, - }, - }, - "ssm": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "states": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "storagegateway": service{ - - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - }, - }, - "streams.dynamodb": service{ - Defaults: endpoint{ - CredentialScope: credentialScope{ - Service: "dynamodb", - }, - }, - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - "us-gov-west-1-fips": endpoint{ - Hostname: "dynamodb.us-gov-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-gov-west-1", - }, - }, - }, - }, - "sts": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "swf": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "tagging": service{ - - Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, - }, - }, - "translate": service{ - Defaults: endpoint{ - Protocols: []string{"https"}, - }, - Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, - "us-gov-west-1-fips": endpoint{ - Hostname: "translate-fips.us-gov-west-1.amazonaws.com", - CredentialScope: credentialScope{ - Region: "us-gov-west-1", - }, - }, - }, - }, - }, -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/dep_service_ids.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/dep_service_ids.go deleted file mode 100644 index 000dd79..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/dep_service_ids.go +++ /dev/null @@ -1,141 +0,0 @@ -package endpoints - -// Service identifiers -// -// Deprecated: Use client package's EndpointID value instead of these -// ServiceIDs. These IDs are not maintained, and are out of date. -const ( - A4bServiceID = "a4b" // A4b. - AcmServiceID = "acm" // Acm. - AcmPcaServiceID = "acm-pca" // AcmPca. - ApiMediatailorServiceID = "api.mediatailor" // ApiMediatailor. - ApiPricingServiceID = "api.pricing" // ApiPricing. - ApiSagemakerServiceID = "api.sagemaker" // ApiSagemaker. - ApigatewayServiceID = "apigateway" // Apigateway. - ApplicationAutoscalingServiceID = "application-autoscaling" // ApplicationAutoscaling. - Appstream2ServiceID = "appstream2" // Appstream2. - AppsyncServiceID = "appsync" // Appsync. - AthenaServiceID = "athena" // Athena. - AutoscalingServiceID = "autoscaling" // Autoscaling. - AutoscalingPlansServiceID = "autoscaling-plans" // AutoscalingPlans. - BatchServiceID = "batch" // Batch. - BudgetsServiceID = "budgets" // Budgets. - CeServiceID = "ce" // Ce. - ChimeServiceID = "chime" // Chime. - Cloud9ServiceID = "cloud9" // Cloud9. - ClouddirectoryServiceID = "clouddirectory" // Clouddirectory. - CloudformationServiceID = "cloudformation" // Cloudformation. - CloudfrontServiceID = "cloudfront" // Cloudfront. - CloudhsmServiceID = "cloudhsm" // Cloudhsm. - Cloudhsmv2ServiceID = "cloudhsmv2" // Cloudhsmv2. - CloudsearchServiceID = "cloudsearch" // Cloudsearch. - CloudtrailServiceID = "cloudtrail" // Cloudtrail. - CodebuildServiceID = "codebuild" // Codebuild. - CodecommitServiceID = "codecommit" // Codecommit. - CodedeployServiceID = "codedeploy" // Codedeploy. - CodepipelineServiceID = "codepipeline" // Codepipeline. - CodestarServiceID = "codestar" // Codestar. - CognitoIdentityServiceID = "cognito-identity" // CognitoIdentity. - CognitoIdpServiceID = "cognito-idp" // CognitoIdp. - CognitoSyncServiceID = "cognito-sync" // CognitoSync. - ComprehendServiceID = "comprehend" // Comprehend. - ConfigServiceID = "config" // Config. - CurServiceID = "cur" // Cur. - DatapipelineServiceID = "datapipeline" // Datapipeline. - DaxServiceID = "dax" // Dax. - DevicefarmServiceID = "devicefarm" // Devicefarm. - DirectconnectServiceID = "directconnect" // Directconnect. - DiscoveryServiceID = "discovery" // Discovery. - DmsServiceID = "dms" // Dms. - DsServiceID = "ds" // Ds. - DynamodbServiceID = "dynamodb" // Dynamodb. - Ec2ServiceID = "ec2" // Ec2. - Ec2metadataServiceID = "ec2metadata" // Ec2metadata. - EcrServiceID = "ecr" // Ecr. - EcsServiceID = "ecs" // Ecs. - ElasticacheServiceID = "elasticache" // Elasticache. - ElasticbeanstalkServiceID = "elasticbeanstalk" // Elasticbeanstalk. - ElasticfilesystemServiceID = "elasticfilesystem" // Elasticfilesystem. - ElasticloadbalancingServiceID = "elasticloadbalancing" // Elasticloadbalancing. - ElasticmapreduceServiceID = "elasticmapreduce" // Elasticmapreduce. - ElastictranscoderServiceID = "elastictranscoder" // Elastictranscoder. - EmailServiceID = "email" // Email. - EntitlementMarketplaceServiceID = "entitlement.marketplace" // EntitlementMarketplace. - EsServiceID = "es" // Es. - EventsServiceID = "events" // Events. - FirehoseServiceID = "firehose" // Firehose. - FmsServiceID = "fms" // Fms. - GameliftServiceID = "gamelift" // Gamelift. - GlacierServiceID = "glacier" // Glacier. - GlueServiceID = "glue" // Glue. - GreengrassServiceID = "greengrass" // Greengrass. - GuarddutyServiceID = "guardduty" // Guardduty. - HealthServiceID = "health" // Health. - IamServiceID = "iam" // Iam. - ImportexportServiceID = "importexport" // Importexport. - InspectorServiceID = "inspector" // Inspector. - IotServiceID = "iot" // Iot. - IotanalyticsServiceID = "iotanalytics" // Iotanalytics. - KinesisServiceID = "kinesis" // Kinesis. - KinesisanalyticsServiceID = "kinesisanalytics" // Kinesisanalytics. - KinesisvideoServiceID = "kinesisvideo" // Kinesisvideo. - KmsServiceID = "kms" // Kms. - LambdaServiceID = "lambda" // Lambda. - LightsailServiceID = "lightsail" // Lightsail. - LogsServiceID = "logs" // Logs. - MachinelearningServiceID = "machinelearning" // Machinelearning. - MarketplacecommerceanalyticsServiceID = "marketplacecommerceanalytics" // Marketplacecommerceanalytics. - MediaconvertServiceID = "mediaconvert" // Mediaconvert. - MedialiveServiceID = "medialive" // Medialive. - MediapackageServiceID = "mediapackage" // Mediapackage. - MediastoreServiceID = "mediastore" // Mediastore. - MeteringMarketplaceServiceID = "metering.marketplace" // MeteringMarketplace. - MghServiceID = "mgh" // Mgh. - MobileanalyticsServiceID = "mobileanalytics" // Mobileanalytics. - ModelsLexServiceID = "models.lex" // ModelsLex. - MonitoringServiceID = "monitoring" // Monitoring. - MturkRequesterServiceID = "mturk-requester" // MturkRequester. - NeptuneServiceID = "neptune" // Neptune. - OpsworksServiceID = "opsworks" // Opsworks. - OpsworksCmServiceID = "opsworks-cm" // OpsworksCm. - OrganizationsServiceID = "organizations" // Organizations. - PinpointServiceID = "pinpoint" // Pinpoint. - PollyServiceID = "polly" // Polly. - RdsServiceID = "rds" // Rds. - RedshiftServiceID = "redshift" // Redshift. - RekognitionServiceID = "rekognition" // Rekognition. - ResourceGroupsServiceID = "resource-groups" // ResourceGroups. - Route53ServiceID = "route53" // Route53. - Route53domainsServiceID = "route53domains" // Route53domains. - RuntimeLexServiceID = "runtime.lex" // RuntimeLex. - RuntimeSagemakerServiceID = "runtime.sagemaker" // RuntimeSagemaker. - S3ServiceID = "s3" // S3. - S3ControlServiceID = "s3-control" // S3Control. - SagemakerServiceID = "api.sagemaker" // Sagemaker. - SdbServiceID = "sdb" // Sdb. - SecretsmanagerServiceID = "secretsmanager" // Secretsmanager. - ServerlessrepoServiceID = "serverlessrepo" // Serverlessrepo. - ServicecatalogServiceID = "servicecatalog" // Servicecatalog. - ServicediscoveryServiceID = "servicediscovery" // Servicediscovery. - ShieldServiceID = "shield" // Shield. - SmsServiceID = "sms" // Sms. - SnowballServiceID = "snowball" // Snowball. - SnsServiceID = "sns" // Sns. - SqsServiceID = "sqs" // Sqs. - SsmServiceID = "ssm" // Ssm. - StatesServiceID = "states" // States. - StoragegatewayServiceID = "storagegateway" // Storagegateway. - StreamsDynamodbServiceID = "streams.dynamodb" // StreamsDynamodb. - StsServiceID = "sts" // Sts. - SupportServiceID = "support" // Support. - SwfServiceID = "swf" // Swf. - TaggingServiceID = "tagging" // Tagging. - TransferServiceID = "transfer" // Transfer. - TranslateServiceID = "translate" // Translate. - WafServiceID = "waf" // Waf. - WafRegionalServiceID = "waf-regional" // WafRegional. - WorkdocsServiceID = "workdocs" // Workdocs. - WorkmailServiceID = "workmail" // Workmail. - WorkspacesServiceID = "workspaces" // Workspaces. - XrayServiceID = "xray" // Xray. -) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go deleted file mode 100644 index 84316b9..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go +++ /dev/null @@ -1,66 +0,0 @@ -// Package endpoints provides the types and functionality for defining regions -// and endpoints, as well as querying those definitions. -// -// The SDK's Regions and Endpoints metadata is code generated into the endpoints -// package, and is accessible via the DefaultResolver function. This function -// returns a endpoint Resolver will search the metadata and build an associated -// endpoint if one is found. The default resolver will search all partitions -// known by the SDK. e.g AWS Standard (aws), AWS China (aws-cn), and -// AWS GovCloud (US) (aws-us-gov). -// . -// -// Enumerating Regions and Endpoint Metadata -// -// Casting the Resolver returned by DefaultResolver to a EnumPartitions interface -// will allow you to get access to the list of underlying Partitions with the -// Partitions method. This is helpful if you want to limit the SDK's endpoint -// resolving to a single partition, or enumerate regions, services, and endpoints -// in the partition. -// -// resolver := endpoints.DefaultResolver() -// partitions := resolver.(endpoints.EnumPartitions).Partitions() -// -// for _, p := range partitions { -// fmt.Println("Regions for", p.ID()) -// for id, _ := range p.Regions() { -// fmt.Println("*", id) -// } -// -// fmt.Println("Services for", p.ID()) -// for id, _ := range p.Services() { -// fmt.Println("*", id) -// } -// } -// -// Using Custom Endpoints -// -// The endpoints package also gives you the ability to use your own logic how -// endpoints are resolved. This is a great way to define a custom endpoint -// for select services, without passing that logic down through your code. -// -// If a type implements the Resolver interface it can be used to resolve -// endpoints. To use this with the SDK's Session and Config set the value -// of the type to the EndpointsResolver field of aws.Config when initializing -// the session, or service client. -// -// In addition the ResolverFunc is a wrapper for a func matching the signature -// of Resolver.EndpointFor, converting it to a type that satisfies the -// Resolver interface. -// -// -// myCustomResolver := func(service, region string, optFns ...func(*endpoints.Options)) (endpoints.ResolvedEndpoint, error) { -// if service == endpoints.S3ServiceID { -// return endpoints.ResolvedEndpoint{ -// URL: "s3.custom.endpoint.com", -// SigningRegion: "custom-signing-region", -// }, nil -// } -// -// return endpoints.DefaultResolver().EndpointFor(service, region, optFns...) -// } -// -// sess := session.Must(session.NewSession(&aws.Config{ -// Region: aws.String("us-west-2"), -// EndpointResolver: endpoints.ResolverFunc(myCustomResolver), -// })) -package endpoints diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go deleted file mode 100644 index e29c095..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go +++ /dev/null @@ -1,449 +0,0 @@ -package endpoints - -import ( - "fmt" - "regexp" - - "github.com/aws/aws-sdk-go/aws/awserr" -) - -// Options provide the configuration needed to direct how the -// endpoints will be resolved. -type Options struct { - // DisableSSL forces the endpoint to be resolved as HTTP. - // instead of HTTPS if the service supports it. - DisableSSL bool - - // Sets the resolver to resolve the endpoint as a dualstack endpoint - // for the service. If dualstack support for a service is not known and - // StrictMatching is not enabled a dualstack endpoint for the service will - // be returned. This endpoint may not be valid. If StrictMatching is - // enabled only services that are known to support dualstack will return - // dualstack endpoints. - UseDualStack bool - - // Enables strict matching of services and regions resolved endpoints. - // If the partition doesn't enumerate the exact service and region an - // error will be returned. This option will prevent returning endpoints - // that look valid, but may not resolve to any real endpoint. - StrictMatching bool - - // Enables resolving a service endpoint based on the region provided if the - // service does not exist. The service endpoint ID will be used as the service - // domain name prefix. By default the endpoint resolver requires the service - // to be known when resolving endpoints. - // - // If resolving an endpoint on the partition list the provided region will - // be used to determine which partition's domain name pattern to the service - // endpoint ID with. If both the service and region are unkonwn and resolving - // the endpoint on partition list an UnknownEndpointError error will be returned. - // - // If resolving and endpoint on a partition specific resolver that partition's - // domain name pattern will be used with the service endpoint ID. If both - // region and service do not exist when resolving an endpoint on a specific - // partition the partition's domain pattern will be used to combine the - // endpoint and region together. - // - // This option is ignored if StrictMatching is enabled. - ResolveUnknownService bool -} - -// Set combines all of the option functions together. -func (o *Options) Set(optFns ...func(*Options)) { - for _, fn := range optFns { - fn(o) - } -} - -// DisableSSLOption sets the DisableSSL options. Can be used as a functional -// option when resolving endpoints. -func DisableSSLOption(o *Options) { - o.DisableSSL = true -} - -// UseDualStackOption sets the UseDualStack option. Can be used as a functional -// option when resolving endpoints. -func UseDualStackOption(o *Options) { - o.UseDualStack = true -} - -// StrictMatchingOption sets the StrictMatching option. Can be used as a functional -// option when resolving endpoints. -func StrictMatchingOption(o *Options) { - o.StrictMatching = true -} - -// ResolveUnknownServiceOption sets the ResolveUnknownService option. Can be used -// as a functional option when resolving endpoints. -func ResolveUnknownServiceOption(o *Options) { - o.ResolveUnknownService = true -} - -// A Resolver provides the interface for functionality to resolve endpoints. -// The build in Partition and DefaultResolver return value satisfy this interface. -type Resolver interface { - EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) -} - -// ResolverFunc is a helper utility that wraps a function so it satisfies the -// Resolver interface. This is useful when you want to add additional endpoint -// resolving logic, or stub out specific endpoints with custom values. -type ResolverFunc func(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) - -// EndpointFor wraps the ResolverFunc function to satisfy the Resolver interface. -func (fn ResolverFunc) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) { - return fn(service, region, opts...) -} - -var schemeRE = regexp.MustCompile("^([^:]+)://") - -// AddScheme adds the HTTP or HTTPS schemes to a endpoint URL if there is no -// scheme. If disableSSL is true HTTP will set HTTP instead of the default HTTPS. -// -// If disableSSL is set, it will only set the URL's scheme if the URL does not -// contain a scheme. -func AddScheme(endpoint string, disableSSL bool) string { - if !schemeRE.MatchString(endpoint) { - scheme := "https" - if disableSSL { - scheme = "http" - } - endpoint = fmt.Sprintf("%s://%s", scheme, endpoint) - } - - return endpoint -} - -// EnumPartitions a provides a way to retrieve the underlying partitions that -// make up the SDK's default Resolver, or any resolver decoded from a model -// file. -// -// Use this interface with DefaultResolver and DecodeModels to get the list of -// Partitions. -type EnumPartitions interface { - Partitions() []Partition -} - -// RegionsForService returns a map of regions for the partition and service. -// If either the partition or service does not exist false will be returned -// as the second parameter. -// -// This example shows how to get the regions for DynamoDB in the AWS partition. -// rs, exists := endpoints.RegionsForService(endpoints.DefaultPartitions(), endpoints.AwsPartitionID, endpoints.DynamodbServiceID) -// -// This is equivalent to using the partition directly. -// rs := endpoints.AwsPartition().Services()[endpoints.DynamodbServiceID].Regions() -func RegionsForService(ps []Partition, partitionID, serviceID string) (map[string]Region, bool) { - for _, p := range ps { - if p.ID() != partitionID { - continue - } - if _, ok := p.p.Services[serviceID]; !ok { - break - } - - s := Service{ - id: serviceID, - p: p.p, - } - return s.Regions(), true - } - - return map[string]Region{}, false -} - -// PartitionForRegion returns the first partition which includes the region -// passed in. This includes both known regions and regions which match -// a pattern supported by the partition which may include regions that are -// not explicitly known by the partition. Use the Regions method of the -// returned Partition if explicit support is needed. -func PartitionForRegion(ps []Partition, regionID string) (Partition, bool) { - for _, p := range ps { - if _, ok := p.p.Regions[regionID]; ok || p.p.RegionRegex.MatchString(regionID) { - return p, true - } - } - - return Partition{}, false -} - -// A Partition provides the ability to enumerate the partition's regions -// and services. -type Partition struct { - id string - p *partition -} - -// ID returns the identifier of the partition. -func (p Partition) ID() string { return p.id } - -// EndpointFor attempts to resolve the endpoint based on service and region. -// See Options for information on configuring how the endpoint is resolved. -// -// If the service cannot be found in the metadata the UnknownServiceError -// error will be returned. This validation will occur regardless if -// StrictMatching is enabled. To enable resolving unknown services set the -// "ResolveUnknownService" option to true. When StrictMatching is disabled -// this option allows the partition resolver to resolve a endpoint based on -// the service endpoint ID provided. -// -// When resolving endpoints you can choose to enable StrictMatching. This will -// require the provided service and region to be known by the partition. -// If the endpoint cannot be strictly resolved an error will be returned. This -// mode is useful to ensure the endpoint resolved is valid. Without -// StrictMatching enabled the endpoint returned my look valid but may not work. -// StrictMatching requires the SDK to be updated if you want to take advantage -// of new regions and services expansions. -// -// Errors that can be returned. -// * UnknownServiceError -// * UnknownEndpointError -func (p Partition) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) { - return p.p.EndpointFor(service, region, opts...) -} - -// Regions returns a map of Regions indexed by their ID. This is useful for -// enumerating over the regions in a partition. -func (p Partition) Regions() map[string]Region { - rs := map[string]Region{} - for id, r := range p.p.Regions { - rs[id] = Region{ - id: id, - desc: r.Description, - p: p.p, - } - } - - return rs -} - -// Services returns a map of Service indexed by their ID. This is useful for -// enumerating over the services in a partition. -func (p Partition) Services() map[string]Service { - ss := map[string]Service{} - for id := range p.p.Services { - ss[id] = Service{ - id: id, - p: p.p, - } - } - - return ss -} - -// A Region provides information about a region, and ability to resolve an -// endpoint from the context of a region, given a service. -type Region struct { - id, desc string - p *partition -} - -// ID returns the region's identifier. -func (r Region) ID() string { return r.id } - -// Description returns the region's description. The region description -// is free text, it can be empty, and it may change between SDK releases. -func (r Region) Description() string { return r.desc } - -// ResolveEndpoint resolves an endpoint from the context of the region given -// a service. See Partition.EndpointFor for usage and errors that can be returned. -func (r Region) ResolveEndpoint(service string, opts ...func(*Options)) (ResolvedEndpoint, error) { - return r.p.EndpointFor(service, r.id, opts...) -} - -// Services returns a list of all services that are known to be in this region. -func (r Region) Services() map[string]Service { - ss := map[string]Service{} - for id, s := range r.p.Services { - if _, ok := s.Endpoints[r.id]; ok { - ss[id] = Service{ - id: id, - p: r.p, - } - } - } - - return ss -} - -// A Service provides information about a service, and ability to resolve an -// endpoint from the context of a service, given a region. -type Service struct { - id string - p *partition -} - -// ID returns the identifier for the service. -func (s Service) ID() string { return s.id } - -// ResolveEndpoint resolves an endpoint from the context of a service given -// a region. See Partition.EndpointFor for usage and errors that can be returned. -func (s Service) ResolveEndpoint(region string, opts ...func(*Options)) (ResolvedEndpoint, error) { - return s.p.EndpointFor(s.id, region, opts...) -} - -// Regions returns a map of Regions that the service is present in. -// -// A region is the AWS region the service exists in. Whereas a Endpoint is -// an URL that can be resolved to a instance of a service. -func (s Service) Regions() map[string]Region { - rs := map[string]Region{} - for id := range s.p.Services[s.id].Endpoints { - if r, ok := s.p.Regions[id]; ok { - rs[id] = Region{ - id: id, - desc: r.Description, - p: s.p, - } - } - } - - return rs -} - -// Endpoints returns a map of Endpoints indexed by their ID for all known -// endpoints for a service. -// -// A region is the AWS region the service exists in. Whereas a Endpoint is -// an URL that can be resolved to a instance of a service. -func (s Service) Endpoints() map[string]Endpoint { - es := map[string]Endpoint{} - for id := range s.p.Services[s.id].Endpoints { - es[id] = Endpoint{ - id: id, - serviceID: s.id, - p: s.p, - } - } - - return es -} - -// A Endpoint provides information about endpoints, and provides the ability -// to resolve that endpoint for the service, and the region the endpoint -// represents. -type Endpoint struct { - id string - serviceID string - p *partition -} - -// ID returns the identifier for an endpoint. -func (e Endpoint) ID() string { return e.id } - -// ServiceID returns the identifier the endpoint belongs to. -func (e Endpoint) ServiceID() string { return e.serviceID } - -// ResolveEndpoint resolves an endpoint from the context of a service and -// region the endpoint represents. See Partition.EndpointFor for usage and -// errors that can be returned. -func (e Endpoint) ResolveEndpoint(opts ...func(*Options)) (ResolvedEndpoint, error) { - return e.p.EndpointFor(e.serviceID, e.id, opts...) -} - -// A ResolvedEndpoint is an endpoint that has been resolved based on a partition -// service, and region. -type ResolvedEndpoint struct { - // The endpoint URL - URL string - - // The region that should be used for signing requests. - SigningRegion string - - // The service name that should be used for signing requests. - SigningName string - - // States that the signing name for this endpoint was derived from metadata - // passed in, but was not explicitly modeled. - SigningNameDerived bool - - // The signing method that should be used for signing requests. - SigningMethod string -} - -// So that the Error interface type can be included as an anonymous field -// in the requestError struct and not conflict with the error.Error() method. -type awsError awserr.Error - -// A EndpointNotFoundError is returned when in StrictMatching mode, and the -// endpoint for the service and region cannot be found in any of the partitions. -type EndpointNotFoundError struct { - awsError - Partition string - Service string - Region string -} - -// A UnknownServiceError is returned when the service does not resolve to an -// endpoint. Includes a list of all known services for the partition. Returned -// when a partition does not support the service. -type UnknownServiceError struct { - awsError - Partition string - Service string - Known []string -} - -// NewUnknownServiceError builds and returns UnknownServiceError. -func NewUnknownServiceError(p, s string, known []string) UnknownServiceError { - return UnknownServiceError{ - awsError: awserr.New("UnknownServiceError", - "could not resolve endpoint for unknown service", nil), - Partition: p, - Service: s, - Known: known, - } -} - -// String returns the string representation of the error. -func (e UnknownServiceError) Error() string { - extra := fmt.Sprintf("partition: %q, service: %q", - e.Partition, e.Service) - if len(e.Known) > 0 { - extra += fmt.Sprintf(", known: %v", e.Known) - } - return awserr.SprintError(e.Code(), e.Message(), extra, e.OrigErr()) -} - -// String returns the string representation of the error. -func (e UnknownServiceError) String() string { - return e.Error() -} - -// A UnknownEndpointError is returned when in StrictMatching mode and the -// service is valid, but the region does not resolve to an endpoint. Includes -// a list of all known endpoints for the service. -type UnknownEndpointError struct { - awsError - Partition string - Service string - Region string - Known []string -} - -// NewUnknownEndpointError builds and returns UnknownEndpointError. -func NewUnknownEndpointError(p, s, r string, known []string) UnknownEndpointError { - return UnknownEndpointError{ - awsError: awserr.New("UnknownEndpointError", - "could not resolve endpoint", nil), - Partition: p, - Service: s, - Region: r, - Known: known, - } -} - -// String returns the string representation of the error. -func (e UnknownEndpointError) Error() string { - extra := fmt.Sprintf("partition: %q, service: %q, region: %q", - e.Partition, e.Service, e.Region) - if len(e.Known) > 0 { - extra += fmt.Sprintf(", known: %v", e.Known) - } - return awserr.SprintError(e.Code(), e.Message(), extra, e.OrigErr()) -} - -// String returns the string representation of the error. -func (e UnknownEndpointError) String() string { - return e.Error() -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go deleted file mode 100644 index ff6f76d..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go +++ /dev/null @@ -1,307 +0,0 @@ -package endpoints - -import ( - "fmt" - "regexp" - "strconv" - "strings" -) - -type partitions []partition - -func (ps partitions) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) { - var opt Options - opt.Set(opts...) - - for i := 0; i < len(ps); i++ { - if !ps[i].canResolveEndpoint(service, region, opt.StrictMatching) { - continue - } - - return ps[i].EndpointFor(service, region, opts...) - } - - // If loose matching fallback to first partition format to use - // when resolving the endpoint. - if !opt.StrictMatching && len(ps) > 0 { - return ps[0].EndpointFor(service, region, opts...) - } - - return ResolvedEndpoint{}, NewUnknownEndpointError("all partitions", service, region, []string{}) -} - -// Partitions satisfies the EnumPartitions interface and returns a list -// of Partitions representing each partition represented in the SDK's -// endpoints model. -func (ps partitions) Partitions() []Partition { - parts := make([]Partition, 0, len(ps)) - for i := 0; i < len(ps); i++ { - parts = append(parts, ps[i].Partition()) - } - - return parts -} - -type partition struct { - ID string `json:"partition"` - Name string `json:"partitionName"` - DNSSuffix string `json:"dnsSuffix"` - RegionRegex regionRegex `json:"regionRegex"` - Defaults endpoint `json:"defaults"` - Regions regions `json:"regions"` - Services services `json:"services"` -} - -func (p partition) Partition() Partition { - return Partition{ - id: p.ID, - p: &p, - } -} - -func (p partition) canResolveEndpoint(service, region string, strictMatch bool) bool { - s, hasService := p.Services[service] - _, hasEndpoint := s.Endpoints[region] - - if hasEndpoint && hasService { - return true - } - - if strictMatch { - return false - } - - return p.RegionRegex.MatchString(region) -} - -func (p partition) EndpointFor(service, region string, opts ...func(*Options)) (resolved ResolvedEndpoint, err error) { - var opt Options - opt.Set(opts...) - - s, hasService := p.Services[service] - if !(hasService || opt.ResolveUnknownService) { - // Only return error if the resolver will not fallback to creating - // endpoint based on service endpoint ID passed in. - return resolved, NewUnknownServiceError(p.ID, service, serviceList(p.Services)) - } - - e, hasEndpoint := s.endpointForRegion(region) - if !hasEndpoint && opt.StrictMatching { - return resolved, NewUnknownEndpointError(p.ID, service, region, endpointList(s.Endpoints)) - } - - defs := []endpoint{p.Defaults, s.Defaults} - return e.resolve(service, region, p.DNSSuffix, defs, opt), nil -} - -func serviceList(ss services) []string { - list := make([]string, 0, len(ss)) - for k := range ss { - list = append(list, k) - } - return list -} -func endpointList(es endpoints) []string { - list := make([]string, 0, len(es)) - for k := range es { - list = append(list, k) - } - return list -} - -type regionRegex struct { - *regexp.Regexp -} - -func (rr *regionRegex) UnmarshalJSON(b []byte) (err error) { - // Strip leading and trailing quotes - regex, err := strconv.Unquote(string(b)) - if err != nil { - return fmt.Errorf("unable to strip quotes from regex, %v", err) - } - - rr.Regexp, err = regexp.Compile(regex) - if err != nil { - return fmt.Errorf("unable to unmarshal region regex, %v", err) - } - return nil -} - -type regions map[string]region - -type region struct { - Description string `json:"description"` -} - -type services map[string]service - -type service struct { - PartitionEndpoint string `json:"partitionEndpoint"` - IsRegionalized boxedBool `json:"isRegionalized,omitempty"` - Defaults endpoint `json:"defaults"` - Endpoints endpoints `json:"endpoints"` -} - -func (s *service) endpointForRegion(region string) (endpoint, bool) { - if s.IsRegionalized == boxedFalse { - return s.Endpoints[s.PartitionEndpoint], region == s.PartitionEndpoint - } - - if e, ok := s.Endpoints[region]; ok { - return e, true - } - - // Unable to find any matching endpoint, return - // blank that will be used for generic endpoint creation. - return endpoint{}, false -} - -type endpoints map[string]endpoint - -type endpoint struct { - Hostname string `json:"hostname"` - Protocols []string `json:"protocols"` - CredentialScope credentialScope `json:"credentialScope"` - - // Custom fields not modeled - HasDualStack boxedBool `json:"-"` - DualStackHostname string `json:"-"` - - // Signature Version not used - SignatureVersions []string `json:"signatureVersions"` - - // SSLCommonName not used. - SSLCommonName string `json:"sslCommonName"` -} - -const ( - defaultProtocol = "https" - defaultSigner = "v4" -) - -var ( - protocolPriority = []string{"https", "http"} - signerPriority = []string{"v4", "v2"} -) - -func getByPriority(s []string, p []string, def string) string { - if len(s) == 0 { - return def - } - - for i := 0; i < len(p); i++ { - for j := 0; j < len(s); j++ { - if s[j] == p[i] { - return s[j] - } - } - } - - return s[0] -} - -func (e endpoint) resolve(service, region, dnsSuffix string, defs []endpoint, opts Options) ResolvedEndpoint { - var merged endpoint - for _, def := range defs { - merged.mergeIn(def) - } - merged.mergeIn(e) - e = merged - - hostname := e.Hostname - - // Offset the hostname for dualstack if enabled - if opts.UseDualStack && e.HasDualStack == boxedTrue { - hostname = e.DualStackHostname - } - - u := strings.Replace(hostname, "{service}", service, 1) - u = strings.Replace(u, "{region}", region, 1) - u = strings.Replace(u, "{dnsSuffix}", dnsSuffix, 1) - - scheme := getEndpointScheme(e.Protocols, opts.DisableSSL) - u = fmt.Sprintf("%s://%s", scheme, u) - - signingRegion := e.CredentialScope.Region - if len(signingRegion) == 0 { - signingRegion = region - } - - signingName := e.CredentialScope.Service - var signingNameDerived bool - if len(signingName) == 0 { - signingName = service - signingNameDerived = true - } - - return ResolvedEndpoint{ - URL: u, - SigningRegion: signingRegion, - SigningName: signingName, - SigningNameDerived: signingNameDerived, - SigningMethod: getByPriority(e.SignatureVersions, signerPriority, defaultSigner), - } -} - -func getEndpointScheme(protocols []string, disableSSL bool) string { - if disableSSL { - return "http" - } - - return getByPriority(protocols, protocolPriority, defaultProtocol) -} - -func (e *endpoint) mergeIn(other endpoint) { - if len(other.Hostname) > 0 { - e.Hostname = other.Hostname - } - if len(other.Protocols) > 0 { - e.Protocols = other.Protocols - } - if len(other.SignatureVersions) > 0 { - e.SignatureVersions = other.SignatureVersions - } - if len(other.CredentialScope.Region) > 0 { - e.CredentialScope.Region = other.CredentialScope.Region - } - if len(other.CredentialScope.Service) > 0 { - e.CredentialScope.Service = other.CredentialScope.Service - } - if len(other.SSLCommonName) > 0 { - e.SSLCommonName = other.SSLCommonName - } - if other.HasDualStack != boxedBoolUnset { - e.HasDualStack = other.HasDualStack - } - if len(other.DualStackHostname) > 0 { - e.DualStackHostname = other.DualStackHostname - } -} - -type credentialScope struct { - Region string `json:"region"` - Service string `json:"service"` -} - -type boxedBool int - -func (b *boxedBool) UnmarshalJSON(buf []byte) error { - v, err := strconv.ParseBool(string(buf)) - if err != nil { - return err - } - - if v { - *b = boxedTrue - } else { - *b = boxedFalse - } - - return nil -} - -const ( - boxedBoolUnset boxedBool = iota - boxedFalse - boxedTrue -) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go deleted file mode 100644 index 0fdfcc5..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go +++ /dev/null @@ -1,351 +0,0 @@ -// +build codegen - -package endpoints - -import ( - "fmt" - "io" - "reflect" - "strings" - "text/template" - "unicode" -) - -// A CodeGenOptions are the options for code generating the endpoints into -// Go code from the endpoints model definition. -type CodeGenOptions struct { - // Options for how the model will be decoded. - DecodeModelOptions DecodeModelOptions - - // Disables code generation of the service endpoint prefix IDs defined in - // the model. - DisableGenerateServiceIDs bool -} - -// Set combines all of the option functions together -func (d *CodeGenOptions) Set(optFns ...func(*CodeGenOptions)) { - for _, fn := range optFns { - fn(d) - } -} - -// CodeGenModel given a endpoints model file will decode it and attempt to -// generate Go code from the model definition. Error will be returned if -// the code is unable to be generated, or decoded. -func CodeGenModel(modelFile io.Reader, outFile io.Writer, optFns ...func(*CodeGenOptions)) error { - var opts CodeGenOptions - opts.Set(optFns...) - - resolver, err := DecodeModel(modelFile, func(d *DecodeModelOptions) { - *d = opts.DecodeModelOptions - }) - if err != nil { - return err - } - - v := struct { - Resolver - CodeGenOptions - }{ - Resolver: resolver, - CodeGenOptions: opts, - } - - tmpl := template.Must(template.New("tmpl").Funcs(funcMap).Parse(v3Tmpl)) - if err := tmpl.ExecuteTemplate(outFile, "defaults", v); err != nil { - return fmt.Errorf("failed to execute template, %v", err) - } - - return nil -} - -func toSymbol(v string) string { - out := []rune{} - for _, c := range strings.Title(v) { - if !(unicode.IsNumber(c) || unicode.IsLetter(c)) { - continue - } - - out = append(out, c) - } - - return string(out) -} - -func quoteString(v string) string { - return fmt.Sprintf("%q", v) -} - -func regionConstName(p, r string) string { - return toSymbol(p) + toSymbol(r) -} - -func partitionGetter(id string) string { - return fmt.Sprintf("%sPartition", toSymbol(id)) -} - -func partitionVarName(id string) string { - return fmt.Sprintf("%sPartition", strings.ToLower(toSymbol(id))) -} - -func listPartitionNames(ps partitions) string { - names := []string{} - switch len(ps) { - case 1: - return ps[0].Name - case 2: - return fmt.Sprintf("%s and %s", ps[0].Name, ps[1].Name) - default: - for i, p := range ps { - if i == len(ps)-1 { - names = append(names, "and "+p.Name) - } else { - names = append(names, p.Name) - } - } - return strings.Join(names, ", ") - } -} - -func boxedBoolIfSet(msg string, v boxedBool) string { - switch v { - case boxedTrue: - return fmt.Sprintf(msg, "boxedTrue") - case boxedFalse: - return fmt.Sprintf(msg, "boxedFalse") - default: - return "" - } -} - -func stringIfSet(msg, v string) string { - if len(v) == 0 { - return "" - } - - return fmt.Sprintf(msg, v) -} - -func stringSliceIfSet(msg string, vs []string) string { - if len(vs) == 0 { - return "" - } - - names := []string{} - for _, v := range vs { - names = append(names, `"`+v+`"`) - } - - return fmt.Sprintf(msg, strings.Join(names, ",")) -} - -func endpointIsSet(v endpoint) bool { - return !reflect.DeepEqual(v, endpoint{}) -} - -func serviceSet(ps partitions) map[string]struct{} { - set := map[string]struct{}{} - for _, p := range ps { - for id := range p.Services { - set[id] = struct{}{} - } - } - - return set -} - -var funcMap = template.FuncMap{ - "ToSymbol": toSymbol, - "QuoteString": quoteString, - "RegionConst": regionConstName, - "PartitionGetter": partitionGetter, - "PartitionVarName": partitionVarName, - "ListPartitionNames": listPartitionNames, - "BoxedBoolIfSet": boxedBoolIfSet, - "StringIfSet": stringIfSet, - "StringSliceIfSet": stringSliceIfSet, - "EndpointIsSet": endpointIsSet, - "ServicesSet": serviceSet, -} - -const v3Tmpl = ` -{{ define "defaults" -}} -// Code generated by aws/endpoints/v3model_codegen.go. DO NOT EDIT. - -package endpoints - -import ( - "regexp" -) - - {{ template "partition consts" $.Resolver }} - - {{ range $_, $partition := $.Resolver }} - {{ template "partition region consts" $partition }} - {{ end }} - - {{ if not $.DisableGenerateServiceIDs -}} - {{ template "service consts" $.Resolver }} - {{- end }} - - {{ template "endpoint resolvers" $.Resolver }} -{{- end }} - -{{ define "partition consts" }} - // Partition identifiers - const ( - {{ range $_, $p := . -}} - {{ ToSymbol $p.ID }}PartitionID = {{ QuoteString $p.ID }} // {{ $p.Name }} partition. - {{ end -}} - ) -{{- end }} - -{{ define "partition region consts" }} - // {{ .Name }} partition's regions. - const ( - {{ range $id, $region := .Regions -}} - {{ ToSymbol $id }}RegionID = {{ QuoteString $id }} // {{ $region.Description }}. - {{ end -}} - ) -{{- end }} - -{{ define "service consts" }} - // Service identifiers - const ( - {{ $serviceSet := ServicesSet . -}} - {{ range $id, $_ := $serviceSet -}} - {{ ToSymbol $id }}ServiceID = {{ QuoteString $id }} // {{ ToSymbol $id }}. - {{ end -}} - ) -{{- end }} - -{{ define "endpoint resolvers" }} - // DefaultResolver returns an Endpoint resolver that will be able - // to resolve endpoints for: {{ ListPartitionNames . }}. - // - // Use DefaultPartitions() to get the list of the default partitions. - func DefaultResolver() Resolver { - return defaultPartitions - } - - // DefaultPartitions returns a list of the partitions the SDK is bundled - // with. The available partitions are: {{ ListPartitionNames . }}. - // - // partitions := endpoints.DefaultPartitions - // for _, p := range partitions { - // // ... inspect partitions - // } - func DefaultPartitions() []Partition { - return defaultPartitions.Partitions() - } - - var defaultPartitions = partitions{ - {{ range $_, $partition := . -}} - {{ PartitionVarName $partition.ID }}, - {{ end }} - } - - {{ range $_, $partition := . -}} - {{ $name := PartitionGetter $partition.ID -}} - // {{ $name }} returns the Resolver for {{ $partition.Name }}. - func {{ $name }}() Partition { - return {{ PartitionVarName $partition.ID }}.Partition() - } - var {{ PartitionVarName $partition.ID }} = {{ template "gocode Partition" $partition }} - {{ end }} -{{ end }} - -{{ define "default partitions" }} - func DefaultPartitions() []Partition { - return []partition{ - {{ range $_, $partition := . -}} - // {{ ToSymbol $partition.ID}}Partition(), - {{ end }} - } - } -{{ end }} - -{{ define "gocode Partition" -}} -partition{ - {{ StringIfSet "ID: %q,\n" .ID -}} - {{ StringIfSet "Name: %q,\n" .Name -}} - {{ StringIfSet "DNSSuffix: %q,\n" .DNSSuffix -}} - RegionRegex: {{ template "gocode RegionRegex" .RegionRegex }}, - {{ if EndpointIsSet .Defaults -}} - Defaults: {{ template "gocode Endpoint" .Defaults }}, - {{- end }} - Regions: {{ template "gocode Regions" .Regions }}, - Services: {{ template "gocode Services" .Services }}, -} -{{- end }} - -{{ define "gocode RegionRegex" -}} -regionRegex{ - Regexp: func() *regexp.Regexp{ - reg, _ := regexp.Compile({{ QuoteString .Regexp.String }}) - return reg - }(), -} -{{- end }} - -{{ define "gocode Regions" -}} -regions{ - {{ range $id, $region := . -}} - "{{ $id }}": {{ template "gocode Region" $region }}, - {{ end -}} -} -{{- end }} - -{{ define "gocode Region" -}} -region{ - {{ StringIfSet "Description: %q,\n" .Description -}} -} -{{- end }} - -{{ define "gocode Services" -}} -services{ - {{ range $id, $service := . -}} - "{{ $id }}": {{ template "gocode Service" $service }}, - {{ end }} -} -{{- end }} - -{{ define "gocode Service" -}} -service{ - {{ StringIfSet "PartitionEndpoint: %q,\n" .PartitionEndpoint -}} - {{ BoxedBoolIfSet "IsRegionalized: %s,\n" .IsRegionalized -}} - {{ if EndpointIsSet .Defaults -}} - Defaults: {{ template "gocode Endpoint" .Defaults -}}, - {{- end }} - {{ if .Endpoints -}} - Endpoints: {{ template "gocode Endpoints" .Endpoints }}, - {{- end }} -} -{{- end }} - -{{ define "gocode Endpoints" -}} -endpoints{ - {{ range $id, $endpoint := . -}} - "{{ $id }}": {{ template "gocode Endpoint" $endpoint }}, - {{ end }} -} -{{- end }} - -{{ define "gocode Endpoint" -}} -endpoint{ - {{ StringIfSet "Hostname: %q,\n" .Hostname -}} - {{ StringIfSet "SSLCommonName: %q,\n" .SSLCommonName -}} - {{ StringSliceIfSet "Protocols: []string{%s},\n" .Protocols -}} - {{ StringSliceIfSet "SignatureVersions: []string{%s},\n" .SignatureVersions -}} - {{ if or .CredentialScope.Region .CredentialScope.Service -}} - CredentialScope: credentialScope{ - {{ StringIfSet "Region: %q,\n" .CredentialScope.Region -}} - {{ StringIfSet "Service: %q,\n" .CredentialScope.Service -}} - }, - {{- end }} - {{ BoxedBoolIfSet "HasDualStack: %s,\n" .HasDualStack -}} - {{ StringIfSet "DualStackHostname: %q,\n" .DualStackHostname -}} - -} -{{- end }} -` diff --git a/vendor/github.com/aws/aws-sdk-go/aws/errors.go b/vendor/github.com/aws/aws-sdk-go/aws/errors.go deleted file mode 100644 index fa06f7a..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/errors.go +++ /dev/null @@ -1,13 +0,0 @@ -package aws - -import "github.com/aws/aws-sdk-go/aws/awserr" - -var ( - // ErrMissingRegion is an error that is returned if region configuration is - // not found. - ErrMissingRegion = awserr.New("MissingRegion", "could not find region configuration", nil) - - // ErrMissingEndpoint is an error that is returned if an endpoint cannot be - // resolved for a service. - ErrMissingEndpoint = awserr.New("MissingEndpoint", "'Endpoint' configuration is required for this service", nil) -) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go b/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go deleted file mode 100644 index 91a6f27..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go +++ /dev/null @@ -1,12 +0,0 @@ -package aws - -// JSONValue is a representation of a grab bag type that will be marshaled -// into a json string. This type can be used just like any other map. -// -// Example: -// -// values := aws.JSONValue{ -// "Foo": "Bar", -// } -// values["Baz"] = "Qux" -type JSONValue map[string]interface{} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/logger.go b/vendor/github.com/aws/aws-sdk-go/aws/logger.go deleted file mode 100644 index 6ed15b2..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/logger.go +++ /dev/null @@ -1,118 +0,0 @@ -package aws - -import ( - "log" - "os" -) - -// A LogLevelType defines the level logging should be performed at. Used to instruct -// the SDK which statements should be logged. -type LogLevelType uint - -// LogLevel returns the pointer to a LogLevel. Should be used to workaround -// not being able to take the address of a non-composite literal. -func LogLevel(l LogLevelType) *LogLevelType { - return &l -} - -// Value returns the LogLevel value or the default value LogOff if the LogLevel -// is nil. Safe to use on nil value LogLevelTypes. -func (l *LogLevelType) Value() LogLevelType { - if l != nil { - return *l - } - return LogOff -} - -// Matches returns true if the v LogLevel is enabled by this LogLevel. Should be -// used with logging sub levels. Is safe to use on nil value LogLevelTypes. If -// LogLevel is nil, will default to LogOff comparison. -func (l *LogLevelType) Matches(v LogLevelType) bool { - c := l.Value() - return c&v == v -} - -// AtLeast returns true if this LogLevel is at least high enough to satisfies v. -// Is safe to use on nil value LogLevelTypes. If LogLevel is nil, will default -// to LogOff comparison. -func (l *LogLevelType) AtLeast(v LogLevelType) bool { - c := l.Value() - return c >= v -} - -const ( - // LogOff states that no logging should be performed by the SDK. This is the - // default state of the SDK, and should be use to disable all logging. - LogOff LogLevelType = iota * 0x1000 - - // LogDebug state that debug output should be logged by the SDK. This should - // be used to inspect request made and responses received. - LogDebug -) - -// Debug Logging Sub Levels -const ( - // LogDebugWithSigning states that the SDK should log request signing and - // presigning events. This should be used to log the signing details of - // requests for debugging. Will also enable LogDebug. - LogDebugWithSigning LogLevelType = LogDebug | (1 << iota) - - // LogDebugWithHTTPBody states the SDK should log HTTP request and response - // HTTP bodys in addition to the headers and path. This should be used to - // see the body content of requests and responses made while using the SDK - // Will also enable LogDebug. - LogDebugWithHTTPBody - - // LogDebugWithRequestRetries states the SDK should log when service requests will - // be retried. This should be used to log when you want to log when service - // requests are being retried. Will also enable LogDebug. - LogDebugWithRequestRetries - - // LogDebugWithRequestErrors states the SDK should log when service requests fail - // to build, send, validate, or unmarshal. - LogDebugWithRequestErrors - - // LogDebugWithEventStreamBody states the SDK should log EventStream - // request and response bodys. This should be used to log the EventStream - // wire unmarshaled message content of requests and responses made while - // using the SDK Will also enable LogDebug. - LogDebugWithEventStreamBody -) - -// A Logger is a minimalistic interface for the SDK to log messages to. Should -// be used to provide custom logging writers for the SDK to use. -type Logger interface { - Log(...interface{}) -} - -// A LoggerFunc is a convenience type to convert a function taking a variadic -// list of arguments and wrap it so the Logger interface can be used. -// -// Example: -// s3.New(sess, &aws.Config{Logger: aws.LoggerFunc(func(args ...interface{}) { -// fmt.Fprintln(os.Stdout, args...) -// })}) -type LoggerFunc func(...interface{}) - -// Log calls the wrapped function with the arguments provided -func (f LoggerFunc) Log(args ...interface{}) { - f(args...) -} - -// NewDefaultLogger returns a Logger which will write log messages to stdout, and -// use same formatting runes as the stdlib log.Logger -func NewDefaultLogger() Logger { - return &defaultLogger{ - logger: log.New(os.Stdout, "", log.LstdFlags), - } -} - -// A defaultLogger provides a minimalistic logger satisfying the Logger interface. -type defaultLogger struct { - logger *log.Logger -} - -// Log logs the parameters to the stdlib logger. See log.Println. -func (l defaultLogger) Log(args ...interface{}) { - l.logger.Println(args...) -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go b/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go deleted file mode 100644 index 271da43..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go +++ /dev/null @@ -1,19 +0,0 @@ -// +build !appengine,!plan9 - -package request - -import ( - "net" - "os" - "syscall" -) - -func isErrConnectionReset(err error) bool { - if opErr, ok := err.(*net.OpError); ok { - if sysErr, ok := opErr.Err.(*os.SyscallError); ok { - return sysErr.Err == syscall.ECONNRESET - } - } - - return false -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error_other.go b/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error_other.go deleted file mode 100644 index daf9eca..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error_other.go +++ /dev/null @@ -1,11 +0,0 @@ -// +build appengine plan9 - -package request - -import ( - "strings" -) - -func isErrConnectionReset(err error) bool { - return strings.Contains(err.Error(), "connection reset") -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go b/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go deleted file mode 100644 index 8ef8548..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go +++ /dev/null @@ -1,277 +0,0 @@ -package request - -import ( - "fmt" - "strings" -) - -// A Handlers provides a collection of request handlers for various -// stages of handling requests. -type Handlers struct { - Validate HandlerList - Build HandlerList - Sign HandlerList - Send HandlerList - ValidateResponse HandlerList - Unmarshal HandlerList - UnmarshalStream HandlerList - UnmarshalMeta HandlerList - UnmarshalError HandlerList - Retry HandlerList - AfterRetry HandlerList - CompleteAttempt HandlerList - Complete HandlerList -} - -// Copy returns of this handler's lists. -func (h *Handlers) Copy() Handlers { - return Handlers{ - Validate: h.Validate.copy(), - Build: h.Build.copy(), - Sign: h.Sign.copy(), - Send: h.Send.copy(), - ValidateResponse: h.ValidateResponse.copy(), - Unmarshal: h.Unmarshal.copy(), - UnmarshalStream: h.UnmarshalStream.copy(), - UnmarshalError: h.UnmarshalError.copy(), - UnmarshalMeta: h.UnmarshalMeta.copy(), - Retry: h.Retry.copy(), - AfterRetry: h.AfterRetry.copy(), - CompleteAttempt: h.CompleteAttempt.copy(), - Complete: h.Complete.copy(), - } -} - -// Clear removes callback functions for all handlers -func (h *Handlers) Clear() { - h.Validate.Clear() - h.Build.Clear() - h.Send.Clear() - h.Sign.Clear() - h.Unmarshal.Clear() - h.UnmarshalStream.Clear() - h.UnmarshalMeta.Clear() - h.UnmarshalError.Clear() - h.ValidateResponse.Clear() - h.Retry.Clear() - h.AfterRetry.Clear() - h.CompleteAttempt.Clear() - h.Complete.Clear() -} - -// A HandlerListRunItem represents an entry in the HandlerList which -// is being run. -type HandlerListRunItem struct { - Index int - Handler NamedHandler - Request *Request -} - -// A HandlerList manages zero or more handlers in a list. -type HandlerList struct { - list []NamedHandler - - // Called after each request handler in the list is called. If set - // and the func returns true the HandlerList will continue to iterate - // over the request handlers. If false is returned the HandlerList - // will stop iterating. - // - // Should be used if extra logic to be performed between each handler - // in the list. This can be used to terminate a list's iteration - // based on a condition such as error like, HandlerListStopOnError. - // Or for logging like HandlerListLogItem. - AfterEachFn func(item HandlerListRunItem) bool -} - -// A NamedHandler is a struct that contains a name and function callback. -type NamedHandler struct { - Name string - Fn func(*Request) -} - -// copy creates a copy of the handler list. -func (l *HandlerList) copy() HandlerList { - n := HandlerList{ - AfterEachFn: l.AfterEachFn, - } - if len(l.list) == 0 { - return n - } - - n.list = append(make([]NamedHandler, 0, len(l.list)), l.list...) - return n -} - -// Clear clears the handler list. -func (l *HandlerList) Clear() { - l.list = l.list[0:0] -} - -// Len returns the number of handlers in the list. -func (l *HandlerList) Len() int { - return len(l.list) -} - -// PushBack pushes handler f to the back of the handler list. -func (l *HandlerList) PushBack(f func(*Request)) { - l.PushBackNamed(NamedHandler{"__anonymous", f}) -} - -// PushBackNamed pushes named handler f to the back of the handler list. -func (l *HandlerList) PushBackNamed(n NamedHandler) { - if cap(l.list) == 0 { - l.list = make([]NamedHandler, 0, 5) - } - l.list = append(l.list, n) -} - -// PushFront pushes handler f to the front of the handler list. -func (l *HandlerList) PushFront(f func(*Request)) { - l.PushFrontNamed(NamedHandler{"__anonymous", f}) -} - -// PushFrontNamed pushes named handler f to the front of the handler list. -func (l *HandlerList) PushFrontNamed(n NamedHandler) { - if cap(l.list) == len(l.list) { - // Allocating new list required - l.list = append([]NamedHandler{n}, l.list...) - } else { - // Enough room to prepend into list. - l.list = append(l.list, NamedHandler{}) - copy(l.list[1:], l.list) - l.list[0] = n - } -} - -// Remove removes a NamedHandler n -func (l *HandlerList) Remove(n NamedHandler) { - l.RemoveByName(n.Name) -} - -// RemoveByName removes a NamedHandler by name. -func (l *HandlerList) RemoveByName(name string) { - for i := 0; i < len(l.list); i++ { - m := l.list[i] - if m.Name == name { - // Shift array preventing creating new arrays - copy(l.list[i:], l.list[i+1:]) - l.list[len(l.list)-1] = NamedHandler{} - l.list = l.list[:len(l.list)-1] - - // decrement list so next check to length is correct - i-- - } - } -} - -// SwapNamed will swap out any existing handlers with the same name as the -// passed in NamedHandler returning true if handlers were swapped. False is -// returned otherwise. -func (l *HandlerList) SwapNamed(n NamedHandler) (swapped bool) { - for i := 0; i < len(l.list); i++ { - if l.list[i].Name == n.Name { - l.list[i].Fn = n.Fn - swapped = true - } - } - - return swapped -} - -// Swap will swap out all handlers matching the name passed in. The matched -// handlers will be swapped in. True is returned if the handlers were swapped. -func (l *HandlerList) Swap(name string, replace NamedHandler) bool { - var swapped bool - - for i := 0; i < len(l.list); i++ { - if l.list[i].Name == name { - l.list[i] = replace - swapped = true - } - } - - return swapped -} - -// SetBackNamed will replace the named handler if it exists in the handler list. -// If the handler does not exist the handler will be added to the end of the list. -func (l *HandlerList) SetBackNamed(n NamedHandler) { - if !l.SwapNamed(n) { - l.PushBackNamed(n) - } -} - -// SetFrontNamed will replace the named handler if it exists in the handler list. -// If the handler does not exist the handler will be added to the beginning of -// the list. -func (l *HandlerList) SetFrontNamed(n NamedHandler) { - if !l.SwapNamed(n) { - l.PushFrontNamed(n) - } -} - -// Run executes all handlers in the list with a given request object. -func (l *HandlerList) Run(r *Request) { - for i, h := range l.list { - h.Fn(r) - item := HandlerListRunItem{ - Index: i, Handler: h, Request: r, - } - if l.AfterEachFn != nil && !l.AfterEachFn(item) { - return - } - } -} - -// HandlerListLogItem logs the request handler and the state of the -// request's Error value. Always returns true to continue iterating -// request handlers in a HandlerList. -func HandlerListLogItem(item HandlerListRunItem) bool { - if item.Request.Config.Logger == nil { - return true - } - item.Request.Config.Logger.Log("DEBUG: RequestHandler", - item.Index, item.Handler.Name, item.Request.Error) - - return true -} - -// HandlerListStopOnError returns false to stop the HandlerList iterating -// over request handlers if Request.Error is not nil. True otherwise -// to continue iterating. -func HandlerListStopOnError(item HandlerListRunItem) bool { - return item.Request.Error == nil -} - -// WithAppendUserAgent will add a string to the user agent prefixed with a -// single white space. -func WithAppendUserAgent(s string) Option { - return func(r *Request) { - r.Handlers.Build.PushBack(func(r2 *Request) { - AddToUserAgent(r, s) - }) - } -} - -// MakeAddToUserAgentHandler will add the name/version pair to the User-Agent request -// header. If the extra parameters are provided they will be added as metadata to the -// name/version pair resulting in the following format. -// "name/version (extra0; extra1; ...)" -// The user agent part will be concatenated with this current request's user agent string. -func MakeAddToUserAgentHandler(name, version string, extra ...string) func(*Request) { - ua := fmt.Sprintf("%s/%s", name, version) - if len(extra) > 0 { - ua += fmt.Sprintf(" (%s)", strings.Join(extra, "; ")) - } - return func(r *Request) { - AddToUserAgent(r, ua) - } -} - -// MakeAddToUserAgentFreeFormHandler adds the input to the User-Agent request header. -// The input string will be concatenated with the current request's user agent string. -func MakeAddToUserAgentFreeFormHandler(s string) func(*Request) { - return func(r *Request) { - AddToUserAgent(r, s) - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go b/vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go deleted file mode 100644 index 79f7960..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go +++ /dev/null @@ -1,24 +0,0 @@ -package request - -import ( - "io" - "net/http" - "net/url" -) - -func copyHTTPRequest(r *http.Request, body io.ReadCloser) *http.Request { - req := new(http.Request) - *req = *r - req.URL = &url.URL{} - *req.URL = *r.URL - req.Body = body - - req.Header = http.Header{} - for k, v := range r.Header { - for _, vv := range v { - req.Header.Add(k, vv) - } - } - - return req -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go b/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go deleted file mode 100644 index b0c2ef4..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go +++ /dev/null @@ -1,60 +0,0 @@ -package request - -import ( - "io" - "sync" - - "github.com/aws/aws-sdk-go/internal/sdkio" -) - -// offsetReader is a thread-safe io.ReadCloser to prevent racing -// with retrying requests -type offsetReader struct { - buf io.ReadSeeker - lock sync.Mutex - closed bool -} - -func newOffsetReader(buf io.ReadSeeker, offset int64) *offsetReader { - reader := &offsetReader{} - buf.Seek(offset, sdkio.SeekStart) - - reader.buf = buf - return reader -} - -// Close will close the instance of the offset reader's access to -// the underlying io.ReadSeeker. -func (o *offsetReader) Close() error { - o.lock.Lock() - defer o.lock.Unlock() - o.closed = true - return nil -} - -// Read is a thread-safe read of the underlying io.ReadSeeker -func (o *offsetReader) Read(p []byte) (int, error) { - o.lock.Lock() - defer o.lock.Unlock() - - if o.closed { - return 0, io.EOF - } - - return o.buf.Read(p) -} - -// Seek is a thread-safe seeking operation. -func (o *offsetReader) Seek(offset int64, whence int) (int64, error) { - o.lock.Lock() - defer o.lock.Unlock() - - return o.buf.Seek(offset, whence) -} - -// CloseAndCopy will return a new offsetReader with a copy of the old buffer -// and close the old buffer. -func (o *offsetReader) CloseAndCopy(offset int64) *offsetReader { - o.Close() - return newOffsetReader(o.buf, offset) -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go deleted file mode 100644 index 7d87df6..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go +++ /dev/null @@ -1,658 +0,0 @@ -package request - -import ( - "bytes" - "fmt" - "io" - "net" - "net/http" - "net/url" - "reflect" - "strings" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/client/metadata" - "github.com/aws/aws-sdk-go/internal/sdkio" -) - -const ( - // ErrCodeSerialization is the serialization error code that is received - // during protocol unmarshaling. - ErrCodeSerialization = "SerializationError" - - // ErrCodeRead is an error that is returned during HTTP reads. - ErrCodeRead = "ReadError" - - // ErrCodeResponseTimeout is the connection timeout error that is received - // during body reads. - ErrCodeResponseTimeout = "ResponseTimeout" - - // ErrCodeInvalidPresignExpire is returned when the expire time provided to - // presign is invalid - ErrCodeInvalidPresignExpire = "InvalidPresignExpireError" - - // CanceledErrorCode is the error code that will be returned by an - // API request that was canceled. Requests given a aws.Context may - // return this error when canceled. - CanceledErrorCode = "RequestCanceled" -) - -// A Request is the service request to be made. -type Request struct { - Config aws.Config - ClientInfo metadata.ClientInfo - Handlers Handlers - - Retryer - AttemptTime time.Time - Time time.Time - Operation *Operation - HTTPRequest *http.Request - HTTPResponse *http.Response - Body io.ReadSeeker - BodyStart int64 // offset from beginning of Body that the request body starts - Params interface{} - Error error - Data interface{} - RequestID string - RetryCount int - Retryable *bool - RetryDelay time.Duration - NotHoist bool - SignedHeaderVals http.Header - LastSignedAt time.Time - DisableFollowRedirects bool - - // A value greater than 0 instructs the request to be signed as Presigned URL - // You should not set this field directly. Instead use Request's - // Presign or PresignRequest methods. - ExpireTime time.Duration - - context aws.Context - - built bool - - // Need to persist an intermediate body between the input Body and HTTP - // request body because the HTTP Client's transport can maintain a reference - // to the HTTP request's body after the client has returned. This value is - // safe to use concurrently and wrap the input Body for each HTTP request. - safeBody *offsetReader -} - -// An Operation is the service API operation to be made. -type Operation struct { - Name string - HTTPMethod string - HTTPPath string - *Paginator - - BeforePresignFn func(r *Request) error -} - -// New returns a new Request pointer for the service API -// operation and parameters. -// -// Params is any value of input parameters to be the request payload. -// Data is pointer value to an object which the request's response -// payload will be deserialized to. -func New(cfg aws.Config, clientInfo metadata.ClientInfo, handlers Handlers, - retryer Retryer, operation *Operation, params interface{}, data interface{}) *Request { - - method := operation.HTTPMethod - if method == "" { - method = "POST" - } - - httpReq, _ := http.NewRequest(method, "", nil) - - var err error - httpReq.URL, err = url.Parse(clientInfo.Endpoint + operation.HTTPPath) - if err != nil { - httpReq.URL = &url.URL{} - err = awserr.New("InvalidEndpointURL", "invalid endpoint uri", err) - } - - SanitizeHostForHeader(httpReq) - - r := &Request{ - Config: cfg, - ClientInfo: clientInfo, - Handlers: handlers.Copy(), - - Retryer: retryer, - Time: time.Now(), - ExpireTime: 0, - Operation: operation, - HTTPRequest: httpReq, - Body: nil, - Params: params, - Error: err, - Data: data, - } - r.SetBufferBody([]byte{}) - - return r -} - -// A Option is a functional option that can augment or modify a request when -// using a WithContext API operation method. -type Option func(*Request) - -// WithGetResponseHeader builds a request Option which will retrieve a single -// header value from the HTTP Response. If there are multiple values for the -// header key use WithGetResponseHeaders instead to access the http.Header -// map directly. The passed in val pointer must be non-nil. -// -// This Option can be used multiple times with a single API operation. -// -// var id2, versionID string -// svc.PutObjectWithContext(ctx, params, -// request.WithGetResponseHeader("x-amz-id-2", &id2), -// request.WithGetResponseHeader("x-amz-version-id", &versionID), -// ) -func WithGetResponseHeader(key string, val *string) Option { - return func(r *Request) { - r.Handlers.Complete.PushBack(func(req *Request) { - *val = req.HTTPResponse.Header.Get(key) - }) - } -} - -// WithGetResponseHeaders builds a request Option which will retrieve the -// headers from the HTTP response and assign them to the passed in headers -// variable. The passed in headers pointer must be non-nil. -// -// var headers http.Header -// svc.PutObjectWithContext(ctx, params, request.WithGetResponseHeaders(&headers)) -func WithGetResponseHeaders(headers *http.Header) Option { - return func(r *Request) { - r.Handlers.Complete.PushBack(func(req *Request) { - *headers = req.HTTPResponse.Header - }) - } -} - -// WithLogLevel is a request option that will set the request to use a specific -// log level when the request is made. -// -// svc.PutObjectWithContext(ctx, params, request.WithLogLevel(aws.LogDebugWithHTTPBody) -func WithLogLevel(l aws.LogLevelType) Option { - return func(r *Request) { - r.Config.LogLevel = aws.LogLevel(l) - } -} - -// ApplyOptions will apply each option to the request calling them in the order -// the were provided. -func (r *Request) ApplyOptions(opts ...Option) { - for _, opt := range opts { - opt(r) - } -} - -// Context will always returns a non-nil context. If Request does not have a -// context aws.BackgroundContext will be returned. -func (r *Request) Context() aws.Context { - if r.context != nil { - return r.context - } - return aws.BackgroundContext() -} - -// SetContext adds a Context to the current request that can be used to cancel -// a in-flight request. The Context value must not be nil, or this method will -// panic. -// -// Unlike http.Request.WithContext, SetContext does not return a copy of the -// Request. It is not safe to use use a single Request value for multiple -// requests. A new Request should be created for each API operation request. -// -// Go 1.6 and below: -// The http.Request's Cancel field will be set to the Done() value of -// the context. This will overwrite the Cancel field's value. -// -// Go 1.7 and above: -// The http.Request.WithContext will be used to set the context on the underlying -// http.Request. This will create a shallow copy of the http.Request. The SDK -// may create sub contexts in the future for nested requests such as retries. -func (r *Request) SetContext(ctx aws.Context) { - if ctx == nil { - panic("context cannot be nil") - } - setRequestContext(r, ctx) -} - -// WillRetry returns if the request's can be retried. -func (r *Request) WillRetry() bool { - if !aws.IsReaderSeekable(r.Body) && r.HTTPRequest.Body != NoBody { - return false - } - return r.Error != nil && aws.BoolValue(r.Retryable) && r.RetryCount < r.MaxRetries() -} - -// ParamsFilled returns if the request's parameters have been populated -// and the parameters are valid. False is returned if no parameters are -// provided or invalid. -func (r *Request) ParamsFilled() bool { - return r.Params != nil && reflect.ValueOf(r.Params).Elem().IsValid() -} - -// DataFilled returns true if the request's data for response deserialization -// target has been set and is a valid. False is returned if data is not -// set, or is invalid. -func (r *Request) DataFilled() bool { - return r.Data != nil && reflect.ValueOf(r.Data).Elem().IsValid() -} - -// SetBufferBody will set the request's body bytes that will be sent to -// the service API. -func (r *Request) SetBufferBody(buf []byte) { - r.SetReaderBody(bytes.NewReader(buf)) -} - -// SetStringBody sets the body of the request to be backed by a string. -func (r *Request) SetStringBody(s string) { - r.SetReaderBody(strings.NewReader(s)) -} - -// SetReaderBody will set the request's body reader. -func (r *Request) SetReaderBody(reader io.ReadSeeker) { - r.Body = reader - r.BodyStart, _ = reader.Seek(0, sdkio.SeekCurrent) // Get the Bodies current offset. - r.ResetBody() -} - -// Presign returns the request's signed URL. Error will be returned -// if the signing fails. The expire parameter is only used for presigned Amazon -// S3 API requests. All other AWS services will use a fixed expriation -// time of 15 minutes. -// -// It is invalid to create a presigned URL with a expire duration 0 or less. An -// error is returned if expire duration is 0 or less. -func (r *Request) Presign(expire time.Duration) (string, error) { - r = r.copy() - - // Presign requires all headers be hoisted. There is no way to retrieve - // the signed headers not hoisted without this. Making the presigned URL - // useless. - r.NotHoist = false - - u, _, err := getPresignedURL(r, expire) - return u, err -} - -// PresignRequest behaves just like presign, with the addition of returning a -// set of headers that were signed. The expire parameter is only used for -// presigned Amazon S3 API requests. All other AWS services will use a fixed -// expriation time of 15 minutes. -// -// It is invalid to create a presigned URL with a expire duration 0 or less. An -// error is returned if expire duration is 0 or less. -// -// Returns the URL string for the API operation with signature in the query string, -// and the HTTP headers that were included in the signature. These headers must -// be included in any HTTP request made with the presigned URL. -// -// To prevent hoisting any headers to the query string set NotHoist to true on -// this Request value prior to calling PresignRequest. -func (r *Request) PresignRequest(expire time.Duration) (string, http.Header, error) { - r = r.copy() - return getPresignedURL(r, expire) -} - -// IsPresigned returns true if the request represents a presigned API url. -func (r *Request) IsPresigned() bool { - return r.ExpireTime != 0 -} - -func getPresignedURL(r *Request, expire time.Duration) (string, http.Header, error) { - if expire <= 0 { - return "", nil, awserr.New( - ErrCodeInvalidPresignExpire, - "presigned URL requires an expire duration greater than 0", - nil, - ) - } - - r.ExpireTime = expire - - if r.Operation.BeforePresignFn != nil { - if err := r.Operation.BeforePresignFn(r); err != nil { - return "", nil, err - } - } - - if err := r.Sign(); err != nil { - return "", nil, err - } - - return r.HTTPRequest.URL.String(), r.SignedHeaderVals, nil -} - -func debugLogReqError(r *Request, stage string, retrying bool, err error) { - if !r.Config.LogLevel.Matches(aws.LogDebugWithRequestErrors) { - return - } - - retryStr := "not retrying" - if retrying { - retryStr = "will retry" - } - - r.Config.Logger.Log(fmt.Sprintf("DEBUG: %s %s/%s failed, %s, error %v", - stage, r.ClientInfo.ServiceName, r.Operation.Name, retryStr, err)) -} - -// Build will build the request's object so it can be signed and sent -// to the service. Build will also validate all the request's parameters. -// Any additional build Handlers set on this request will be run -// in the order they were set. -// -// The request will only be built once. Multiple calls to build will have -// no effect. -// -// If any Validate or Build errors occur the build will stop and the error -// which occurred will be returned. -func (r *Request) Build() error { - if !r.built { - r.Handlers.Validate.Run(r) - if r.Error != nil { - debugLogReqError(r, "Validate Request", false, r.Error) - return r.Error - } - r.Handlers.Build.Run(r) - if r.Error != nil { - debugLogReqError(r, "Build Request", false, r.Error) - return r.Error - } - r.built = true - } - - return r.Error -} - -// Sign will sign the request, returning error if errors are encountered. -// -// Sign will build the request prior to signing. All Sign Handlers will -// be executed in the order they were set. -func (r *Request) Sign() error { - r.Build() - if r.Error != nil { - debugLogReqError(r, "Build Request", false, r.Error) - return r.Error - } - - r.Handlers.Sign.Run(r) - return r.Error -} - -func (r *Request) getNextRequestBody() (io.ReadCloser, error) { - if r.safeBody != nil { - r.safeBody.Close() - } - - r.safeBody = newOffsetReader(r.Body, r.BodyStart) - - // Go 1.8 tightened and clarified the rules code needs to use when building - // requests with the http package. Go 1.8 removed the automatic detection - // of if the Request.Body was empty, or actually had bytes in it. The SDK - // always sets the Request.Body even if it is empty and should not actually - // be sent. This is incorrect. - // - // Go 1.8 did add a http.NoBody value that the SDK can use to tell the http - // client that the request really should be sent without a body. The - // Request.Body cannot be set to nil, which is preferable, because the - // field is exported and could introduce nil pointer dereferences for users - // of the SDK if they used that field. - // - // Related golang/go#18257 - l, err := aws.SeekerLen(r.Body) - if err != nil { - return nil, awserr.New(ErrCodeSerialization, "failed to compute request body size", err) - } - - var body io.ReadCloser - if l == 0 { - body = NoBody - } else if l > 0 { - body = r.safeBody - } else { - // Hack to prevent sending bodies for methods where the body - // should be ignored by the server. Sending bodies on these - // methods without an associated ContentLength will cause the - // request to socket timeout because the server does not handle - // Transfer-Encoding: chunked bodies for these methods. - // - // This would only happen if a aws.ReaderSeekerCloser was used with - // a io.Reader that was not also an io.Seeker, or did not implement - // Len() method. - switch r.Operation.HTTPMethod { - case "GET", "HEAD", "DELETE": - body = NoBody - default: - body = r.safeBody - } - } - - return body, nil -} - -// GetBody will return an io.ReadSeeker of the Request's underlying -// input body with a concurrency safe wrapper. -func (r *Request) GetBody() io.ReadSeeker { - return r.safeBody -} - -// Send will send the request, returning error if errors are encountered. -// -// Send will sign the request prior to sending. All Send Handlers will -// be executed in the order they were set. -// -// Canceling a request is non-deterministic. If a request has been canceled, -// then the transport will choose, randomly, one of the state channels during -// reads or getting the connection. -// -// readLoop() and getConn(req *Request, cm connectMethod) -// https://github.com/golang/go/blob/master/src/net/http/transport.go -// -// Send will not close the request.Request's body. -func (r *Request) Send() error { - defer func() { - // Regardless of success or failure of the request trigger the Complete - // request handlers. - r.Handlers.Complete.Run(r) - }() - - if err := r.Error; err != nil { - return err - } - - for { - r.Error = nil - r.AttemptTime = time.Now() - - if err := r.Sign(); err != nil { - debugLogReqError(r, "Sign Request", false, err) - return err - } - - if err := r.sendRequest(); err == nil { - return nil - } else if !shouldRetryCancel(r) { - return err - } else { - r.Handlers.Retry.Run(r) - r.Handlers.AfterRetry.Run(r) - - if r.Error != nil || !aws.BoolValue(r.Retryable) { - return r.Error - } - - r.prepareRetry() - continue - } - } -} - -func (r *Request) prepareRetry() { - if r.Config.LogLevel.Matches(aws.LogDebugWithRequestRetries) { - r.Config.Logger.Log(fmt.Sprintf("DEBUG: Retrying Request %s/%s, attempt %d", - r.ClientInfo.ServiceName, r.Operation.Name, r.RetryCount)) - } - - // The previous http.Request will have a reference to the r.Body - // and the HTTP Client's Transport may still be reading from - // the request's body even though the Client's Do returned. - r.HTTPRequest = copyHTTPRequest(r.HTTPRequest, nil) - r.ResetBody() - - // Closing response body to ensure that no response body is leaked - // between retry attempts. - if r.HTTPResponse != nil && r.HTTPResponse.Body != nil { - r.HTTPResponse.Body.Close() - } -} - -func (r *Request) sendRequest() (sendErr error) { - defer r.Handlers.CompleteAttempt.Run(r) - - r.Retryable = nil - r.Handlers.Send.Run(r) - if r.Error != nil { - debugLogReqError(r, "Send Request", r.WillRetry(), r.Error) - return r.Error - } - - r.Handlers.UnmarshalMeta.Run(r) - r.Handlers.ValidateResponse.Run(r) - if r.Error != nil { - r.Handlers.UnmarshalError.Run(r) - debugLogReqError(r, "Validate Response", r.WillRetry(), r.Error) - return r.Error - } - - r.Handlers.Unmarshal.Run(r) - if r.Error != nil { - debugLogReqError(r, "Unmarshal Response", r.WillRetry(), r.Error) - return r.Error - } - - return nil -} - -// copy will copy a request which will allow for local manipulation of the -// request. -func (r *Request) copy() *Request { - req := &Request{} - *req = *r - req.Handlers = r.Handlers.Copy() - op := *r.Operation - req.Operation = &op - return req -} - -// AddToUserAgent adds the string to the end of the request's current user agent. -func AddToUserAgent(r *Request, s string) { - curUA := r.HTTPRequest.Header.Get("User-Agent") - if len(curUA) > 0 { - s = curUA + " " + s - } - r.HTTPRequest.Header.Set("User-Agent", s) -} - -func shouldRetryCancel(r *Request) bool { - awsErr, ok := r.Error.(awserr.Error) - timeoutErr := false - errStr := r.Error.Error() - if ok { - if awsErr.Code() == CanceledErrorCode { - return false - } - err := awsErr.OrigErr() - netErr, netOK := err.(net.Error) - timeoutErr = netOK && netErr.Temporary() - if urlErr, ok := err.(*url.Error); !timeoutErr && ok { - errStr = urlErr.Err.Error() - } - } - - // There can be two types of canceled errors here. - // The first being a net.Error and the other being an error. - // If the request was timed out, we want to continue the retry - // process. Otherwise, return the canceled error. - return timeoutErr || - (errStr != "net/http: request canceled" && - errStr != "net/http: request canceled while waiting for connection") - -} - -// SanitizeHostForHeader removes default port from host and updates request.Host -func SanitizeHostForHeader(r *http.Request) { - host := getHost(r) - port := portOnly(host) - if port != "" && isDefaultPort(r.URL.Scheme, port) { - r.Host = stripPort(host) - } -} - -// Returns host from request -func getHost(r *http.Request) string { - if r.Host != "" { - return r.Host - } - - return r.URL.Host -} - -// Hostname returns u.Host, without any port number. -// -// If Host is an IPv6 literal with a port number, Hostname returns the -// IPv6 literal without the square brackets. IPv6 literals may include -// a zone identifier. -// -// Copied from the Go 1.8 standard library (net/url) -func stripPort(hostport string) string { - colon := strings.IndexByte(hostport, ':') - if colon == -1 { - return hostport - } - if i := strings.IndexByte(hostport, ']'); i != -1 { - return strings.TrimPrefix(hostport[:i], "[") - } - return hostport[:colon] -} - -// Port returns the port part of u.Host, without the leading colon. -// If u.Host doesn't contain a port, Port returns an empty string. -// -// Copied from the Go 1.8 standard library (net/url) -func portOnly(hostport string) string { - colon := strings.IndexByte(hostport, ':') - if colon == -1 { - return "" - } - if i := strings.Index(hostport, "]:"); i != -1 { - return hostport[i+len("]:"):] - } - if strings.Contains(hostport, "]") { - return "" - } - return hostport[colon+len(":"):] -} - -// Returns true if the specified URI is using the standard port -// (i.e. port 80 for HTTP URIs or 443 for HTTPS URIs) -func isDefaultPort(scheme, port string) bool { - if port == "" { - return true - } - - lowerCaseScheme := strings.ToLower(scheme) - if (lowerCaseScheme == "http" && port == "80") || (lowerCaseScheme == "https" && port == "443") { - return true - } - - return false -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go deleted file mode 100644 index e36e468..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go +++ /dev/null @@ -1,39 +0,0 @@ -// +build !go1.8 - -package request - -import "io" - -// NoBody is an io.ReadCloser with no bytes. Read always returns EOF -// and Close always returns nil. It can be used in an outgoing client -// request to explicitly signal that a request has zero bytes. -// An alternative, however, is to simply set Request.Body to nil. -// -// Copy of Go 1.8 NoBody type from net/http/http.go -type noBody struct{} - -func (noBody) Read([]byte) (int, error) { return 0, io.EOF } -func (noBody) Close() error { return nil } -func (noBody) WriteTo(io.Writer) (int64, error) { return 0, nil } - -// NoBody is an empty reader that will trigger the Go HTTP client to not include -// and body in the HTTP request. -var NoBody = noBody{} - -// ResetBody rewinds the request body back to its starting position, and -// sets the HTTP Request body reference. When the body is read prior -// to being sent in the HTTP request it will need to be rewound. -// -// ResetBody will automatically be called by the SDK's build handler, but if -// the request is being used directly ResetBody must be called before the request -// is Sent. SetStringBody, SetBufferBody, and SetReaderBody will automatically -// call ResetBody. -func (r *Request) ResetBody() { - body, err := r.getNextRequestBody() - if err != nil { - r.Error = err - return - } - - r.HTTPRequest.Body = body -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go deleted file mode 100644 index 7c6a800..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go +++ /dev/null @@ -1,33 +0,0 @@ -// +build go1.8 - -package request - -import ( - "net/http" -) - -// NoBody is a http.NoBody reader instructing Go HTTP client to not include -// and body in the HTTP request. -var NoBody = http.NoBody - -// ResetBody rewinds the request body back to its starting position, and -// sets the HTTP Request body reference. When the body is read prior -// to being sent in the HTTP request it will need to be rewound. -// -// ResetBody will automatically be called by the SDK's build handler, but if -// the request is being used directly ResetBody must be called before the request -// is Sent. SetStringBody, SetBufferBody, and SetReaderBody will automatically -// call ResetBody. -// -// Will also set the Go 1.8's http.Request.GetBody member to allow retrying -// PUT/POST redirects. -func (r *Request) ResetBody() { - body, err := r.getNextRequestBody() - if err != nil { - r.Error = err - return - } - - r.HTTPRequest.Body = body - r.HTTPRequest.GetBody = r.getNextRequestBody -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go deleted file mode 100644 index a7365cd..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go +++ /dev/null @@ -1,14 +0,0 @@ -// +build go1.7 - -package request - -import "github.com/aws/aws-sdk-go/aws" - -// setContext updates the Request to use the passed in context for cancellation. -// Context will also be used for request retry delay. -// -// Creates shallow copy of the http.Request with the WithContext method. -func setRequestContext(r *Request, ctx aws.Context) { - r.context = ctx - r.HTTPRequest = r.HTTPRequest.WithContext(ctx) -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go deleted file mode 100644 index 307fa07..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go +++ /dev/null @@ -1,14 +0,0 @@ -// +build !go1.7 - -package request - -import "github.com/aws/aws-sdk-go/aws" - -// setContext updates the Request to use the passed in context for cancellation. -// Context will also be used for request retry delay. -// -// Creates shallow copy of the http.Request with the WithContext method. -func setRequestContext(r *Request, ctx aws.Context) { - r.context = ctx - r.HTTPRequest.Cancel = ctx.Done() -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go deleted file mode 100644 index a633ed5..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go +++ /dev/null @@ -1,264 +0,0 @@ -package request - -import ( - "reflect" - "sync/atomic" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awsutil" -) - -// A Pagination provides paginating of SDK API operations which are paginatable. -// Generally you should not use this type directly, but use the "Pages" API -// operations method to automatically perform pagination for you. Such as, -// "S3.ListObjectsPages", and "S3.ListObjectsPagesWithContext" methods. -// -// Pagination differs from a Paginator type in that pagination is the type that -// does the pagination between API operations, and Paginator defines the -// configuration that will be used per page request. -// -// cont := true -// for p.Next() && cont { -// data := p.Page().(*s3.ListObjectsOutput) -// // process the page's data -// } -// return p.Err() -// -// See service client API operation Pages methods for examples how the SDK will -// use the Pagination type. -type Pagination struct { - // Function to return a Request value for each pagination request. - // Any configuration or handlers that need to be applied to the request - // prior to getting the next page should be done here before the request - // returned. - // - // NewRequest should always be built from the same API operations. It is - // undefined if different API operations are returned on subsequent calls. - NewRequest func() (*Request, error) - // EndPageOnSameToken, when enabled, will allow the paginator to stop on - // token that are the same as its previous tokens. - EndPageOnSameToken bool - - started bool - prevTokens []interface{} - nextTokens []interface{} - - err error - curPage interface{} -} - -// HasNextPage will return true if Pagination is able to determine that the API -// operation has additional pages. False will be returned if there are no more -// pages remaining. -// -// Will always return true if Next has not been called yet. -func (p *Pagination) HasNextPage() bool { - if !p.started { - return true - } - - hasNextPage := len(p.nextTokens) != 0 - if p.EndPageOnSameToken { - return hasNextPage && !awsutil.DeepEqual(p.nextTokens, p.prevTokens) - } - return hasNextPage -} - -// Err returns the error Pagination encountered when retrieving the next page. -func (p *Pagination) Err() error { - return p.err -} - -// Page returns the current page. Page should only be called after a successful -// call to Next. It is undefined what Page will return if Page is called after -// Next returns false. -func (p *Pagination) Page() interface{} { - return p.curPage -} - -// Next will attempt to retrieve the next page for the API operation. When a page -// is retrieved true will be returned. If the page cannot be retrieved, or there -// are no more pages false will be returned. -// -// Use the Page method to retrieve the current page data. The data will need -// to be cast to the API operation's output type. -// -// Use the Err method to determine if an error occurred if Page returns false. -func (p *Pagination) Next() bool { - if !p.HasNextPage() { - return false - } - - req, err := p.NewRequest() - if err != nil { - p.err = err - return false - } - - if p.started { - for i, intok := range req.Operation.InputTokens { - awsutil.SetValueAtPath(req.Params, intok, p.nextTokens[i]) - } - } - p.started = true - - err = req.Send() - if err != nil { - p.err = err - return false - } - - p.prevTokens = p.nextTokens - p.nextTokens = req.nextPageTokens() - p.curPage = req.Data - - return true -} - -// A Paginator is the configuration data that defines how an API operation -// should be paginated. This type is used by the API service models to define -// the generated pagination config for service APIs. -// -// The Pagination type is what provides iterating between pages of an API. It -// is only used to store the token metadata the SDK should use for performing -// pagination. -type Paginator struct { - InputTokens []string - OutputTokens []string - LimitToken string - TruncationToken string -} - -// nextPageTokens returns the tokens to use when asking for the next page of data. -func (r *Request) nextPageTokens() []interface{} { - if r.Operation.Paginator == nil { - return nil - } - if r.Operation.TruncationToken != "" { - tr, _ := awsutil.ValuesAtPath(r.Data, r.Operation.TruncationToken) - if len(tr) == 0 { - return nil - } - - switch v := tr[0].(type) { - case *bool: - if !aws.BoolValue(v) { - return nil - } - case bool: - if v == false { - return nil - } - } - } - - tokens := []interface{}{} - tokenAdded := false - for _, outToken := range r.Operation.OutputTokens { - vs, _ := awsutil.ValuesAtPath(r.Data, outToken) - if len(vs) == 0 { - tokens = append(tokens, nil) - continue - } - v := vs[0] - - switch tv := v.(type) { - case *string: - if len(aws.StringValue(tv)) == 0 { - tokens = append(tokens, nil) - continue - } - case string: - if len(tv) == 0 { - tokens = append(tokens, nil) - continue - } - } - - tokenAdded = true - tokens = append(tokens, v) - } - if !tokenAdded { - return nil - } - - return tokens -} - -// Ensure a deprecated item is only logged once instead of each time its used. -func logDeprecatedf(logger aws.Logger, flag *int32, msg string) { - if logger == nil { - return - } - if atomic.CompareAndSwapInt32(flag, 0, 1) { - logger.Log(msg) - } -} - -var ( - logDeprecatedHasNextPage int32 - logDeprecatedNextPage int32 - logDeprecatedEachPage int32 -) - -// HasNextPage returns true if this request has more pages of data available. -// -// Deprecated Use Pagination type for configurable pagination of API operations -func (r *Request) HasNextPage() bool { - logDeprecatedf(r.Config.Logger, &logDeprecatedHasNextPage, - "Request.HasNextPage deprecated. Use Pagination type for configurable pagination of API operations") - - return len(r.nextPageTokens()) > 0 -} - -// NextPage returns a new Request that can be executed to return the next -// page of result data. Call .Send() on this request to execute it. -// -// Deprecated Use Pagination type for configurable pagination of API operations -func (r *Request) NextPage() *Request { - logDeprecatedf(r.Config.Logger, &logDeprecatedNextPage, - "Request.NextPage deprecated. Use Pagination type for configurable pagination of API operations") - - tokens := r.nextPageTokens() - if len(tokens) == 0 { - return nil - } - - data := reflect.New(reflect.TypeOf(r.Data).Elem()).Interface() - nr := New(r.Config, r.ClientInfo, r.Handlers, r.Retryer, r.Operation, awsutil.CopyOf(r.Params), data) - for i, intok := range nr.Operation.InputTokens { - awsutil.SetValueAtPath(nr.Params, intok, tokens[i]) - } - return nr -} - -// EachPage iterates over each page of a paginated request object. The fn -// parameter should be a function with the following sample signature: -// -// func(page *T, lastPage bool) bool { -// return true // return false to stop iterating -// } -// -// Where "T" is the structure type matching the output structure of the given -// operation. For example, a request object generated by -// DynamoDB.ListTablesRequest() would expect to see dynamodb.ListTablesOutput -// as the structure "T". The lastPage value represents whether the page is -// the last page of data or not. The return value of this function should -// return true to keep iterating or false to stop. -// -// Deprecated Use Pagination type for configurable pagination of API operations -func (r *Request) EachPage(fn func(data interface{}, isLastPage bool) (shouldContinue bool)) error { - logDeprecatedf(r.Config.Logger, &logDeprecatedEachPage, - "Request.EachPage deprecated. Use Pagination type for configurable pagination of API operations") - - for page := r; page != nil; page = page.NextPage() { - if err := page.Send(); err != nil { - return err - } - if getNextPage := fn(page.Data, !page.HasNextPage()); !getNextPage { - return page.Error - } - } - - return nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go deleted file mode 100644 index 7bc5da7..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go +++ /dev/null @@ -1,162 +0,0 @@ -package request - -import ( - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" -) - -// Retryer is an interface to control retry logic for a given service. -// The default implementation used by most services is the client.DefaultRetryer -// structure, which contains basic retry logic using exponential backoff. -type Retryer interface { - RetryRules(*Request) time.Duration - ShouldRetry(*Request) bool - MaxRetries() int -} - -// WithRetryer sets a config Retryer value to the given Config returning it -// for chaining. -func WithRetryer(cfg *aws.Config, retryer Retryer) *aws.Config { - cfg.Retryer = retryer - return cfg -} - -// retryableCodes is a collection of service response codes which are retry-able -// without any further action. -var retryableCodes = map[string]struct{}{ - "RequestError": {}, - "RequestTimeout": {}, - ErrCodeResponseTimeout: {}, - "RequestTimeoutException": {}, // Glacier's flavor of RequestTimeout -} - -var throttleCodes = map[string]struct{}{ - "ProvisionedThroughputExceededException": {}, - "Throttling": {}, - "ThrottlingException": {}, - "RequestLimitExceeded": {}, - "RequestThrottled": {}, - "TooManyRequestsException": {}, // Lambda functions - "PriorRequestNotComplete": {}, // Route53 - "TransactionInProgressException": {}, -} - -// credsExpiredCodes is a collection of error codes which signify the credentials -// need to be refreshed. Expired tokens require refreshing of credentials, and -// resigning before the request can be retried. -var credsExpiredCodes = map[string]struct{}{ - "ExpiredToken": {}, - "ExpiredTokenException": {}, - "RequestExpired": {}, // EC2 Only -} - -func isCodeThrottle(code string) bool { - _, ok := throttleCodes[code] - return ok -} - -func isCodeRetryable(code string) bool { - if _, ok := retryableCodes[code]; ok { - return true - } - - return isCodeExpiredCreds(code) -} - -func isCodeExpiredCreds(code string) bool { - _, ok := credsExpiredCodes[code] - return ok -} - -var validParentCodes = map[string]struct{}{ - ErrCodeSerialization: {}, - ErrCodeRead: {}, -} - -type temporaryError interface { - Temporary() bool -} - -func isNestedErrorRetryable(parentErr awserr.Error) bool { - if parentErr == nil { - return false - } - - if _, ok := validParentCodes[parentErr.Code()]; !ok { - return false - } - - err := parentErr.OrigErr() - if err == nil { - return false - } - - if aerr, ok := err.(awserr.Error); ok { - return isCodeRetryable(aerr.Code()) - } - - if t, ok := err.(temporaryError); ok { - return t.Temporary() || isErrConnectionReset(err) - } - - return isErrConnectionReset(err) -} - -// IsErrorRetryable returns whether the error is retryable, based on its Code. -// Returns false if error is nil. -func IsErrorRetryable(err error) bool { - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - return isCodeRetryable(aerr.Code()) || isNestedErrorRetryable(aerr) - } - } - return false -} - -// IsErrorThrottle returns whether the error is to be throttled based on its code. -// Returns false if error is nil. -func IsErrorThrottle(err error) bool { - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - return isCodeThrottle(aerr.Code()) - } - } - return false -} - -// IsErrorExpiredCreds returns whether the error code is a credential expiry error. -// Returns false if error is nil. -func IsErrorExpiredCreds(err error) bool { - if err != nil { - if aerr, ok := err.(awserr.Error); ok { - return isCodeExpiredCreds(aerr.Code()) - } - } - return false -} - -// IsErrorRetryable returns whether the error is retryable, based on its Code. -// Returns false if the request has no Error set. -// -// Alias for the utility function IsErrorRetryable -func (r *Request) IsErrorRetryable() bool { - return IsErrorRetryable(r.Error) -} - -// IsErrorThrottle returns whether the error is to be throttled based on its code. -// Returns false if the request has no Error set -// -// Alias for the utility function IsErrorThrottle -func (r *Request) IsErrorThrottle() bool { - return IsErrorThrottle(r.Error) -} - -// IsErrorExpired returns whether the error code is a credential expiry error. -// Returns false if the request has no Error set. -// -// Alias for the utility function IsErrorExpiredCreds -func (r *Request) IsErrorExpired() bool { - return IsErrorExpiredCreds(r.Error) -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go b/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go deleted file mode 100644 index 09a44eb..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go +++ /dev/null @@ -1,94 +0,0 @@ -package request - -import ( - "io" - "time" - - "github.com/aws/aws-sdk-go/aws/awserr" -) - -var timeoutErr = awserr.New( - ErrCodeResponseTimeout, - "read on body has reached the timeout limit", - nil, -) - -type readResult struct { - n int - err error -} - -// timeoutReadCloser will handle body reads that take too long. -// We will return a ErrReadTimeout error if a timeout occurs. -type timeoutReadCloser struct { - reader io.ReadCloser - duration time.Duration -} - -// Read will spin off a goroutine to call the reader's Read method. We will -// select on the timer's channel or the read's channel. Whoever completes first -// will be returned. -func (r *timeoutReadCloser) Read(b []byte) (int, error) { - timer := time.NewTimer(r.duration) - c := make(chan readResult, 1) - - go func() { - n, err := r.reader.Read(b) - timer.Stop() - c <- readResult{n: n, err: err} - }() - - select { - case data := <-c: - return data.n, data.err - case <-timer.C: - return 0, timeoutErr - } -} - -func (r *timeoutReadCloser) Close() error { - return r.reader.Close() -} - -const ( - // HandlerResponseTimeout is what we use to signify the name of the - // response timeout handler. - HandlerResponseTimeout = "ResponseTimeoutHandler" -) - -// adaptToResponseTimeoutError is a handler that will replace any top level error -// to a ErrCodeResponseTimeout, if its child is that. -func adaptToResponseTimeoutError(req *Request) { - if err, ok := req.Error.(awserr.Error); ok { - aerr, ok := err.OrigErr().(awserr.Error) - if ok && aerr.Code() == ErrCodeResponseTimeout { - req.Error = aerr - } - } -} - -// WithResponseReadTimeout is a request option that will wrap the body in a timeout read closer. -// This will allow for per read timeouts. If a timeout occurred, we will return the -// ErrCodeResponseTimeout. -// -// svc.PutObjectWithContext(ctx, params, request.WithTimeoutReadCloser(30 * time.Second) -func WithResponseReadTimeout(duration time.Duration) Option { - return func(r *Request) { - - var timeoutHandler = NamedHandler{ - HandlerResponseTimeout, - func(req *Request) { - req.HTTPResponse.Body = &timeoutReadCloser{ - reader: req.HTTPResponse.Body, - duration: duration, - } - }} - - // remove the handler so we are not stomping over any new durations. - r.Handlers.Send.RemoveByName(HandlerResponseTimeout) - r.Handlers.Send.PushBackNamed(timeoutHandler) - - r.Handlers.Unmarshal.PushBack(adaptToResponseTimeoutError) - r.Handlers.UnmarshalError.PushBack(adaptToResponseTimeoutError) - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go b/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go deleted file mode 100644 index 8630683..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go +++ /dev/null @@ -1,286 +0,0 @@ -package request - -import ( - "bytes" - "fmt" - - "github.com/aws/aws-sdk-go/aws/awserr" -) - -const ( - // InvalidParameterErrCode is the error code for invalid parameters errors - InvalidParameterErrCode = "InvalidParameter" - // ParamRequiredErrCode is the error code for required parameter errors - ParamRequiredErrCode = "ParamRequiredError" - // ParamMinValueErrCode is the error code for fields with too low of a - // number value. - ParamMinValueErrCode = "ParamMinValueError" - // ParamMinLenErrCode is the error code for fields without enough elements. - ParamMinLenErrCode = "ParamMinLenError" - // ParamMaxLenErrCode is the error code for value being too long. - ParamMaxLenErrCode = "ParamMaxLenError" - - // ParamFormatErrCode is the error code for a field with invalid - // format or characters. - ParamFormatErrCode = "ParamFormatInvalidError" -) - -// Validator provides a way for types to perform validation logic on their -// input values that external code can use to determine if a type's values -// are valid. -type Validator interface { - Validate() error -} - -// An ErrInvalidParams provides wrapping of invalid parameter errors found when -// validating API operation input parameters. -type ErrInvalidParams struct { - // Context is the base context of the invalid parameter group. - Context string - errs []ErrInvalidParam -} - -// Add adds a new invalid parameter error to the collection of invalid -// parameters. The context of the invalid parameter will be updated to reflect -// this collection. -func (e *ErrInvalidParams) Add(err ErrInvalidParam) { - err.SetContext(e.Context) - e.errs = append(e.errs, err) -} - -// AddNested adds the invalid parameter errors from another ErrInvalidParams -// value into this collection. The nested errors will have their nested context -// updated and base context to reflect the merging. -// -// Use for nested validations errors. -func (e *ErrInvalidParams) AddNested(nestedCtx string, nested ErrInvalidParams) { - for _, err := range nested.errs { - err.SetContext(e.Context) - err.AddNestedContext(nestedCtx) - e.errs = append(e.errs, err) - } -} - -// Len returns the number of invalid parameter errors -func (e ErrInvalidParams) Len() int { - return len(e.errs) -} - -// Code returns the code of the error -func (e ErrInvalidParams) Code() string { - return InvalidParameterErrCode -} - -// Message returns the message of the error -func (e ErrInvalidParams) Message() string { - return fmt.Sprintf("%d validation error(s) found.", len(e.errs)) -} - -// Error returns the string formatted form of the invalid parameters. -func (e ErrInvalidParams) Error() string { - w := &bytes.Buffer{} - fmt.Fprintf(w, "%s: %s\n", e.Code(), e.Message()) - - for _, err := range e.errs { - fmt.Fprintf(w, "- %s\n", err.Message()) - } - - return w.String() -} - -// OrigErr returns the invalid parameters as a awserr.BatchedErrors value -func (e ErrInvalidParams) OrigErr() error { - return awserr.NewBatchError( - InvalidParameterErrCode, e.Message(), e.OrigErrs()) -} - -// OrigErrs returns a slice of the invalid parameters -func (e ErrInvalidParams) OrigErrs() []error { - errs := make([]error, len(e.errs)) - for i := 0; i < len(errs); i++ { - errs[i] = e.errs[i] - } - - return errs -} - -// An ErrInvalidParam represents an invalid parameter error type. -type ErrInvalidParam interface { - awserr.Error - - // Field name the error occurred on. - Field() string - - // SetContext updates the context of the error. - SetContext(string) - - // AddNestedContext updates the error's context to include a nested level. - AddNestedContext(string) -} - -type errInvalidParam struct { - context string - nestedContext string - field string - code string - msg string -} - -// Code returns the error code for the type of invalid parameter. -func (e *errInvalidParam) Code() string { - return e.code -} - -// Message returns the reason the parameter was invalid, and its context. -func (e *errInvalidParam) Message() string { - return fmt.Sprintf("%s, %s.", e.msg, e.Field()) -} - -// Error returns the string version of the invalid parameter error. -func (e *errInvalidParam) Error() string { - return fmt.Sprintf("%s: %s", e.code, e.Message()) -} - -// OrigErr returns nil, Implemented for awserr.Error interface. -func (e *errInvalidParam) OrigErr() error { - return nil -} - -// Field Returns the field and context the error occurred. -func (e *errInvalidParam) Field() string { - field := e.context - if len(field) > 0 { - field += "." - } - if len(e.nestedContext) > 0 { - field += fmt.Sprintf("%s.", e.nestedContext) - } - field += e.field - - return field -} - -// SetContext updates the base context of the error. -func (e *errInvalidParam) SetContext(ctx string) { - e.context = ctx -} - -// AddNestedContext prepends a context to the field's path. -func (e *errInvalidParam) AddNestedContext(ctx string) { - if len(e.nestedContext) == 0 { - e.nestedContext = ctx - } else { - e.nestedContext = fmt.Sprintf("%s.%s", ctx, e.nestedContext) - } - -} - -// An ErrParamRequired represents an required parameter error. -type ErrParamRequired struct { - errInvalidParam -} - -// NewErrParamRequired creates a new required parameter error. -func NewErrParamRequired(field string) *ErrParamRequired { - return &ErrParamRequired{ - errInvalidParam{ - code: ParamRequiredErrCode, - field: field, - msg: fmt.Sprintf("missing required field"), - }, - } -} - -// An ErrParamMinValue represents a minimum value parameter error. -type ErrParamMinValue struct { - errInvalidParam - min float64 -} - -// NewErrParamMinValue creates a new minimum value parameter error. -func NewErrParamMinValue(field string, min float64) *ErrParamMinValue { - return &ErrParamMinValue{ - errInvalidParam: errInvalidParam{ - code: ParamMinValueErrCode, - field: field, - msg: fmt.Sprintf("minimum field value of %v", min), - }, - min: min, - } -} - -// MinValue returns the field's require minimum value. -// -// float64 is returned for both int and float min values. -func (e *ErrParamMinValue) MinValue() float64 { - return e.min -} - -// An ErrParamMinLen represents a minimum length parameter error. -type ErrParamMinLen struct { - errInvalidParam - min int -} - -// NewErrParamMinLen creates a new minimum length parameter error. -func NewErrParamMinLen(field string, min int) *ErrParamMinLen { - return &ErrParamMinLen{ - errInvalidParam: errInvalidParam{ - code: ParamMinLenErrCode, - field: field, - msg: fmt.Sprintf("minimum field size of %v", min), - }, - min: min, - } -} - -// MinLen returns the field's required minimum length. -func (e *ErrParamMinLen) MinLen() int { - return e.min -} - -// An ErrParamMaxLen represents a maximum length parameter error. -type ErrParamMaxLen struct { - errInvalidParam - max int -} - -// NewErrParamMaxLen creates a new maximum length parameter error. -func NewErrParamMaxLen(field string, max int, value string) *ErrParamMaxLen { - return &ErrParamMaxLen{ - errInvalidParam: errInvalidParam{ - code: ParamMaxLenErrCode, - field: field, - msg: fmt.Sprintf("maximum size of %v, %v", max, value), - }, - max: max, - } -} - -// MaxLen returns the field's required minimum length. -func (e *ErrParamMaxLen) MaxLen() int { - return e.max -} - -// An ErrParamFormat represents a invalid format parameter error. -type ErrParamFormat struct { - errInvalidParam - format string -} - -// NewErrParamFormat creates a new invalid format parameter error. -func NewErrParamFormat(field string, format, value string) *ErrParamFormat { - return &ErrParamFormat{ - errInvalidParam: errInvalidParam{ - code: ParamFormatErrCode, - field: field, - msg: fmt.Sprintf("format %v, %v", format, value), - }, - format: format, - } -} - -// Format returns the field's required format. -func (e *ErrParamFormat) Format() string { - return e.format -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go b/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go deleted file mode 100644 index 4601f88..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go +++ /dev/null @@ -1,295 +0,0 @@ -package request - -import ( - "fmt" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/awsutil" -) - -// WaiterResourceNotReadyErrorCode is the error code returned by a waiter when -// the waiter's max attempts have been exhausted. -const WaiterResourceNotReadyErrorCode = "ResourceNotReady" - -// A WaiterOption is a function that will update the Waiter value's fields to -// configure the waiter. -type WaiterOption func(*Waiter) - -// WithWaiterMaxAttempts returns the maximum number of times the waiter should -// attempt to check the resource for the target state. -func WithWaiterMaxAttempts(max int) WaiterOption { - return func(w *Waiter) { - w.MaxAttempts = max - } -} - -// WaiterDelay will return a delay the waiter should pause between attempts to -// check the resource state. The passed in attempt is the number of times the -// Waiter has checked the resource state. -// -// Attempt is the number of attempts the Waiter has made checking the resource -// state. -type WaiterDelay func(attempt int) time.Duration - -// ConstantWaiterDelay returns a WaiterDelay that will always return a constant -// delay the waiter should use between attempts. It ignores the number of -// attempts made. -func ConstantWaiterDelay(delay time.Duration) WaiterDelay { - return func(attempt int) time.Duration { - return delay - } -} - -// WithWaiterDelay will set the Waiter to use the WaiterDelay passed in. -func WithWaiterDelay(delayer WaiterDelay) WaiterOption { - return func(w *Waiter) { - w.Delay = delayer - } -} - -// WithWaiterLogger returns a waiter option to set the logger a waiter -// should use to log warnings and errors to. -func WithWaiterLogger(logger aws.Logger) WaiterOption { - return func(w *Waiter) { - w.Logger = logger - } -} - -// WithWaiterRequestOptions returns a waiter option setting the request -// options for each request the waiter makes. Appends to waiter's request -// options already set. -func WithWaiterRequestOptions(opts ...Option) WaiterOption { - return func(w *Waiter) { - w.RequestOptions = append(w.RequestOptions, opts...) - } -} - -// A Waiter provides the functionality to perform a blocking call which will -// wait for a resource state to be satisfied by a service. -// -// This type should not be used directly. The API operations provided in the -// service packages prefixed with "WaitUntil" should be used instead. -type Waiter struct { - Name string - Acceptors []WaiterAcceptor - Logger aws.Logger - - MaxAttempts int - Delay WaiterDelay - - RequestOptions []Option - NewRequest func([]Option) (*Request, error) - SleepWithContext func(aws.Context, time.Duration) error -} - -// ApplyOptions updates the waiter with the list of waiter options provided. -func (w *Waiter) ApplyOptions(opts ...WaiterOption) { - for _, fn := range opts { - fn(w) - } -} - -// WaiterState are states the waiter uses based on WaiterAcceptor definitions -// to identify if the resource state the waiter is waiting on has occurred. -type WaiterState int - -// String returns the string representation of the waiter state. -func (s WaiterState) String() string { - switch s { - case SuccessWaiterState: - return "success" - case FailureWaiterState: - return "failure" - case RetryWaiterState: - return "retry" - default: - return "unknown waiter state" - } -} - -// States the waiter acceptors will use to identify target resource states. -const ( - SuccessWaiterState WaiterState = iota // waiter successful - FailureWaiterState // waiter failed - RetryWaiterState // waiter needs to be retried -) - -// WaiterMatchMode is the mode that the waiter will use to match the WaiterAcceptor -// definition's Expected attribute. -type WaiterMatchMode int - -// Modes the waiter will use when inspecting API response to identify target -// resource states. -const ( - PathAllWaiterMatch WaiterMatchMode = iota // match on all paths - PathWaiterMatch // match on specific path - PathAnyWaiterMatch // match on any path - PathListWaiterMatch // match on list of paths - StatusWaiterMatch // match on status code - ErrorWaiterMatch // match on error -) - -// String returns the string representation of the waiter match mode. -func (m WaiterMatchMode) String() string { - switch m { - case PathAllWaiterMatch: - return "pathAll" - case PathWaiterMatch: - return "path" - case PathAnyWaiterMatch: - return "pathAny" - case PathListWaiterMatch: - return "pathList" - case StatusWaiterMatch: - return "status" - case ErrorWaiterMatch: - return "error" - default: - return "unknown waiter match mode" - } -} - -// WaitWithContext will make requests for the API operation using NewRequest to -// build API requests. The request's response will be compared against the -// Waiter's Acceptors to determine the successful state of the resource the -// waiter is inspecting. -// -// The passed in context must not be nil. If it is nil a panic will occur. The -// Context will be used to cancel the waiter's pending requests and retry delays. -// Use aws.BackgroundContext if no context is available. -// -// The waiter will continue until the target state defined by the Acceptors, -// or the max attempts expires. -// -// Will return the WaiterResourceNotReadyErrorCode error code if the waiter's -// retryer ShouldRetry returns false. This normally will happen when the max -// wait attempts expires. -func (w Waiter) WaitWithContext(ctx aws.Context) error { - - for attempt := 1; ; attempt++ { - req, err := w.NewRequest(w.RequestOptions) - if err != nil { - waiterLogf(w.Logger, "unable to create request %v", err) - return err - } - req.Handlers.Build.PushBack(MakeAddToUserAgentFreeFormHandler("Waiter")) - err = req.Send() - - // See if any of the acceptors match the request's response, or error - for _, a := range w.Acceptors { - if matched, matchErr := a.match(w.Name, w.Logger, req, err); matched { - return matchErr - } - } - - // The Waiter should only check the resource state MaxAttempts times - // This is here instead of in the for loop above to prevent delaying - // unnecessary when the waiter will not retry. - if attempt == w.MaxAttempts { - break - } - - // Delay to wait before inspecting the resource again - delay := w.Delay(attempt) - if sleepFn := req.Config.SleepDelay; sleepFn != nil { - // Support SleepDelay for backwards compatibility and testing - sleepFn(delay) - } else { - sleepCtxFn := w.SleepWithContext - if sleepCtxFn == nil { - sleepCtxFn = aws.SleepWithContext - } - - if err := sleepCtxFn(ctx, delay); err != nil { - return awserr.New(CanceledErrorCode, "waiter context canceled", err) - } - } - } - - return awserr.New(WaiterResourceNotReadyErrorCode, "exceeded wait attempts", nil) -} - -// A WaiterAcceptor provides the information needed to wait for an API operation -// to complete. -type WaiterAcceptor struct { - State WaiterState - Matcher WaiterMatchMode - Argument string - Expected interface{} -} - -// match returns if the acceptor found a match with the passed in request -// or error. True is returned if the acceptor made a match, error is returned -// if there was an error attempting to perform the match. -func (a *WaiterAcceptor) match(name string, l aws.Logger, req *Request, err error) (bool, error) { - result := false - var vals []interface{} - - switch a.Matcher { - case PathAllWaiterMatch, PathWaiterMatch: - // Require all matches to be equal for result to match - vals, _ = awsutil.ValuesAtPath(req.Data, a.Argument) - if len(vals) == 0 { - break - } - result = true - for _, val := range vals { - if !awsutil.DeepEqual(val, a.Expected) { - result = false - break - } - } - case PathAnyWaiterMatch: - // Only a single match needs to equal for the result to match - vals, _ = awsutil.ValuesAtPath(req.Data, a.Argument) - for _, val := range vals { - if awsutil.DeepEqual(val, a.Expected) { - result = true - break - } - } - case PathListWaiterMatch: - // ignored matcher - case StatusWaiterMatch: - s := a.Expected.(int) - result = s == req.HTTPResponse.StatusCode - case ErrorWaiterMatch: - if aerr, ok := err.(awserr.Error); ok { - result = aerr.Code() == a.Expected.(string) - } - default: - waiterLogf(l, "WARNING: Waiter %s encountered unexpected matcher: %s", - name, a.Matcher) - } - - if !result { - // If there was no matching result found there is nothing more to do - // for this response, retry the request. - return false, nil - } - - switch a.State { - case SuccessWaiterState: - // waiter completed - return true, nil - case FailureWaiterState: - // Waiter failure state triggered - return true, awserr.New(WaiterResourceNotReadyErrorCode, - "failed waiting for successful resource state", err) - case RetryWaiterState: - // clear the error and retry the operation - return false, nil - default: - waiterLogf(l, "WARNING: Waiter %s encountered unexpected state: %s", - name, a.State) - return false, nil - } -} - -func waiterLogf(logger aws.Logger, msg string, args ...interface{}) { - if logger != nil { - logger.Log(fmt.Sprintf(msg, args...)) - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go deleted file mode 100644 index 2a0e882..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go +++ /dev/null @@ -1,273 +0,0 @@ -/* -Package session provides configuration for the SDK's service clients. - -Sessions can be shared across all service clients that share the same base -configuration. The Session is built from the SDK's default configuration and -request handlers. - -Sessions should be cached when possible, because creating a new Session will -load all configuration values from the environment, and config files each time -the Session is created. Sharing the Session value across all of your service -clients will ensure the configuration is loaded the fewest number of times possible. - -Concurrency - -Sessions are safe to use concurrently as long as the Session is not being -modified. The SDK will not modify the Session once the Session has been created. -Creating service clients concurrently from a shared Session is safe. - -Sessions from Shared Config - -Sessions can be created using the method above that will only load the -additional config if the AWS_SDK_LOAD_CONFIG environment variable is set. -Alternatively you can explicitly create a Session with shared config enabled. -To do this you can use NewSessionWithOptions to configure how the Session will -be created. Using the NewSessionWithOptions with SharedConfigState set to -SharedConfigEnable will create the session as if the AWS_SDK_LOAD_CONFIG -environment variable was set. - -Creating Sessions - -When creating Sessions optional aws.Config values can be passed in that will -override the default, or loaded config values the Session is being created -with. This allows you to provide additional, or case based, configuration -as needed. - -By default NewSession will only load credentials from the shared credentials -file (~/.aws/credentials). If the AWS_SDK_LOAD_CONFIG environment variable is -set to a truthy value the Session will be created from the configuration -values from the shared config (~/.aws/config) and shared credentials -(~/.aws/credentials) files. See the section Sessions from Shared Config for -more information. - -Create a Session with the default config and request handlers. With credentials -region, and profile loaded from the environment and shared config automatically. -Requires the AWS_PROFILE to be set, or "default" is used. - - // Create Session - sess := session.Must(session.NewSession()) - - // Create a Session with a custom region - sess := session.Must(session.NewSession(&aws.Config{ - Region: aws.String("us-east-1"), - })) - - // Create a S3 client instance from a session - sess := session.Must(session.NewSession()) - - svc := s3.New(sess) - -Create Session With Option Overrides - -In addition to NewSession, Sessions can be created using NewSessionWithOptions. -This func allows you to control and override how the Session will be created -through code instead of being driven by environment variables only. - -Use NewSessionWithOptions when you want to provide the config profile, or -override the shared config state (AWS_SDK_LOAD_CONFIG). - - // Equivalent to session.NewSession() - sess := session.Must(session.NewSessionWithOptions(session.Options{ - // Options - })) - - // Specify profile to load for the session's config - sess := session.Must(session.NewSessionWithOptions(session.Options{ - Profile: "profile_name", - })) - - // Specify profile for config and region for requests - sess := session.Must(session.NewSessionWithOptions(session.Options{ - Config: aws.Config{Region: aws.String("us-east-1")}, - Profile: "profile_name", - })) - - // Force enable Shared Config support - sess := session.Must(session.NewSessionWithOptions(session.Options{ - SharedConfigState: session.SharedConfigEnable, - })) - -Adding Handlers - -You can add handlers to a session for processing HTTP requests. All service -clients that use the session inherit the handlers. For example, the following -handler logs every request and its payload made by a service client: - - // Create a session, and add additional handlers for all service - // clients created with the Session to inherit. Adds logging handler. - sess := session.Must(session.NewSession()) - - sess.Handlers.Send.PushFront(func(r *request.Request) { - // Log every request made and its payload - logger.Printf("Request: %s/%s, Payload: %s", - r.ClientInfo.ServiceName, r.Operation, r.Params) - }) - -Deprecated "New" function - -The New session function has been deprecated because it does not provide good -way to return errors that occur when loading the configuration files and values. -Because of this, NewSession was created so errors can be retrieved when -creating a session fails. - -Shared Config Fields - -By default the SDK will only load the shared credentials file's (~/.aws/credentials) -credentials values, and all other config is provided by the environment variables, -SDK defaults, and user provided aws.Config values. - -If the AWS_SDK_LOAD_CONFIG environment variable is set, or SharedConfigEnable -option is used to create the Session the full shared config values will be -loaded. This includes credentials, region, and support for assume role. In -addition the Session will load its configuration from both the shared config -file (~/.aws/config) and shared credentials file (~/.aws/credentials). Both -files have the same format. - -If both config files are present the configuration from both files will be -read. The Session will be created from configuration values from the shared -credentials file (~/.aws/credentials) over those in the shared config file (~/.aws/config). - -Credentials are the values the SDK should use for authenticating requests with -AWS Services. They are from a configuration file will need to include both -aws_access_key_id and aws_secret_access_key must be provided together in the -same file to be considered valid. The values will be ignored if not a complete -group. aws_session_token is an optional field that can be provided if both of -the other two fields are also provided. - - aws_access_key_id = AKID - aws_secret_access_key = SECRET - aws_session_token = TOKEN - -Assume Role values allow you to configure the SDK to assume an IAM role using -a set of credentials provided in a config file via the source_profile field. -Both "role_arn" and "source_profile" are required. The SDK supports assuming -a role with MFA token if the session option AssumeRoleTokenProvider -is set. - - role_arn = arn:aws:iam:::role/ - source_profile = profile_with_creds - external_id = 1234 - mfa_serial = - role_session_name = session_name - -Region is the region the SDK should use for looking up AWS service endpoints -and signing requests. - - region = us-east-1 - -Assume Role with MFA token - -To create a session with support for assuming an IAM role with MFA set the -session option AssumeRoleTokenProvider to a function that will prompt for the -MFA token code when the SDK assumes the role and refreshes the role's credentials. -This allows you to configure the SDK via the shared config to assumea role -with MFA tokens. - -In order for the SDK to assume a role with MFA the SharedConfigState -session option must be set to SharedConfigEnable, or AWS_SDK_LOAD_CONFIG -environment variable set. - -The shared configuration instructs the SDK to assume an IAM role with MFA -when the mfa_serial configuration field is set in the shared config -(~/.aws/config) or shared credentials (~/.aws/credentials) file. - -If mfa_serial is set in the configuration, the SDK will assume the role, and -the AssumeRoleTokenProvider session option is not set an an error will -be returned when creating the session. - - sess := session.Must(session.NewSessionWithOptions(session.Options{ - AssumeRoleTokenProvider: stscreds.StdinTokenProvider, - })) - - // Create service client value configured for credentials - // from assumed role. - svc := s3.New(sess) - -To setup assume role outside of a session see the stscrds.AssumeRoleProvider -documentation. - -Environment Variables - -When a Session is created several environment variables can be set to adjust -how the SDK functions, and what configuration data it loads when creating -Sessions. All environment values are optional, but some values like credentials -require multiple of the values to set or the partial values will be ignored. -All environment variable values are strings unless otherwise noted. - -Environment configuration values. If set both Access Key ID and Secret Access -Key must be provided. Session Token and optionally also be provided, but is -not required. - - # Access Key ID - AWS_ACCESS_KEY_ID=AKID - AWS_ACCESS_KEY=AKID # only read if AWS_ACCESS_KEY_ID is not set. - - # Secret Access Key - AWS_SECRET_ACCESS_KEY=SECRET - AWS_SECRET_KEY=SECRET=SECRET # only read if AWS_SECRET_ACCESS_KEY is not set. - - # Session Token - AWS_SESSION_TOKEN=TOKEN - -Region value will instruct the SDK where to make service API requests to. If is -not provided in the environment the region must be provided before a service -client request is made. - - AWS_REGION=us-east-1 - - # AWS_DEFAULT_REGION is only read if AWS_SDK_LOAD_CONFIG is also set, - # and AWS_REGION is not also set. - AWS_DEFAULT_REGION=us-east-1 - -Profile name the SDK should load use when loading shared config from the -configuration files. If not provided "default" will be used as the profile name. - - AWS_PROFILE=my_profile - - # AWS_DEFAULT_PROFILE is only read if AWS_SDK_LOAD_CONFIG is also set, - # and AWS_PROFILE is not also set. - AWS_DEFAULT_PROFILE=my_profile - -SDK load config instructs the SDK to load the shared config in addition to -shared credentials. This also expands the configuration loaded so the shared -credentials will have parity with the shared config file. This also enables -Region and Profile support for the AWS_DEFAULT_REGION and AWS_DEFAULT_PROFILE -env values as well. - - AWS_SDK_LOAD_CONFIG=1 - -Shared credentials file path can be set to instruct the SDK to use an alternative -file for the shared credentials. If not set the file will be loaded from -$HOME/.aws/credentials on Linux/Unix based systems, and -%USERPROFILE%\.aws\credentials on Windows. - - AWS_SHARED_CREDENTIALS_FILE=$HOME/my_shared_credentials - -Shared config file path can be set to instruct the SDK to use an alternative -file for the shared config. If not set the file will be loaded from -$HOME/.aws/config on Linux/Unix based systems, and -%USERPROFILE%\.aws\config on Windows. - - AWS_CONFIG_FILE=$HOME/my_shared_config - -Path to a custom Credentials Authority (CA) bundle PEM file that the SDK -will use instead of the default system's root CA bundle. Use this only -if you want to replace the CA bundle the SDK uses for TLS requests. - - AWS_CA_BUNDLE=$HOME/my_custom_ca_bundle - -Enabling this option will attempt to merge the Transport into the SDK's HTTP -client. If the client's Transport is not a http.Transport an error will be -returned. If the Transport's TLS config is set this option will cause the SDK -to overwrite the Transport's TLS config's RootCAs value. If the CA bundle file -contains multiple certificates all of them will be loaded. - -The Session option CustomCABundle is also available when creating sessions -to also enable this feature. CustomCABundle session option field has priority -over the AWS_CA_BUNDLE environment variable, and will be used if both are set. - -Setting a custom HTTPClient in the aws.Config options will override this setting. -To use this option and custom HTTP client, the HTTP client needs to be provided -when creating the session. Not the service client. -*/ -package session diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go deleted file mode 100644 index c94d0fb..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go +++ /dev/null @@ -1,236 +0,0 @@ -package session - -import ( - "os" - "strconv" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/defaults" -) - -// EnvProviderName provides a name of the provider when config is loaded from environment. -const EnvProviderName = "EnvConfigCredentials" - -// envConfig is a collection of environment values the SDK will read -// setup config from. All environment values are optional. But some values -// such as credentials require multiple values to be complete or the values -// will be ignored. -type envConfig struct { - // Environment configuration values. If set both Access Key ID and Secret Access - // Key must be provided. Session Token and optionally also be provided, but is - // not required. - // - // # Access Key ID - // AWS_ACCESS_KEY_ID=AKID - // AWS_ACCESS_KEY=AKID # only read if AWS_ACCESS_KEY_ID is not set. - // - // # Secret Access Key - // AWS_SECRET_ACCESS_KEY=SECRET - // AWS_SECRET_KEY=SECRET=SECRET # only read if AWS_SECRET_ACCESS_KEY is not set. - // - // # Session Token - // AWS_SESSION_TOKEN=TOKEN - Creds credentials.Value - - // Region value will instruct the SDK where to make service API requests to. If is - // not provided in the environment the region must be provided before a service - // client request is made. - // - // AWS_REGION=us-east-1 - // - // # AWS_DEFAULT_REGION is only read if AWS_SDK_LOAD_CONFIG is also set, - // # and AWS_REGION is not also set. - // AWS_DEFAULT_REGION=us-east-1 - Region string - - // Profile name the SDK should load use when loading shared configuration from the - // shared configuration files. If not provided "default" will be used as the - // profile name. - // - // AWS_PROFILE=my_profile - // - // # AWS_DEFAULT_PROFILE is only read if AWS_SDK_LOAD_CONFIG is also set, - // # and AWS_PROFILE is not also set. - // AWS_DEFAULT_PROFILE=my_profile - Profile string - - // SDK load config instructs the SDK to load the shared config in addition to - // shared credentials. This also expands the configuration loaded from the shared - // credentials to have parity with the shared config file. This also enables - // Region and Profile support for the AWS_DEFAULT_REGION and AWS_DEFAULT_PROFILE - // env values as well. - // - // AWS_SDK_LOAD_CONFIG=1 - EnableSharedConfig bool - - // Shared credentials file path can be set to instruct the SDK to use an alternate - // file for the shared credentials. If not set the file will be loaded from - // $HOME/.aws/credentials on Linux/Unix based systems, and - // %USERPROFILE%\.aws\credentials on Windows. - // - // AWS_SHARED_CREDENTIALS_FILE=$HOME/my_shared_credentials - SharedCredentialsFile string - - // Shared config file path can be set to instruct the SDK to use an alternate - // file for the shared config. If not set the file will be loaded from - // $HOME/.aws/config on Linux/Unix based systems, and - // %USERPROFILE%\.aws\config on Windows. - // - // AWS_CONFIG_FILE=$HOME/my_shared_config - SharedConfigFile string - - // Sets the path to a custom Credentials Authroity (CA) Bundle PEM file - // that the SDK will use instead of the system's root CA bundle. - // Only use this if you want to configure the SDK to use a custom set - // of CAs. - // - // Enabling this option will attempt to merge the Transport - // into the SDK's HTTP client. If the client's Transport is - // not a http.Transport an error will be returned. If the - // Transport's TLS config is set this option will cause the - // SDK to overwrite the Transport's TLS config's RootCAs value. - // - // Setting a custom HTTPClient in the aws.Config options will override this setting. - // To use this option and custom HTTP client, the HTTP client needs to be provided - // when creating the session. Not the service client. - // - // AWS_CA_BUNDLE=$HOME/my_custom_ca_bundle - CustomCABundle string - - csmEnabled string - CSMEnabled bool - CSMPort string - CSMClientID string - - enableEndpointDiscovery string - // Enables endpoint discovery via environment variables. - // - // AWS_ENABLE_ENDPOINT_DISCOVERY=true - EnableEndpointDiscovery *bool -} - -var ( - csmEnabledEnvKey = []string{ - "AWS_CSM_ENABLED", - } - csmPortEnvKey = []string{ - "AWS_CSM_PORT", - } - csmClientIDEnvKey = []string{ - "AWS_CSM_CLIENT_ID", - } - credAccessEnvKey = []string{ - "AWS_ACCESS_KEY_ID", - "AWS_ACCESS_KEY", - } - credSecretEnvKey = []string{ - "AWS_SECRET_ACCESS_KEY", - "AWS_SECRET_KEY", - } - credSessionEnvKey = []string{ - "AWS_SESSION_TOKEN", - } - - enableEndpointDiscoveryEnvKey = []string{ - "AWS_ENABLE_ENDPOINT_DISCOVERY", - } - - regionEnvKeys = []string{ - "AWS_REGION", - "AWS_DEFAULT_REGION", // Only read if AWS_SDK_LOAD_CONFIG is also set - } - profileEnvKeys = []string{ - "AWS_PROFILE", - "AWS_DEFAULT_PROFILE", // Only read if AWS_SDK_LOAD_CONFIG is also set - } - sharedCredsFileEnvKey = []string{ - "AWS_SHARED_CREDENTIALS_FILE", - } - sharedConfigFileEnvKey = []string{ - "AWS_CONFIG_FILE", - } -) - -// loadEnvConfig retrieves the SDK's environment configuration. -// See `envConfig` for the values that will be retrieved. -// -// If the environment variable `AWS_SDK_LOAD_CONFIG` is set to a truthy value -// the shared SDK config will be loaded in addition to the SDK's specific -// configuration values. -func loadEnvConfig() envConfig { - enableSharedConfig, _ := strconv.ParseBool(os.Getenv("AWS_SDK_LOAD_CONFIG")) - return envConfigLoad(enableSharedConfig) -} - -// loadEnvSharedConfig retrieves the SDK's environment configuration, and the -// SDK shared config. See `envConfig` for the values that will be retrieved. -// -// Loads the shared configuration in addition to the SDK's specific configuration. -// This will load the same values as `loadEnvConfig` if the `AWS_SDK_LOAD_CONFIG` -// environment variable is set. -func loadSharedEnvConfig() envConfig { - return envConfigLoad(true) -} - -func envConfigLoad(enableSharedConfig bool) envConfig { - cfg := envConfig{} - - cfg.EnableSharedConfig = enableSharedConfig - - setFromEnvVal(&cfg.Creds.AccessKeyID, credAccessEnvKey) - setFromEnvVal(&cfg.Creds.SecretAccessKey, credSecretEnvKey) - setFromEnvVal(&cfg.Creds.SessionToken, credSessionEnvKey) - - // CSM environment variables - setFromEnvVal(&cfg.csmEnabled, csmEnabledEnvKey) - setFromEnvVal(&cfg.CSMPort, csmPortEnvKey) - setFromEnvVal(&cfg.CSMClientID, csmClientIDEnvKey) - cfg.CSMEnabled = len(cfg.csmEnabled) > 0 - - // Require logical grouping of credentials - if len(cfg.Creds.AccessKeyID) == 0 || len(cfg.Creds.SecretAccessKey) == 0 { - cfg.Creds = credentials.Value{} - } else { - cfg.Creds.ProviderName = EnvProviderName - } - - regionKeys := regionEnvKeys - profileKeys := profileEnvKeys - if !cfg.EnableSharedConfig { - regionKeys = regionKeys[:1] - profileKeys = profileKeys[:1] - } - - setFromEnvVal(&cfg.Region, regionKeys) - setFromEnvVal(&cfg.Profile, profileKeys) - - // endpoint discovery is in reference to it being enabled. - setFromEnvVal(&cfg.enableEndpointDiscovery, enableEndpointDiscoveryEnvKey) - if len(cfg.enableEndpointDiscovery) > 0 { - cfg.EnableEndpointDiscovery = aws.Bool(cfg.enableEndpointDiscovery != "false") - } - - setFromEnvVal(&cfg.SharedCredentialsFile, sharedCredsFileEnvKey) - setFromEnvVal(&cfg.SharedConfigFile, sharedConfigFileEnvKey) - - if len(cfg.SharedCredentialsFile) == 0 { - cfg.SharedCredentialsFile = defaults.SharedCredentialsFilename() - } - if len(cfg.SharedConfigFile) == 0 { - cfg.SharedConfigFile = defaults.SharedConfigFilename() - } - - cfg.CustomCABundle = os.Getenv("AWS_CA_BUNDLE") - - return cfg -} - -func setFromEnvVal(dst *string, keys []string) { - for _, k := range keys { - if v := os.Getenv(k); len(v) > 0 { - *dst = v - break - } - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go deleted file mode 100644 index 9bdbafd..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go +++ /dev/null @@ -1,716 +0,0 @@ -package session - -import ( - "crypto/tls" - "crypto/x509" - "fmt" - "io" - "io/ioutil" - "net/http" - "os" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/client" - "github.com/aws/aws-sdk-go/aws/corehandlers" - "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/credentials/processcreds" - "github.com/aws/aws-sdk-go/aws/credentials/stscreds" - "github.com/aws/aws-sdk-go/aws/csm" - "github.com/aws/aws-sdk-go/aws/defaults" - "github.com/aws/aws-sdk-go/aws/endpoints" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/internal/shareddefaults" -) - -const ( - // ErrCodeSharedConfig represents an error that occurs in the shared - // configuration logic - ErrCodeSharedConfig = "SharedConfigErr" -) - -// ErrSharedConfigSourceCollision will be returned if a section contains both -// source_profile and credential_source -var ErrSharedConfigSourceCollision = awserr.New(ErrCodeSharedConfig, "only source profile or credential source can be specified, not both", nil) - -// ErrSharedConfigECSContainerEnvVarEmpty will be returned if the environment -// variables are empty and Environment was set as the credential source -var ErrSharedConfigECSContainerEnvVarEmpty = awserr.New(ErrCodeSharedConfig, "EcsContainer was specified as the credential_source, but 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI' was not set", nil) - -// ErrSharedConfigInvalidCredSource will be returned if an invalid credential source was provided -var ErrSharedConfigInvalidCredSource = awserr.New(ErrCodeSharedConfig, "credential source values must be EcsContainer, Ec2InstanceMetadata, or Environment", nil) - -// A Session provides a central location to create service clients from and -// store configurations and request handlers for those services. -// -// Sessions are safe to create service clients concurrently, but it is not safe -// to mutate the Session concurrently. -// -// The Session satisfies the service client's client.ConfigProvider. -type Session struct { - Config *aws.Config - Handlers request.Handlers -} - -// New creates a new instance of the handlers merging in the provided configs -// on top of the SDK's default configurations. Once the Session is created it -// can be mutated to modify the Config or Handlers. The Session is safe to be -// read concurrently, but it should not be written to concurrently. -// -// If the AWS_SDK_LOAD_CONFIG environment is set to a truthy value, the New -// method could now encounter an error when loading the configuration. When -// The environment variable is set, and an error occurs, New will return a -// session that will fail all requests reporting the error that occurred while -// loading the session. Use NewSession to get the error when creating the -// session. -// -// If the AWS_SDK_LOAD_CONFIG environment variable is set to a truthy value -// the shared config file (~/.aws/config) will also be loaded, in addition to -// the shared credentials file (~/.aws/credentials). Values set in both the -// shared config, and shared credentials will be taken from the shared -// credentials file. -// -// Deprecated: Use NewSession functions to create sessions instead. NewSession -// has the same functionality as New except an error can be returned when the -// func is called instead of waiting to receive an error until a request is made. -func New(cfgs ...*aws.Config) *Session { - // load initial config from environment - envCfg := loadEnvConfig() - - if envCfg.EnableSharedConfig { - var cfg aws.Config - cfg.MergeIn(cfgs...) - s, err := NewSessionWithOptions(Options{ - Config: cfg, - SharedConfigState: SharedConfigEnable, - }) - if err != nil { - // Old session.New expected all errors to be discovered when - // a request is made, and would report the errors then. This - // needs to be replicated if an error occurs while creating - // the session. - msg := "failed to create session with AWS_SDK_LOAD_CONFIG enabled. " + - "Use session.NewSession to handle errors occurring during session creation." - - // Session creation failed, need to report the error and prevent - // any requests from succeeding. - s = &Session{Config: defaults.Config()} - s.Config.MergeIn(cfgs...) - s.Config.Logger.Log("ERROR:", msg, "Error:", err) - s.Handlers.Validate.PushBack(func(r *request.Request) { - r.Error = err - }) - } - - return s - } - - s := deprecatedNewSession(cfgs...) - if envCfg.CSMEnabled { - enableCSM(&s.Handlers, envCfg.CSMClientID, envCfg.CSMPort, s.Config.Logger) - } - - return s -} - -// NewSession returns a new Session created from SDK defaults, config files, -// environment, and user provided config files. Once the Session is created -// it can be mutated to modify the Config or Handlers. The Session is safe to -// be read concurrently, but it should not be written to concurrently. -// -// If the AWS_SDK_LOAD_CONFIG environment variable is set to a truthy value -// the shared config file (~/.aws/config) will also be loaded in addition to -// the shared credentials file (~/.aws/credentials). Values set in both the -// shared config, and shared credentials will be taken from the shared -// credentials file. Enabling the Shared Config will also allow the Session -// to be built with retrieving credentials with AssumeRole set in the config. -// -// See the NewSessionWithOptions func for information on how to override or -// control through code how the Session will be created. Such as specifying the -// config profile, and controlling if shared config is enabled or not. -func NewSession(cfgs ...*aws.Config) (*Session, error) { - opts := Options{} - opts.Config.MergeIn(cfgs...) - - return NewSessionWithOptions(opts) -} - -// SharedConfigState provides the ability to optionally override the state -// of the session's creation based on the shared config being enabled or -// disabled. -type SharedConfigState int - -const ( - // SharedConfigStateFromEnv does not override any state of the - // AWS_SDK_LOAD_CONFIG env var. It is the default value of the - // SharedConfigState type. - SharedConfigStateFromEnv SharedConfigState = iota - - // SharedConfigDisable overrides the AWS_SDK_LOAD_CONFIG env var value - // and disables the shared config functionality. - SharedConfigDisable - - // SharedConfigEnable overrides the AWS_SDK_LOAD_CONFIG env var value - // and enables the shared config functionality. - SharedConfigEnable -) - -// Options provides the means to control how a Session is created and what -// configuration values will be loaded. -// -type Options struct { - // Provides config values for the SDK to use when creating service clients - // and making API requests to services. Any value set in with this field - // will override the associated value provided by the SDK defaults, - // environment or config files where relevant. - // - // If not set, configuration values from from SDK defaults, environment, - // config will be used. - Config aws.Config - - // Overrides the config profile the Session should be created from. If not - // set the value of the environment variable will be loaded (AWS_PROFILE, - // or AWS_DEFAULT_PROFILE if the Shared Config is enabled). - // - // If not set and environment variables are not set the "default" - // (DefaultSharedConfigProfile) will be used as the profile to load the - // session config from. - Profile string - - // Instructs how the Session will be created based on the AWS_SDK_LOAD_CONFIG - // environment variable. By default a Session will be created using the - // value provided by the AWS_SDK_LOAD_CONFIG environment variable. - // - // Setting this value to SharedConfigEnable or SharedConfigDisable - // will allow you to override the AWS_SDK_LOAD_CONFIG environment variable - // and enable or disable the shared config functionality. - SharedConfigState SharedConfigState - - // Ordered list of files the session will load configuration from. - // It will override environment variable AWS_SHARED_CREDENTIALS_FILE, AWS_CONFIG_FILE. - SharedConfigFiles []string - - // When the SDK's shared config is configured to assume a role with MFA - // this option is required in order to provide the mechanism that will - // retrieve the MFA token. There is no default value for this field. If - // it is not set an error will be returned when creating the session. - // - // This token provider will be called when ever the assumed role's - // credentials need to be refreshed. Within the context of service clients - // all sharing the same session the SDK will ensure calls to the token - // provider are atomic. When sharing a token provider across multiple - // sessions additional synchronization logic is needed to ensure the - // token providers do not introduce race conditions. It is recommend to - // share the session where possible. - // - // stscreds.StdinTokenProvider is a basic implementation that will prompt - // from stdin for the MFA token code. - // - // This field is only used if the shared configuration is enabled, and - // the config enables assume role wit MFA via the mfa_serial field. - AssumeRoleTokenProvider func() (string, error) - - // Reader for a custom Credentials Authority (CA) bundle in PEM format that - // the SDK will use instead of the default system's root CA bundle. Use this - // only if you want to replace the CA bundle the SDK uses for TLS requests. - // - // Enabling this option will attempt to merge the Transport into the SDK's HTTP - // client. If the client's Transport is not a http.Transport an error will be - // returned. If the Transport's TLS config is set this option will cause the SDK - // to overwrite the Transport's TLS config's RootCAs value. If the CA - // bundle reader contains multiple certificates all of them will be loaded. - // - // The Session option CustomCABundle is also available when creating sessions - // to also enable this feature. CustomCABundle session option field has priority - // over the AWS_CA_BUNDLE environment variable, and will be used if both are set. - CustomCABundle io.Reader -} - -// NewSessionWithOptions returns a new Session created from SDK defaults, config files, -// environment, and user provided config files. This func uses the Options -// values to configure how the Session is created. -// -// If the AWS_SDK_LOAD_CONFIG environment variable is set to a truthy value -// the shared config file (~/.aws/config) will also be loaded in addition to -// the shared credentials file (~/.aws/credentials). Values set in both the -// shared config, and shared credentials will be taken from the shared -// credentials file. Enabling the Shared Config will also allow the Session -// to be built with retrieving credentials with AssumeRole set in the config. -// -// // Equivalent to session.New -// sess := session.Must(session.NewSessionWithOptions(session.Options{})) -// -// // Specify profile to load for the session's config -// sess := session.Must(session.NewSessionWithOptions(session.Options{ -// Profile: "profile_name", -// })) -// -// // Specify profile for config and region for requests -// sess := session.Must(session.NewSessionWithOptions(session.Options{ -// Config: aws.Config{Region: aws.String("us-east-1")}, -// Profile: "profile_name", -// })) -// -// // Force enable Shared Config support -// sess := session.Must(session.NewSessionWithOptions(session.Options{ -// SharedConfigState: session.SharedConfigEnable, -// })) -func NewSessionWithOptions(opts Options) (*Session, error) { - var envCfg envConfig - if opts.SharedConfigState == SharedConfigEnable { - envCfg = loadSharedEnvConfig() - } else { - envCfg = loadEnvConfig() - } - - if len(opts.Profile) > 0 { - envCfg.Profile = opts.Profile - } - - switch opts.SharedConfigState { - case SharedConfigDisable: - envCfg.EnableSharedConfig = false - case SharedConfigEnable: - envCfg.EnableSharedConfig = true - } - - // Only use AWS_CA_BUNDLE if session option is not provided. - if len(envCfg.CustomCABundle) != 0 && opts.CustomCABundle == nil { - f, err := os.Open(envCfg.CustomCABundle) - if err != nil { - return nil, awserr.New("LoadCustomCABundleError", - "failed to open custom CA bundle PEM file", err) - } - defer f.Close() - opts.CustomCABundle = f - } - - return newSession(opts, envCfg, &opts.Config) -} - -// Must is a helper function to ensure the Session is valid and there was no -// error when calling a NewSession function. -// -// This helper is intended to be used in variable initialization to load the -// Session and configuration at startup. Such as: -// -// var sess = session.Must(session.NewSession()) -func Must(sess *Session, err error) *Session { - if err != nil { - panic(err) - } - - return sess -} - -func deprecatedNewSession(cfgs ...*aws.Config) *Session { - cfg := defaults.Config() - handlers := defaults.Handlers() - - // Apply the passed in configs so the configuration can be applied to the - // default credential chain - cfg.MergeIn(cfgs...) - if cfg.EndpointResolver == nil { - // An endpoint resolver is required for a session to be able to provide - // endpoints for service client configurations. - cfg.EndpointResolver = endpoints.DefaultResolver() - } - cfg.Credentials = defaults.CredChain(cfg, handlers) - - // Reapply any passed in configs to override credentials if set - cfg.MergeIn(cfgs...) - - s := &Session{ - Config: cfg, - Handlers: handlers, - } - - initHandlers(s) - return s -} - -func enableCSM(handlers *request.Handlers, clientID string, port string, logger aws.Logger) { - logger.Log("Enabling CSM") - if len(port) == 0 { - port = csm.DefaultPort - } - - r, err := csm.Start(clientID, "127.0.0.1:"+port) - if err != nil { - return - } - r.InjectHandlers(handlers) -} - -func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session, error) { - cfg := defaults.Config() - handlers := defaults.Handlers() - - // Get a merged version of the user provided config to determine if - // credentials were. - userCfg := &aws.Config{} - userCfg.MergeIn(cfgs...) - - // Ordered config files will be loaded in with later files overwriting - // previous config file values. - var cfgFiles []string - if opts.SharedConfigFiles != nil { - cfgFiles = opts.SharedConfigFiles - } else { - cfgFiles = []string{envCfg.SharedConfigFile, envCfg.SharedCredentialsFile} - if !envCfg.EnableSharedConfig { - // The shared config file (~/.aws/config) is only loaded if instructed - // to load via the envConfig.EnableSharedConfig (AWS_SDK_LOAD_CONFIG). - cfgFiles = cfgFiles[1:] - } - } - - // Load additional config from file(s) - sharedCfg, err := loadSharedConfig(envCfg.Profile, cfgFiles) - if err != nil { - return nil, err - } - - if err := mergeConfigSrcs(cfg, userCfg, envCfg, sharedCfg, handlers, opts); err != nil { - return nil, err - } - - s := &Session{ - Config: cfg, - Handlers: handlers, - } - - initHandlers(s) - if envCfg.CSMEnabled { - enableCSM(&s.Handlers, envCfg.CSMClientID, envCfg.CSMPort, s.Config.Logger) - } - - // Setup HTTP client with custom cert bundle if enabled - if opts.CustomCABundle != nil { - if err := loadCustomCABundle(s, opts.CustomCABundle); err != nil { - return nil, err - } - } - - return s, nil -} - -func loadCustomCABundle(s *Session, bundle io.Reader) error { - var t *http.Transport - switch v := s.Config.HTTPClient.Transport.(type) { - case *http.Transport: - t = v - default: - if s.Config.HTTPClient.Transport != nil { - return awserr.New("LoadCustomCABundleError", - "unable to load custom CA bundle, HTTPClient's transport unsupported type", nil) - } - } - if t == nil { - t = &http.Transport{} - } - - p, err := loadCertPool(bundle) - if err != nil { - return err - } - if t.TLSClientConfig == nil { - t.TLSClientConfig = &tls.Config{} - } - t.TLSClientConfig.RootCAs = p - - s.Config.HTTPClient.Transport = t - - return nil -} - -func loadCertPool(r io.Reader) (*x509.CertPool, error) { - b, err := ioutil.ReadAll(r) - if err != nil { - return nil, awserr.New("LoadCustomCABundleError", - "failed to read custom CA bundle PEM file", err) - } - - p := x509.NewCertPool() - if !p.AppendCertsFromPEM(b) { - return nil, awserr.New("LoadCustomCABundleError", - "failed to load custom CA bundle PEM file", err) - } - - return p, nil -} - -func mergeConfigSrcs(cfg, userCfg *aws.Config, envCfg envConfig, sharedCfg sharedConfig, handlers request.Handlers, sessOpts Options) error { - // Merge in user provided configuration - cfg.MergeIn(userCfg) - - // Region if not already set by user - if len(aws.StringValue(cfg.Region)) == 0 { - if len(envCfg.Region) > 0 { - cfg.WithRegion(envCfg.Region) - } else if envCfg.EnableSharedConfig && len(sharedCfg.Region) > 0 { - cfg.WithRegion(sharedCfg.Region) - } - } - - if cfg.EnableEndpointDiscovery == nil { - if envCfg.EnableEndpointDiscovery != nil { - cfg.WithEndpointDiscovery(*envCfg.EnableEndpointDiscovery) - } else if envCfg.EnableSharedConfig && sharedCfg.EnableEndpointDiscovery != nil { - cfg.WithEndpointDiscovery(*sharedCfg.EnableEndpointDiscovery) - } - } - - // Configure credentials if not already set - if cfg.Credentials == credentials.AnonymousCredentials && userCfg.Credentials == nil { - - // inspect the profile to see if a credential source has been specified. - if envCfg.EnableSharedConfig && len(sharedCfg.AssumeRole.CredentialSource) > 0 { - - // if both credential_source and source_profile have been set, return an error - // as this is undefined behavior. - if len(sharedCfg.AssumeRole.SourceProfile) > 0 { - return ErrSharedConfigSourceCollision - } - - // valid credential source values - const ( - credSourceEc2Metadata = "Ec2InstanceMetadata" - credSourceEnvironment = "Environment" - credSourceECSContainer = "EcsContainer" - ) - - switch sharedCfg.AssumeRole.CredentialSource { - case credSourceEc2Metadata: - cfgCp := *cfg - p := defaults.RemoteCredProvider(cfgCp, handlers) - cfgCp.Credentials = credentials.NewCredentials(p) - - if len(sharedCfg.AssumeRole.MFASerial) > 0 && sessOpts.AssumeRoleTokenProvider == nil { - // AssumeRole Token provider is required if doing Assume Role - // with MFA. - return AssumeRoleTokenProviderNotSetError{} - } - - cfg.Credentials = assumeRoleCredentials(cfgCp, handlers, sharedCfg, sessOpts) - case credSourceEnvironment: - cfg.Credentials = credentials.NewStaticCredentialsFromCreds( - envCfg.Creds, - ) - case credSourceECSContainer: - if len(os.Getenv(shareddefaults.ECSCredsProviderEnvVar)) == 0 { - return ErrSharedConfigECSContainerEnvVarEmpty - } - - cfgCp := *cfg - p := defaults.RemoteCredProvider(cfgCp, handlers) - creds := credentials.NewCredentials(p) - - cfg.Credentials = creds - default: - return ErrSharedConfigInvalidCredSource - } - - return nil - } - - if len(envCfg.Creds.AccessKeyID) > 0 { - cfg.Credentials = credentials.NewStaticCredentialsFromCreds( - envCfg.Creds, - ) - } else if envCfg.EnableSharedConfig && len(sharedCfg.AssumeRole.RoleARN) > 0 && sharedCfg.AssumeRoleSource != nil { - cfgCp := *cfg - cfgCp.Credentials = credentials.NewStaticCredentialsFromCreds( - sharedCfg.AssumeRoleSource.Creds, - ) - - if len(sharedCfg.AssumeRole.MFASerial) > 0 && sessOpts.AssumeRoleTokenProvider == nil { - // AssumeRole Token provider is required if doing Assume Role - // with MFA. - return AssumeRoleTokenProviderNotSetError{} - } - - cfg.Credentials = assumeRoleCredentials(cfgCp, handlers, sharedCfg, sessOpts) - } else if len(sharedCfg.Creds.AccessKeyID) > 0 { - cfg.Credentials = credentials.NewStaticCredentialsFromCreds( - sharedCfg.Creds, - ) - } else if len(sharedCfg.CredentialProcess) > 0 { - cfg.Credentials = processcreds.NewCredentials( - sharedCfg.CredentialProcess, - ) - } else { - // Fallback to default credentials provider, include mock errors - // for the credential chain so user can identify why credentials - // failed to be retrieved. - cfg.Credentials = credentials.NewCredentials(&credentials.ChainProvider{ - VerboseErrors: aws.BoolValue(cfg.CredentialsChainVerboseErrors), - Providers: []credentials.Provider{ - &credProviderError{Err: awserr.New("EnvAccessKeyNotFound", "failed to find credentials in the environment.", nil)}, - &credProviderError{Err: awserr.New("SharedCredsLoad", fmt.Sprintf("failed to load profile, %s.", envCfg.Profile), nil)}, - defaults.RemoteCredProvider(*cfg, handlers), - }, - }) - } - } - - return nil -} - -func assumeRoleCredentials(cfg aws.Config, handlers request.Handlers, sharedCfg sharedConfig, sessOpts Options) *credentials.Credentials { - return stscreds.NewCredentials( - &Session{ - Config: &cfg, - Handlers: handlers.Copy(), - }, - sharedCfg.AssumeRole.RoleARN, - func(opt *stscreds.AssumeRoleProvider) { - opt.RoleSessionName = sharedCfg.AssumeRole.RoleSessionName - - // Assume role with external ID - if len(sharedCfg.AssumeRole.ExternalID) > 0 { - opt.ExternalID = aws.String(sharedCfg.AssumeRole.ExternalID) - } - - // Assume role with MFA - if len(sharedCfg.AssumeRole.MFASerial) > 0 { - opt.SerialNumber = aws.String(sharedCfg.AssumeRole.MFASerial) - opt.TokenProvider = sessOpts.AssumeRoleTokenProvider - } - }, - ) -} - -// AssumeRoleTokenProviderNotSetError is an error returned when creating a session when the -// MFAToken option is not set when shared config is configured load assume a -// role with an MFA token. -type AssumeRoleTokenProviderNotSetError struct{} - -// Code is the short id of the error. -func (e AssumeRoleTokenProviderNotSetError) Code() string { - return "AssumeRoleTokenProviderNotSetError" -} - -// Message is the description of the error -func (e AssumeRoleTokenProviderNotSetError) Message() string { - return fmt.Sprintf("assume role with MFA enabled, but AssumeRoleTokenProvider session option not set.") -} - -// OrigErr is the underlying error that caused the failure. -func (e AssumeRoleTokenProviderNotSetError) OrigErr() error { - return nil -} - -// Error satisfies the error interface. -func (e AssumeRoleTokenProviderNotSetError) Error() string { - return awserr.SprintError(e.Code(), e.Message(), "", nil) -} - -type credProviderError struct { - Err error -} - -var emptyCreds = credentials.Value{} - -func (c credProviderError) Retrieve() (credentials.Value, error) { - return credentials.Value{}, c.Err -} -func (c credProviderError) IsExpired() bool { - return true -} - -func initHandlers(s *Session) { - // Add the Validate parameter handler if it is not disabled. - s.Handlers.Validate.Remove(corehandlers.ValidateParametersHandler) - if !aws.BoolValue(s.Config.DisableParamValidation) { - s.Handlers.Validate.PushBackNamed(corehandlers.ValidateParametersHandler) - } -} - -// Copy creates and returns a copy of the current Session, coping the config -// and handlers. If any additional configs are provided they will be merged -// on top of the Session's copied config. -// -// // Create a copy of the current Session, configured for the us-west-2 region. -// sess.Copy(&aws.Config{Region: aws.String("us-west-2")}) -func (s *Session) Copy(cfgs ...*aws.Config) *Session { - newSession := &Session{ - Config: s.Config.Copy(cfgs...), - Handlers: s.Handlers.Copy(), - } - - initHandlers(newSession) - - return newSession -} - -// ClientConfig satisfies the client.ConfigProvider interface and is used to -// configure the service client instances. Passing the Session to the service -// client's constructor (New) will use this method to configure the client. -func (s *Session) ClientConfig(serviceName string, cfgs ...*aws.Config) client.Config { - // Backwards compatibility, the error will be eaten if user calls ClientConfig - // directly. All SDK services will use ClientconfigWithError. - cfg, _ := s.clientConfigWithErr(serviceName, cfgs...) - - return cfg -} - -func (s *Session) clientConfigWithErr(serviceName string, cfgs ...*aws.Config) (client.Config, error) { - s = s.Copy(cfgs...) - - var resolved endpoints.ResolvedEndpoint - var err error - - region := aws.StringValue(s.Config.Region) - - if endpoint := aws.StringValue(s.Config.Endpoint); len(endpoint) != 0 { - resolved.URL = endpoints.AddScheme(endpoint, aws.BoolValue(s.Config.DisableSSL)) - resolved.SigningRegion = region - } else { - resolved, err = s.Config.EndpointResolver.EndpointFor( - serviceName, region, - func(opt *endpoints.Options) { - opt.DisableSSL = aws.BoolValue(s.Config.DisableSSL) - opt.UseDualStack = aws.BoolValue(s.Config.UseDualStack) - - // Support the condition where the service is modeled but its - // endpoint metadata is not available. - opt.ResolveUnknownService = true - }, - ) - } - - return client.Config{ - Config: s.Config, - Handlers: s.Handlers, - Endpoint: resolved.URL, - SigningRegion: resolved.SigningRegion, - SigningNameDerived: resolved.SigningNameDerived, - SigningName: resolved.SigningName, - }, err -} - -// ClientConfigNoResolveEndpoint is the same as ClientConfig with the exception -// that the EndpointResolver will not be used to resolve the endpoint. The only -// endpoint set must come from the aws.Config.Endpoint field. -func (s *Session) ClientConfigNoResolveEndpoint(cfgs ...*aws.Config) client.Config { - s = s.Copy(cfgs...) - - var resolved endpoints.ResolvedEndpoint - - region := aws.StringValue(s.Config.Region) - - if ep := aws.StringValue(s.Config.Endpoint); len(ep) > 0 { - resolved.URL = endpoints.AddScheme(ep, aws.BoolValue(s.Config.DisableSSL)) - resolved.SigningRegion = region - } - - return client.Config{ - Config: s.Config, - Handlers: s.Handlers, - Endpoint: resolved.URL, - SigningRegion: resolved.SigningRegion, - SigningNameDerived: resolved.SigningNameDerived, - SigningName: resolved.SigningName, - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go deleted file mode 100644 index 7cb4402..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go +++ /dev/null @@ -1,329 +0,0 @@ -package session - -import ( - "fmt" - - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/credentials" - - "github.com/aws/aws-sdk-go/internal/ini" -) - -const ( - // Static Credentials group - accessKeyIDKey = `aws_access_key_id` // group required - secretAccessKey = `aws_secret_access_key` // group required - sessionTokenKey = `aws_session_token` // optional - - // Assume Role Credentials group - roleArnKey = `role_arn` // group required - sourceProfileKey = `source_profile` // group required (or credential_source) - credentialSourceKey = `credential_source` // group required (or source_profile) - externalIDKey = `external_id` // optional - mfaSerialKey = `mfa_serial` // optional - roleSessionNameKey = `role_session_name` // optional - - // Additional Config fields - regionKey = `region` - - // endpoint discovery group - enableEndpointDiscoveryKey = `endpoint_discovery_enabled` // optional - // External Credential Process - credentialProcessKey = `credential_process` - - // DefaultSharedConfigProfile is the default profile to be used when - // loading configuration from the config files if another profile name - // is not provided. - DefaultSharedConfigProfile = `default` -) - -type assumeRoleConfig struct { - RoleARN string - SourceProfile string - CredentialSource string - ExternalID string - MFASerial string - RoleSessionName string -} - -// sharedConfig represents the configuration fields of the SDK config files. -type sharedConfig struct { - // Credentials values from the config file. Both aws_access_key_id - // and aws_secret_access_key must be provided together in the same file - // to be considered valid. The values will be ignored if not a complete group. - // aws_session_token is an optional field that can be provided if both of the - // other two fields are also provided. - // - // aws_access_key_id - // aws_secret_access_key - // aws_session_token - Creds credentials.Value - - AssumeRole assumeRoleConfig - AssumeRoleSource *sharedConfig - - // An external process to request credentials - CredentialProcess string - - // Region is the region the SDK should use for looking up AWS service endpoints - // and signing requests. - // - // region - Region string - - // EnableEndpointDiscovery can be enabled in the shared config by setting - // endpoint_discovery_enabled to true - // - // endpoint_discovery_enabled = true - EnableEndpointDiscovery *bool -} - -type sharedConfigFile struct { - Filename string - IniData ini.Sections -} - -// loadSharedConfig retrieves the configuration from the list of files -// using the profile provided. The order the files are listed will determine -// precedence. Values in subsequent files will overwrite values defined in -// earlier files. -// -// For example, given two files A and B. Both define credentials. If the order -// of the files are A then B, B's credential values will be used instead of A's. -// -// See sharedConfig.setFromFile for information how the config files -// will be loaded. -func loadSharedConfig(profile string, filenames []string) (sharedConfig, error) { - if len(profile) == 0 { - profile = DefaultSharedConfigProfile - } - - files, err := loadSharedConfigIniFiles(filenames) - if err != nil { - return sharedConfig{}, err - } - - cfg := sharedConfig{} - if err = cfg.setFromIniFiles(profile, files); err != nil { - return sharedConfig{}, err - } - - if len(cfg.AssumeRole.SourceProfile) > 0 { - if err := cfg.setAssumeRoleSource(profile, files); err != nil { - return sharedConfig{}, err - } - } - - return cfg, nil -} - -func loadSharedConfigIniFiles(filenames []string) ([]sharedConfigFile, error) { - files := make([]sharedConfigFile, 0, len(filenames)) - - for _, filename := range filenames { - sections, err := ini.OpenFile(filename) - if aerr, ok := err.(awserr.Error); ok && aerr.Code() == ini.ErrCodeUnableToReadFile { - // Skip files which can't be opened and read for whatever reason - continue - } else if err != nil { - return nil, SharedConfigLoadError{Filename: filename, Err: err} - } - - files = append(files, sharedConfigFile{ - Filename: filename, IniData: sections, - }) - } - - return files, nil -} - -func (cfg *sharedConfig) setAssumeRoleSource(origProfile string, files []sharedConfigFile) error { - var assumeRoleSrc sharedConfig - - if len(cfg.AssumeRole.CredentialSource) > 0 { - // setAssumeRoleSource is only called when source_profile is found. - // If both source_profile and credential_source are set, then - // ErrSharedConfigSourceCollision will be returned - return ErrSharedConfigSourceCollision - } - - // Multiple level assume role chains are not support - if cfg.AssumeRole.SourceProfile == origProfile { - assumeRoleSrc = *cfg - assumeRoleSrc.AssumeRole = assumeRoleConfig{} - } else { - err := assumeRoleSrc.setFromIniFiles(cfg.AssumeRole.SourceProfile, files) - if err != nil { - return err - } - } - - if len(assumeRoleSrc.Creds.AccessKeyID) == 0 { - return SharedConfigAssumeRoleError{RoleARN: cfg.AssumeRole.RoleARN} - } - - cfg.AssumeRoleSource = &assumeRoleSrc - - return nil -} - -func (cfg *sharedConfig) setFromIniFiles(profile string, files []sharedConfigFile) error { - // Trim files from the list that don't exist. - for _, f := range files { - if err := cfg.setFromIniFile(profile, f); err != nil { - if _, ok := err.(SharedConfigProfileNotExistsError); ok { - // Ignore proviles missings - continue - } - return err - } - } - - return nil -} - -// setFromFile loads the configuration from the file using -// the profile provided. A sharedConfig pointer type value is used so that -// multiple config file loadings can be chained. -// -// Only loads complete logically grouped values, and will not set fields in cfg -// for incomplete grouped values in the config. Such as credentials. For example -// if a config file only includes aws_access_key_id but no aws_secret_access_key -// the aws_access_key_id will be ignored. -func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile) error { - section, ok := file.IniData.GetSection(profile) - if !ok { - // Fallback to to alternate profile name: profile - section, ok = file.IniData.GetSection(fmt.Sprintf("profile %s", profile)) - if !ok { - return SharedConfigProfileNotExistsError{Profile: profile, Err: nil} - } - } - - // Shared Credentials - akid := section.String(accessKeyIDKey) - secret := section.String(secretAccessKey) - if len(akid) > 0 && len(secret) > 0 { - cfg.Creds = credentials.Value{ - AccessKeyID: akid, - SecretAccessKey: secret, - SessionToken: section.String(sessionTokenKey), - ProviderName: fmt.Sprintf("SharedConfigCredentials: %s", file.Filename), - } - } - - // Assume Role - roleArn := section.String(roleArnKey) - srcProfile := section.String(sourceProfileKey) - credentialSource := section.String(credentialSourceKey) - hasSource := len(srcProfile) > 0 || len(credentialSource) > 0 - if len(roleArn) > 0 && hasSource { - cfg.AssumeRole = assumeRoleConfig{ - RoleARN: roleArn, - SourceProfile: srcProfile, - CredentialSource: credentialSource, - ExternalID: section.String(externalIDKey), - MFASerial: section.String(mfaSerialKey), - RoleSessionName: section.String(roleSessionNameKey), - } - } - - // `credential_process` - if credProc := section.String(credentialProcessKey); len(credProc) > 0 { - cfg.CredentialProcess = credProc - } - - // Region - if v := section.String(regionKey); len(v) > 0 { - cfg.Region = v - } - - // Endpoint discovery - if section.Has(enableEndpointDiscoveryKey) { - v := section.Bool(enableEndpointDiscoveryKey) - cfg.EnableEndpointDiscovery = &v - } - - return nil -} - -// SharedConfigLoadError is an error for the shared config file failed to load. -type SharedConfigLoadError struct { - Filename string - Err error -} - -// Code is the short id of the error. -func (e SharedConfigLoadError) Code() string { - return "SharedConfigLoadError" -} - -// Message is the description of the error -func (e SharedConfigLoadError) Message() string { - return fmt.Sprintf("failed to load config file, %s", e.Filename) -} - -// OrigErr is the underlying error that caused the failure. -func (e SharedConfigLoadError) OrigErr() error { - return e.Err -} - -// Error satisfies the error interface. -func (e SharedConfigLoadError) Error() string { - return awserr.SprintError(e.Code(), e.Message(), "", e.Err) -} - -// SharedConfigProfileNotExistsError is an error for the shared config when -// the profile was not find in the config file. -type SharedConfigProfileNotExistsError struct { - Profile string - Err error -} - -// Code is the short id of the error. -func (e SharedConfigProfileNotExistsError) Code() string { - return "SharedConfigProfileNotExistsError" -} - -// Message is the description of the error -func (e SharedConfigProfileNotExistsError) Message() string { - return fmt.Sprintf("failed to get profile, %s", e.Profile) -} - -// OrigErr is the underlying error that caused the failure. -func (e SharedConfigProfileNotExistsError) OrigErr() error { - return e.Err -} - -// Error satisfies the error interface. -func (e SharedConfigProfileNotExistsError) Error() string { - return awserr.SprintError(e.Code(), e.Message(), "", e.Err) -} - -// SharedConfigAssumeRoleError is an error for the shared config when the -// profile contains assume role information, but that information is invalid -// or not complete. -type SharedConfigAssumeRoleError struct { - RoleARN string -} - -// Code is the short id of the error. -func (e SharedConfigAssumeRoleError) Code() string { - return "SharedConfigAssumeRoleError" -} - -// Message is the description of the error -func (e SharedConfigAssumeRoleError) Message() string { - return fmt.Sprintf("failed to load assume role for %s, source profile has no shared credentials", - e.RoleARN) -} - -// OrigErr is the underlying error that caused the failure. -func (e SharedConfigAssumeRoleError) OrigErr() error { - return nil -} - -// Error satisfies the error interface. -func (e SharedConfigAssumeRoleError) Error() string { - return awserr.SprintError(e.Code(), e.Message(), "", nil) -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/header_rules.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/header_rules.go deleted file mode 100644 index 244c86d..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/header_rules.go +++ /dev/null @@ -1,82 +0,0 @@ -package v4 - -import ( - "net/http" - "strings" -) - -// validator houses a set of rule needed for validation of a -// string value -type rules []rule - -// rule interface allows for more flexible rules and just simply -// checks whether or not a value adheres to that rule -type rule interface { - IsValid(value string) bool -} - -// IsValid will iterate through all rules and see if any rules -// apply to the value and supports nested rules -func (r rules) IsValid(value string) bool { - for _, rule := range r { - if rule.IsValid(value) { - return true - } - } - return false -} - -// mapRule generic rule for maps -type mapRule map[string]struct{} - -// IsValid for the map rule satisfies whether it exists in the map -func (m mapRule) IsValid(value string) bool { - _, ok := m[value] - return ok -} - -// whitelist is a generic rule for whitelisting -type whitelist struct { - rule -} - -// IsValid for whitelist checks if the value is within the whitelist -func (w whitelist) IsValid(value string) bool { - return w.rule.IsValid(value) -} - -// blacklist is a generic rule for blacklisting -type blacklist struct { - rule -} - -// IsValid for whitelist checks if the value is within the whitelist -func (b blacklist) IsValid(value string) bool { - return !b.rule.IsValid(value) -} - -type patterns []string - -// IsValid for patterns checks each pattern and returns if a match has -// been found -func (p patterns) IsValid(value string) bool { - for _, pattern := range p { - if strings.HasPrefix(http.CanonicalHeaderKey(value), pattern) { - return true - } - } - return false -} - -// inclusiveRules rules allow for rules to depend on one another -type inclusiveRules []rule - -// IsValid will return true if all rules are true -func (r inclusiveRules) IsValid(value string) bool { - for _, rule := range r { - if !rule.IsValid(value) { - return false - } - } - return true -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go deleted file mode 100644 index 6aa2ed2..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go +++ /dev/null @@ -1,7 +0,0 @@ -package v4 - -// WithUnsignedPayload will enable and set the UnsignedPayload field to -// true of the signer. -func WithUnsignedPayload(v4 *Signer) { - v4.UnsignedPayload = true -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go deleted file mode 100644 index bd082e9..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go +++ /dev/null @@ -1,24 +0,0 @@ -// +build go1.5 - -package v4 - -import ( - "net/url" - "strings" -) - -func getURIPath(u *url.URL) string { - var uri string - - if len(u.Opaque) > 0 { - uri = "/" + strings.Join(strings.Split(u.Opaque, "/")[3:], "/") - } else { - uri = u.EscapedPath() - } - - if len(uri) == 0 { - uri = "/" - } - - return uri -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go deleted file mode 100644 index 594db5b..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go +++ /dev/null @@ -1,796 +0,0 @@ -// Package v4 implements signing for AWS V4 signer -// -// Provides request signing for request that need to be signed with -// AWS V4 Signatures. -// -// Standalone Signer -// -// Generally using the signer outside of the SDK should not require any additional -// logic when using Go v1.5 or higher. The signer does this by taking advantage -// of the URL.EscapedPath method. If your request URI requires additional escaping -// you many need to use the URL.Opaque to define what the raw URI should be sent -// to the service as. -// -// The signer will first check the URL.Opaque field, and use its value if set. -// The signer does require the URL.Opaque field to be set in the form of: -// -// "///" -// -// // e.g. -// "//example.com/some/path" -// -// The leading "//" and hostname are required or the URL.Opaque escaping will -// not work correctly. -// -// If URL.Opaque is not set the signer will fallback to the URL.EscapedPath() -// method and using the returned value. If you're using Go v1.4 you must set -// URL.Opaque if the URI path needs escaping. If URL.Opaque is not set with -// Go v1.5 the signer will fallback to URL.Path. -// -// AWS v4 signature validation requires that the canonical string's URI path -// element must be the URI escaped form of the HTTP request's path. -// http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html -// -// The Go HTTP client will perform escaping automatically on the request. Some -// of these escaping may cause signature validation errors because the HTTP -// request differs from the URI path or query that the signature was generated. -// https://golang.org/pkg/net/url/#URL.EscapedPath -// -// Because of this, it is recommended that when using the signer outside of the -// SDK that explicitly escaping the request prior to being signed is preferable, -// and will help prevent signature validation errors. This can be done by setting -// the URL.Opaque or URL.RawPath. The SDK will use URL.Opaque first and then -// call URL.EscapedPath() if Opaque is not set. -// -// If signing a request intended for HTTP2 server, and you're using Go 1.6.2 -// through 1.7.4 you should use the URL.RawPath as the pre-escaped form of the -// request URL. https://github.com/golang/go/issues/16847 points to a bug in -// Go pre 1.8 that fails to make HTTP2 requests using absolute URL in the HTTP -// message. URL.Opaque generally will force Go to make requests with absolute URL. -// URL.RawPath does not do this, but RawPath must be a valid escaping of Path -// or url.EscapedPath will ignore the RawPath escaping. -// -// Test `TestStandaloneSign` provides a complete example of using the signer -// outside of the SDK and pre-escaping the URI path. -package v4 - -import ( - "crypto/hmac" - "crypto/sha256" - "encoding/hex" - "fmt" - "io" - "io/ioutil" - "net/http" - "net/url" - "sort" - "strconv" - "strings" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/credentials" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/internal/sdkio" - "github.com/aws/aws-sdk-go/private/protocol/rest" -) - -const ( - authHeaderPrefix = "AWS4-HMAC-SHA256" - timeFormat = "20060102T150405Z" - shortTimeFormat = "20060102" - - // emptyStringSHA256 is a SHA256 of an empty string - emptyStringSHA256 = `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855` -) - -var ignoredHeaders = rules{ - blacklist{ - mapRule{ - "Authorization": struct{}{}, - "User-Agent": struct{}{}, - "X-Amzn-Trace-Id": struct{}{}, - }, - }, -} - -// requiredSignedHeaders is a whitelist for build canonical headers. -var requiredSignedHeaders = rules{ - whitelist{ - mapRule{ - "Cache-Control": struct{}{}, - "Content-Disposition": struct{}{}, - "Content-Encoding": struct{}{}, - "Content-Language": struct{}{}, - "Content-Md5": struct{}{}, - "Content-Type": struct{}{}, - "Expires": struct{}{}, - "If-Match": struct{}{}, - "If-Modified-Since": struct{}{}, - "If-None-Match": struct{}{}, - "If-Unmodified-Since": struct{}{}, - "Range": struct{}{}, - "X-Amz-Acl": struct{}{}, - "X-Amz-Copy-Source": struct{}{}, - "X-Amz-Copy-Source-If-Match": struct{}{}, - "X-Amz-Copy-Source-If-Modified-Since": struct{}{}, - "X-Amz-Copy-Source-If-None-Match": struct{}{}, - "X-Amz-Copy-Source-If-Unmodified-Since": struct{}{}, - "X-Amz-Copy-Source-Range": struct{}{}, - "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{}, - "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{}, - "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{}, - "X-Amz-Grant-Full-control": struct{}{}, - "X-Amz-Grant-Read": struct{}{}, - "X-Amz-Grant-Read-Acp": struct{}{}, - "X-Amz-Grant-Write": struct{}{}, - "X-Amz-Grant-Write-Acp": struct{}{}, - "X-Amz-Metadata-Directive": struct{}{}, - "X-Amz-Mfa": struct{}{}, - "X-Amz-Request-Payer": struct{}{}, - "X-Amz-Server-Side-Encryption": struct{}{}, - "X-Amz-Server-Side-Encryption-Aws-Kms-Key-Id": struct{}{}, - "X-Amz-Server-Side-Encryption-Customer-Algorithm": struct{}{}, - "X-Amz-Server-Side-Encryption-Customer-Key": struct{}{}, - "X-Amz-Server-Side-Encryption-Customer-Key-Md5": struct{}{}, - "X-Amz-Storage-Class": struct{}{}, - "X-Amz-Tagging": struct{}{}, - "X-Amz-Website-Redirect-Location": struct{}{}, - "X-Amz-Content-Sha256": struct{}{}, - }, - }, - patterns{"X-Amz-Meta-"}, -} - -// allowedHoisting is a whitelist for build query headers. The boolean value -// represents whether or not it is a pattern. -var allowedQueryHoisting = inclusiveRules{ - blacklist{requiredSignedHeaders}, - patterns{"X-Amz-"}, -} - -// Signer applies AWS v4 signing to given request. Use this to sign requests -// that need to be signed with AWS V4 Signatures. -type Signer struct { - // The authentication credentials the request will be signed against. - // This value must be set to sign requests. - Credentials *credentials.Credentials - - // Sets the log level the signer should use when reporting information to - // the logger. If the logger is nil nothing will be logged. See - // aws.LogLevelType for more information on available logging levels - // - // By default nothing will be logged. - Debug aws.LogLevelType - - // The logger loging information will be written to. If there the logger - // is nil, nothing will be logged. - Logger aws.Logger - - // Disables the Signer's moving HTTP header key/value pairs from the HTTP - // request header to the request's query string. This is most commonly used - // with pre-signed requests preventing headers from being added to the - // request's query string. - DisableHeaderHoisting bool - - // Disables the automatic escaping of the URI path of the request for the - // siganture's canonical string's path. For services that do not need additional - // escaping then use this to disable the signer escaping the path. - // - // S3 is an example of a service that does not need additional escaping. - // - // http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html - DisableURIPathEscaping bool - - // Disales the automatical setting of the HTTP request's Body field with the - // io.ReadSeeker passed in to the signer. This is useful if you're using a - // custom wrapper around the body for the io.ReadSeeker and want to preserve - // the Body value on the Request.Body. - // - // This does run the risk of signing a request with a body that will not be - // sent in the request. Need to ensure that the underlying data of the Body - // values are the same. - DisableRequestBodyOverwrite bool - - // currentTimeFn returns the time value which represents the current time. - // This value should only be used for testing. If it is nil the default - // time.Now will be used. - currentTimeFn func() time.Time - - // UnsignedPayload will prevent signing of the payload. This will only - // work for services that have support for this. - UnsignedPayload bool -} - -// NewSigner returns a Signer pointer configured with the credentials and optional -// option values provided. If not options are provided the Signer will use its -// default configuration. -func NewSigner(credentials *credentials.Credentials, options ...func(*Signer)) *Signer { - v4 := &Signer{ - Credentials: credentials, - } - - for _, option := range options { - option(v4) - } - - return v4 -} - -type signingCtx struct { - ServiceName string - Region string - Request *http.Request - Body io.ReadSeeker - Query url.Values - Time time.Time - ExpireTime time.Duration - SignedHeaderVals http.Header - - DisableURIPathEscaping bool - - credValues credentials.Value - isPresign bool - formattedTime string - formattedShortTime string - unsignedPayload bool - - bodyDigest string - signedHeaders string - canonicalHeaders string - canonicalString string - credentialString string - stringToSign string - signature string - authorization string -} - -// Sign signs AWS v4 requests with the provided body, service name, region the -// request is made to, and time the request is signed at. The signTime allows -// you to specify that a request is signed for the future, and cannot be -// used until then. -// -// Returns a list of HTTP headers that were included in the signature or an -// error if signing the request failed. Generally for signed requests this value -// is not needed as the full request context will be captured by the http.Request -// value. It is included for reference though. -// -// Sign will set the request's Body to be the `body` parameter passed in. If -// the body is not already an io.ReadCloser, it will be wrapped within one. If -// a `nil` body parameter passed to Sign, the request's Body field will be -// also set to nil. Its important to note that this functionality will not -// change the request's ContentLength of the request. -// -// Sign differs from Presign in that it will sign the request using HTTP -// header values. This type of signing is intended for http.Request values that -// will not be shared, or are shared in a way the header values on the request -// will not be lost. -// -// The requests body is an io.ReadSeeker so the SHA256 of the body can be -// generated. To bypass the signer computing the hash you can set the -// "X-Amz-Content-Sha256" header with a precomputed value. The signer will -// only compute the hash if the request header value is empty. -func (v4 Signer) Sign(r *http.Request, body io.ReadSeeker, service, region string, signTime time.Time) (http.Header, error) { - return v4.signWithBody(r, body, service, region, 0, false, signTime) -} - -// Presign signs AWS v4 requests with the provided body, service name, region -// the request is made to, and time the request is signed at. The signTime -// allows you to specify that a request is signed for the future, and cannot -// be used until then. -// -// Returns a list of HTTP headers that were included in the signature or an -// error if signing the request failed. For presigned requests these headers -// and their values must be included on the HTTP request when it is made. This -// is helpful to know what header values need to be shared with the party the -// presigned request will be distributed to. -// -// Presign differs from Sign in that it will sign the request using query string -// instead of header values. This allows you to share the Presigned Request's -// URL with third parties, or distribute it throughout your system with minimal -// dependencies. -// -// Presign also takes an exp value which is the duration the -// signed request will be valid after the signing time. This is allows you to -// set when the request will expire. -// -// The requests body is an io.ReadSeeker so the SHA256 of the body can be -// generated. To bypass the signer computing the hash you can set the -// "X-Amz-Content-Sha256" header with a precomputed value. The signer will -// only compute the hash if the request header value is empty. -// -// Presigning a S3 request will not compute the body's SHA256 hash by default. -// This is done due to the general use case for S3 presigned URLs is to share -// PUT/GET capabilities. If you would like to include the body's SHA256 in the -// presigned request's signature you can set the "X-Amz-Content-Sha256" -// HTTP header and that will be included in the request's signature. -func (v4 Signer) Presign(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, signTime time.Time) (http.Header, error) { - return v4.signWithBody(r, body, service, region, exp, true, signTime) -} - -func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, isPresign bool, signTime time.Time) (http.Header, error) { - currentTimeFn := v4.currentTimeFn - if currentTimeFn == nil { - currentTimeFn = time.Now - } - - ctx := &signingCtx{ - Request: r, - Body: body, - Query: r.URL.Query(), - Time: signTime, - ExpireTime: exp, - isPresign: isPresign, - ServiceName: service, - Region: region, - DisableURIPathEscaping: v4.DisableURIPathEscaping, - unsignedPayload: v4.UnsignedPayload, - } - - for key := range ctx.Query { - sort.Strings(ctx.Query[key]) - } - - if ctx.isRequestSigned() { - ctx.Time = currentTimeFn() - ctx.handlePresignRemoval() - } - - var err error - ctx.credValues, err = v4.Credentials.Get() - if err != nil { - return http.Header{}, err - } - - ctx.sanitizeHostForHeader() - ctx.assignAmzQueryValues() - if err := ctx.build(v4.DisableHeaderHoisting); err != nil { - return nil, err - } - - // If the request is not presigned the body should be attached to it. This - // prevents the confusion of wanting to send a signed request without - // the body the request was signed for attached. - if !(v4.DisableRequestBodyOverwrite || ctx.isPresign) { - var reader io.ReadCloser - if body != nil { - var ok bool - if reader, ok = body.(io.ReadCloser); !ok { - reader = ioutil.NopCloser(body) - } - } - r.Body = reader - } - - if v4.Debug.Matches(aws.LogDebugWithSigning) { - v4.logSigningInfo(ctx) - } - - return ctx.SignedHeaderVals, nil -} - -func (ctx *signingCtx) sanitizeHostForHeader() { - request.SanitizeHostForHeader(ctx.Request) -} - -func (ctx *signingCtx) handlePresignRemoval() { - if !ctx.isPresign { - return - } - - // The credentials have expired for this request. The current signing - // is invalid, and needs to be request because the request will fail. - ctx.removePresign() - - // Update the request's query string to ensure the values stays in - // sync in the case retrieving the new credentials fails. - ctx.Request.URL.RawQuery = ctx.Query.Encode() -} - -func (ctx *signingCtx) assignAmzQueryValues() { - if ctx.isPresign { - ctx.Query.Set("X-Amz-Algorithm", authHeaderPrefix) - if ctx.credValues.SessionToken != "" { - ctx.Query.Set("X-Amz-Security-Token", ctx.credValues.SessionToken) - } else { - ctx.Query.Del("X-Amz-Security-Token") - } - - return - } - - if ctx.credValues.SessionToken != "" { - ctx.Request.Header.Set("X-Amz-Security-Token", ctx.credValues.SessionToken) - } -} - -// SignRequestHandler is a named request handler the SDK will use to sign -// service client request with using the V4 signature. -var SignRequestHandler = request.NamedHandler{ - Name: "v4.SignRequestHandler", Fn: SignSDKRequest, -} - -// SignSDKRequest signs an AWS request with the V4 signature. This -// request handler should only be used with the SDK's built in service client's -// API operation requests. -// -// This function should not be used on its on its own, but in conjunction with -// an AWS service client's API operation call. To sign a standalone request -// not created by a service client's API operation method use the "Sign" or -// "Presign" functions of the "Signer" type. -// -// If the credentials of the request's config are set to -// credentials.AnonymousCredentials the request will not be signed. -func SignSDKRequest(req *request.Request) { - SignSDKRequestWithCurrentTime(req, time.Now) -} - -// BuildNamedHandler will build a generic handler for signing. -func BuildNamedHandler(name string, opts ...func(*Signer)) request.NamedHandler { - return request.NamedHandler{ - Name: name, - Fn: func(req *request.Request) { - SignSDKRequestWithCurrentTime(req, time.Now, opts...) - }, - } -} - -// SignSDKRequestWithCurrentTime will sign the SDK's request using the time -// function passed in. Behaves the same as SignSDKRequest with the exception -// the request is signed with the value returned by the current time function. -func SignSDKRequestWithCurrentTime(req *request.Request, curTimeFn func() time.Time, opts ...func(*Signer)) { - // If the request does not need to be signed ignore the signing of the - // request if the AnonymousCredentials object is used. - if req.Config.Credentials == credentials.AnonymousCredentials { - return - } - - region := req.ClientInfo.SigningRegion - if region == "" { - region = aws.StringValue(req.Config.Region) - } - - name := req.ClientInfo.SigningName - if name == "" { - name = req.ClientInfo.ServiceName - } - - v4 := NewSigner(req.Config.Credentials, func(v4 *Signer) { - v4.Debug = req.Config.LogLevel.Value() - v4.Logger = req.Config.Logger - v4.DisableHeaderHoisting = req.NotHoist - v4.currentTimeFn = curTimeFn - if name == "s3" { - // S3 service should not have any escaping applied - v4.DisableURIPathEscaping = true - } - // Prevents setting the HTTPRequest's Body. Since the Body could be - // wrapped in a custom io.Closer that we do not want to be stompped - // on top of by the signer. - v4.DisableRequestBodyOverwrite = true - }) - - for _, opt := range opts { - opt(v4) - } - - curTime := curTimeFn() - signedHeaders, err := v4.signWithBody(req.HTTPRequest, req.GetBody(), - name, region, req.ExpireTime, req.ExpireTime > 0, curTime, - ) - if err != nil { - req.Error = err - req.SignedHeaderVals = nil - return - } - - req.SignedHeaderVals = signedHeaders - req.LastSignedAt = curTime -} - -const logSignInfoMsg = `DEBUG: Request Signature: ----[ CANONICAL STRING ]----------------------------- -%s ----[ STRING TO SIGN ]-------------------------------- -%s%s ------------------------------------------------------` -const logSignedURLMsg = ` ----[ SIGNED URL ]------------------------------------ -%s` - -func (v4 *Signer) logSigningInfo(ctx *signingCtx) { - signedURLMsg := "" - if ctx.isPresign { - signedURLMsg = fmt.Sprintf(logSignedURLMsg, ctx.Request.URL.String()) - } - msg := fmt.Sprintf(logSignInfoMsg, ctx.canonicalString, ctx.stringToSign, signedURLMsg) - v4.Logger.Log(msg) -} - -func (ctx *signingCtx) build(disableHeaderHoisting bool) error { - ctx.buildTime() // no depends - ctx.buildCredentialString() // no depends - - if err := ctx.buildBodyDigest(); err != nil { - return err - } - - unsignedHeaders := ctx.Request.Header - if ctx.isPresign { - if !disableHeaderHoisting { - urlValues := url.Values{} - urlValues, unsignedHeaders = buildQuery(allowedQueryHoisting, unsignedHeaders) // no depends - for k := range urlValues { - ctx.Query[k] = urlValues[k] - } - } - } - - ctx.buildCanonicalHeaders(ignoredHeaders, unsignedHeaders) - ctx.buildCanonicalString() // depends on canon headers / signed headers - ctx.buildStringToSign() // depends on canon string - ctx.buildSignature() // depends on string to sign - - if ctx.isPresign { - ctx.Request.URL.RawQuery += "&X-Amz-Signature=" + ctx.signature - } else { - parts := []string{ - authHeaderPrefix + " Credential=" + ctx.credValues.AccessKeyID + "/" + ctx.credentialString, - "SignedHeaders=" + ctx.signedHeaders, - "Signature=" + ctx.signature, - } - ctx.Request.Header.Set("Authorization", strings.Join(parts, ", ")) - } - - return nil -} - -func (ctx *signingCtx) buildTime() { - ctx.formattedTime = ctx.Time.UTC().Format(timeFormat) - ctx.formattedShortTime = ctx.Time.UTC().Format(shortTimeFormat) - - if ctx.isPresign { - duration := int64(ctx.ExpireTime / time.Second) - ctx.Query.Set("X-Amz-Date", ctx.formattedTime) - ctx.Query.Set("X-Amz-Expires", strconv.FormatInt(duration, 10)) - } else { - ctx.Request.Header.Set("X-Amz-Date", ctx.formattedTime) - } -} - -func (ctx *signingCtx) buildCredentialString() { - ctx.credentialString = strings.Join([]string{ - ctx.formattedShortTime, - ctx.Region, - ctx.ServiceName, - "aws4_request", - }, "/") - - if ctx.isPresign { - ctx.Query.Set("X-Amz-Credential", ctx.credValues.AccessKeyID+"/"+ctx.credentialString) - } -} - -func buildQuery(r rule, header http.Header) (url.Values, http.Header) { - query := url.Values{} - unsignedHeaders := http.Header{} - for k, h := range header { - if r.IsValid(k) { - query[k] = h - } else { - unsignedHeaders[k] = h - } - } - - return query, unsignedHeaders -} -func (ctx *signingCtx) buildCanonicalHeaders(r rule, header http.Header) { - var headers []string - headers = append(headers, "host") - for k, v := range header { - canonicalKey := http.CanonicalHeaderKey(k) - if !r.IsValid(canonicalKey) { - continue // ignored header - } - if ctx.SignedHeaderVals == nil { - ctx.SignedHeaderVals = make(http.Header) - } - - lowerCaseKey := strings.ToLower(k) - if _, ok := ctx.SignedHeaderVals[lowerCaseKey]; ok { - // include additional values - ctx.SignedHeaderVals[lowerCaseKey] = append(ctx.SignedHeaderVals[lowerCaseKey], v...) - continue - } - - headers = append(headers, lowerCaseKey) - ctx.SignedHeaderVals[lowerCaseKey] = v - } - sort.Strings(headers) - - ctx.signedHeaders = strings.Join(headers, ";") - - if ctx.isPresign { - ctx.Query.Set("X-Amz-SignedHeaders", ctx.signedHeaders) - } - - headerValues := make([]string, len(headers)) - for i, k := range headers { - if k == "host" { - if ctx.Request.Host != "" { - headerValues[i] = "host:" + ctx.Request.Host - } else { - headerValues[i] = "host:" + ctx.Request.URL.Host - } - } else { - headerValues[i] = k + ":" + - strings.Join(ctx.SignedHeaderVals[k], ",") - } - } - stripExcessSpaces(headerValues) - ctx.canonicalHeaders = strings.Join(headerValues, "\n") -} - -func (ctx *signingCtx) buildCanonicalString() { - ctx.Request.URL.RawQuery = strings.Replace(ctx.Query.Encode(), "+", "%20", -1) - - uri := getURIPath(ctx.Request.URL) - - if !ctx.DisableURIPathEscaping { - uri = rest.EscapePath(uri, false) - } - - ctx.canonicalString = strings.Join([]string{ - ctx.Request.Method, - uri, - ctx.Request.URL.RawQuery, - ctx.canonicalHeaders + "\n", - ctx.signedHeaders, - ctx.bodyDigest, - }, "\n") -} - -func (ctx *signingCtx) buildStringToSign() { - ctx.stringToSign = strings.Join([]string{ - authHeaderPrefix, - ctx.formattedTime, - ctx.credentialString, - hex.EncodeToString(makeSha256([]byte(ctx.canonicalString))), - }, "\n") -} - -func (ctx *signingCtx) buildSignature() { - secret := ctx.credValues.SecretAccessKey - date := makeHmac([]byte("AWS4"+secret), []byte(ctx.formattedShortTime)) - region := makeHmac(date, []byte(ctx.Region)) - service := makeHmac(region, []byte(ctx.ServiceName)) - credentials := makeHmac(service, []byte("aws4_request")) - signature := makeHmac(credentials, []byte(ctx.stringToSign)) - ctx.signature = hex.EncodeToString(signature) -} - -func (ctx *signingCtx) buildBodyDigest() error { - hash := ctx.Request.Header.Get("X-Amz-Content-Sha256") - if hash == "" { - includeSHA256Header := ctx.unsignedPayload || - ctx.ServiceName == "s3" || - ctx.ServiceName == "glacier" - - s3Presign := ctx.isPresign && ctx.ServiceName == "s3" - - if ctx.unsignedPayload || s3Presign { - hash = "UNSIGNED-PAYLOAD" - includeSHA256Header = !s3Presign - } else if ctx.Body == nil { - hash = emptyStringSHA256 - } else { - if !aws.IsReaderSeekable(ctx.Body) { - return fmt.Errorf("cannot use unseekable request body %T, for signed request with body", ctx.Body) - } - hash = hex.EncodeToString(makeSha256Reader(ctx.Body)) - } - - if includeSHA256Header { - ctx.Request.Header.Set("X-Amz-Content-Sha256", hash) - } - } - ctx.bodyDigest = hash - - return nil -} - -// isRequestSigned returns if the request is currently signed or presigned -func (ctx *signingCtx) isRequestSigned() bool { - if ctx.isPresign && ctx.Query.Get("X-Amz-Signature") != "" { - return true - } - if ctx.Request.Header.Get("Authorization") != "" { - return true - } - - return false -} - -// unsign removes signing flags for both signed and presigned requests. -func (ctx *signingCtx) removePresign() { - ctx.Query.Del("X-Amz-Algorithm") - ctx.Query.Del("X-Amz-Signature") - ctx.Query.Del("X-Amz-Security-Token") - ctx.Query.Del("X-Amz-Date") - ctx.Query.Del("X-Amz-Expires") - ctx.Query.Del("X-Amz-Credential") - ctx.Query.Del("X-Amz-SignedHeaders") -} - -func makeHmac(key []byte, data []byte) []byte { - hash := hmac.New(sha256.New, key) - hash.Write(data) - return hash.Sum(nil) -} - -func makeSha256(data []byte) []byte { - hash := sha256.New() - hash.Write(data) - return hash.Sum(nil) -} - -func makeSha256Reader(reader io.ReadSeeker) []byte { - hash := sha256.New() - start, _ := reader.Seek(0, sdkio.SeekCurrent) - defer reader.Seek(start, sdkio.SeekStart) - - // Use CopyN to avoid allocating the 32KB buffer in io.Copy for bodies - // smaller than 32KB. Fall back to io.Copy if we fail to determine the size. - size, err := aws.SeekerLen(reader) - if err != nil { - io.Copy(hash, reader) - } else { - io.CopyN(hash, reader, size) - } - - return hash.Sum(nil) -} - -const doubleSpace = " " - -// stripExcessSpaces will rewrite the passed in slice's string values to not -// contain muliple side-by-side spaces. -func stripExcessSpaces(vals []string) { - var j, k, l, m, spaces int - for i, str := range vals { - // Trim trailing spaces - for j = len(str) - 1; j >= 0 && str[j] == ' '; j-- { - } - - // Trim leading spaces - for k = 0; k < j && str[k] == ' '; k++ { - } - str = str[k : j+1] - - // Strip multiple spaces. - j = strings.Index(str, doubleSpace) - if j < 0 { - vals[i] = str - continue - } - - buf := []byte(str) - for k, m, l = j, j, len(buf); k < l; k++ { - if buf[k] == ' ' { - if spaces == 0 { - // First space. - buf[m] = buf[k] - m++ - } - spaces++ - } else { - // End of multiple spaces. - spaces = 0 - buf[m] = buf[k] - m++ - } - } - - vals[i] = string(buf[:m]) - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/types.go b/vendor/github.com/aws/aws-sdk-go/aws/types.go deleted file mode 100644 index 8b6f234..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/types.go +++ /dev/null @@ -1,201 +0,0 @@ -package aws - -import ( - "io" - "sync" - - "github.com/aws/aws-sdk-go/internal/sdkio" -) - -// ReadSeekCloser wraps a io.Reader returning a ReaderSeekerCloser. Should -// only be used with an io.Reader that is also an io.Seeker. Doing so may -// cause request signature errors, or request body's not sent for GET, HEAD -// and DELETE HTTP methods. -// -// Deprecated: Should only be used with io.ReadSeeker. If using for -// S3 PutObject to stream content use s3manager.Uploader instead. -func ReadSeekCloser(r io.Reader) ReaderSeekerCloser { - return ReaderSeekerCloser{r} -} - -// ReaderSeekerCloser represents a reader that can also delegate io.Seeker and -// io.Closer interfaces to the underlying object if they are available. -type ReaderSeekerCloser struct { - r io.Reader -} - -// IsReaderSeekable returns if the underlying reader type can be seeked. A -// io.Reader might not actually be seekable if it is the ReaderSeekerCloser -// type. -func IsReaderSeekable(r io.Reader) bool { - switch v := r.(type) { - case ReaderSeekerCloser: - return v.IsSeeker() - case *ReaderSeekerCloser: - return v.IsSeeker() - case io.ReadSeeker: - return true - default: - return false - } -} - -// Read reads from the reader up to size of p. The number of bytes read, and -// error if it occurred will be returned. -// -// If the reader is not an io.Reader zero bytes read, and nil error will be returned. -// -// Performs the same functionality as io.Reader Read -func (r ReaderSeekerCloser) Read(p []byte) (int, error) { - switch t := r.r.(type) { - case io.Reader: - return t.Read(p) - } - return 0, nil -} - -// Seek sets the offset for the next Read to offset, interpreted according to -// whence: 0 means relative to the origin of the file, 1 means relative to the -// current offset, and 2 means relative to the end. Seek returns the new offset -// and an error, if any. -// -// If the ReaderSeekerCloser is not an io.Seeker nothing will be done. -func (r ReaderSeekerCloser) Seek(offset int64, whence int) (int64, error) { - switch t := r.r.(type) { - case io.Seeker: - return t.Seek(offset, whence) - } - return int64(0), nil -} - -// IsSeeker returns if the underlying reader is also a seeker. -func (r ReaderSeekerCloser) IsSeeker() bool { - _, ok := r.r.(io.Seeker) - return ok -} - -// HasLen returns the length of the underlying reader if the value implements -// the Len() int method. -func (r ReaderSeekerCloser) HasLen() (int, bool) { - type lenner interface { - Len() int - } - - if lr, ok := r.r.(lenner); ok { - return lr.Len(), true - } - - return 0, false -} - -// GetLen returns the length of the bytes remaining in the underlying reader. -// Checks first for Len(), then io.Seeker to determine the size of the -// underlying reader. -// -// Will return -1 if the length cannot be determined. -func (r ReaderSeekerCloser) GetLen() (int64, error) { - if l, ok := r.HasLen(); ok { - return int64(l), nil - } - - if s, ok := r.r.(io.Seeker); ok { - return seekerLen(s) - } - - return -1, nil -} - -// SeekerLen attempts to get the number of bytes remaining at the seeker's -// current position. Returns the number of bytes remaining or error. -func SeekerLen(s io.Seeker) (int64, error) { - // Determine if the seeker is actually seekable. ReaderSeekerCloser - // hides the fact that a io.Readers might not actually be seekable. - switch v := s.(type) { - case ReaderSeekerCloser: - return v.GetLen() - case *ReaderSeekerCloser: - return v.GetLen() - } - - return seekerLen(s) -} - -func seekerLen(s io.Seeker) (int64, error) { - curOffset, err := s.Seek(0, sdkio.SeekCurrent) - if err != nil { - return 0, err - } - - endOffset, err := s.Seek(0, sdkio.SeekEnd) - if err != nil { - return 0, err - } - - _, err = s.Seek(curOffset, sdkio.SeekStart) - if err != nil { - return 0, err - } - - return endOffset - curOffset, nil -} - -// Close closes the ReaderSeekerCloser. -// -// If the ReaderSeekerCloser is not an io.Closer nothing will be done. -func (r ReaderSeekerCloser) Close() error { - switch t := r.r.(type) { - case io.Closer: - return t.Close() - } - return nil -} - -// A WriteAtBuffer provides a in memory buffer supporting the io.WriterAt interface -// Can be used with the s3manager.Downloader to download content to a buffer -// in memory. Safe to use concurrently. -type WriteAtBuffer struct { - buf []byte - m sync.Mutex - - // GrowthCoeff defines the growth rate of the internal buffer. By - // default, the growth rate is 1, where expanding the internal - // buffer will allocate only enough capacity to fit the new expected - // length. - GrowthCoeff float64 -} - -// NewWriteAtBuffer creates a WriteAtBuffer with an internal buffer -// provided by buf. -func NewWriteAtBuffer(buf []byte) *WriteAtBuffer { - return &WriteAtBuffer{buf: buf} -} - -// WriteAt writes a slice of bytes to a buffer starting at the position provided -// The number of bytes written will be returned, or error. Can overwrite previous -// written slices if the write ats overlap. -func (b *WriteAtBuffer) WriteAt(p []byte, pos int64) (n int, err error) { - pLen := len(p) - expLen := pos + int64(pLen) - b.m.Lock() - defer b.m.Unlock() - if int64(len(b.buf)) < expLen { - if int64(cap(b.buf)) < expLen { - if b.GrowthCoeff < 1 { - b.GrowthCoeff = 1 - } - newBuf := make([]byte, expLen, int64(b.GrowthCoeff*float64(expLen))) - copy(newBuf, b.buf) - b.buf = newBuf - } - b.buf = b.buf[:expLen] - } - copy(b.buf[pos:], p) - return pLen, nil -} - -// Bytes returns a slice of bytes written to the buffer. -func (b *WriteAtBuffer) Bytes() []byte { - b.m.Lock() - defer b.m.Unlock() - return b.buf -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/url.go b/vendor/github.com/aws/aws-sdk-go/aws/url.go deleted file mode 100644 index 6192b24..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/url.go +++ /dev/null @@ -1,12 +0,0 @@ -// +build go1.8 - -package aws - -import "net/url" - -// URLHostname will extract the Hostname without port from the URL value. -// -// Wrapper of net/url#URL.Hostname for backwards Go version compatibility. -func URLHostname(url *url.URL) string { - return url.Hostname() -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go b/vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go deleted file mode 100644 index 0210d27..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go +++ /dev/null @@ -1,29 +0,0 @@ -// +build !go1.8 - -package aws - -import ( - "net/url" - "strings" -) - -// URLHostname will extract the Hostname without port from the URL value. -// -// Copy of Go 1.8's net/url#URL.Hostname functionality. -func URLHostname(url *url.URL) string { - return stripPort(url.Host) - -} - -// stripPort is copy of Go 1.8 url#URL.Hostname functionality. -// https://golang.org/src/net/url/url.go -func stripPort(hostport string) string { - colon := strings.IndexByte(hostport, ':') - if colon == -1 { - return hostport - } - if i := strings.IndexByte(hostport, ']'); i != -1 { - return strings.TrimPrefix(hostport[:i], "[") - } - return hostport[:colon] -} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go deleted file mode 100644 index 8ab5783..0000000 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ /dev/null @@ -1,8 +0,0 @@ -// Package aws provides core functionality for making requests to AWS services. -package aws - -// SDKName is the name of this AWS SDK -const SDKName = "aws-sdk-go" - -// SDKVersion is the version of this SDK -const SDKVersion = "1.16.3" diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/ast.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/ast.go deleted file mode 100644 index e83a998..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/ast.go +++ /dev/null @@ -1,120 +0,0 @@ -package ini - -// ASTKind represents different states in the parse table -// and the type of AST that is being constructed -type ASTKind int - -// ASTKind* is used in the parse table to transition between -// the different states -const ( - ASTKindNone = ASTKind(iota) - ASTKindStart - ASTKindExpr - ASTKindEqualExpr - ASTKindStatement - ASTKindSkipStatement - ASTKindExprStatement - ASTKindSectionStatement - ASTKindNestedSectionStatement - ASTKindCompletedNestedSectionStatement - ASTKindCommentStatement - ASTKindCompletedSectionStatement -) - -func (k ASTKind) String() string { - switch k { - case ASTKindNone: - return "none" - case ASTKindStart: - return "start" - case ASTKindExpr: - return "expr" - case ASTKindStatement: - return "stmt" - case ASTKindSectionStatement: - return "section_stmt" - case ASTKindExprStatement: - return "expr_stmt" - case ASTKindCommentStatement: - return "comment" - case ASTKindNestedSectionStatement: - return "nested_section_stmt" - case ASTKindCompletedSectionStatement: - return "completed_stmt" - case ASTKindSkipStatement: - return "skip" - default: - return "" - } -} - -// AST interface allows us to determine what kind of node we -// are on and casting may not need to be necessary. -// -// The root is always the first node in Children -type AST struct { - Kind ASTKind - Root Token - RootToken bool - Children []AST -} - -func newAST(kind ASTKind, root AST, children ...AST) AST { - return AST{ - Kind: kind, - Children: append([]AST{root}, children...), - } -} - -func newASTWithRootToken(kind ASTKind, root Token, children ...AST) AST { - return AST{ - Kind: kind, - Root: root, - RootToken: true, - Children: children, - } -} - -// AppendChild will append to the list of children an AST has. -func (a *AST) AppendChild(child AST) { - a.Children = append(a.Children, child) -} - -// GetRoot will return the root AST which can be the first entry -// in the children list or a token. -func (a *AST) GetRoot() AST { - if a.RootToken { - return *a - } - - if len(a.Children) == 0 { - return AST{} - } - - return a.Children[0] -} - -// GetChildren will return the current AST's list of children -func (a *AST) GetChildren() []AST { - if len(a.Children) == 0 { - return []AST{} - } - - if a.RootToken { - return a.Children - } - - return a.Children[1:] -} - -// SetChildren will set and override all children of the AST. -func (a *AST) SetChildren(children []AST) { - if a.RootToken { - a.Children = children - } else { - a.Children = append(a.Children[:1], children...) - } -} - -// Start is used to indicate the starting state of the parse table. -var Start = newAST(ASTKindStart, AST{}) diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/comma_token.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/comma_token.go deleted file mode 100644 index 0895d53..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/comma_token.go +++ /dev/null @@ -1,11 +0,0 @@ -package ini - -var commaRunes = []rune(",") - -func isComma(b rune) bool { - return b == ',' -} - -func newCommaToken() Token { - return newToken(TokenComma, commaRunes, NoneType) -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/comment_token.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/comment_token.go deleted file mode 100644 index 0b76999..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/comment_token.go +++ /dev/null @@ -1,35 +0,0 @@ -package ini - -// isComment will return whether or not the next byte(s) is a -// comment. -func isComment(b []rune) bool { - if len(b) == 0 { - return false - } - - switch b[0] { - case ';': - return true - case '#': - return true - } - - return false -} - -// newCommentToken will create a comment token and -// return how many bytes were read. -func newCommentToken(b []rune) (Token, int, error) { - i := 0 - for ; i < len(b); i++ { - if b[i] == '\n' { - break - } - - if len(b)-i > 2 && b[i] == '\r' && b[i+1] == '\n' { - break - } - } - - return newToken(TokenComment, b[:i], NoneType), i, nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/doc.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/doc.go deleted file mode 100644 index 25ce0fe..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/doc.go +++ /dev/null @@ -1,29 +0,0 @@ -// Package ini is an LL(1) parser for configuration files. -// -// Example: -// sections, err := ini.OpenFile("/path/to/file") -// if err != nil { -// panic(err) -// } -// -// profile := "foo" -// section, ok := sections.GetSection(profile) -// if !ok { -// fmt.Printf("section %q could not be found", profile) -// } -// -// Below is the BNF that describes this parser -// Grammar: -// stmt -> value stmt' -// stmt' -> epsilon | op stmt -// value -> number | string | boolean | quoted_string -// -// section -> [ section' -// section' -> value section_close -// section_close -> ] -// -// SkipState will skip (NL WS)+ -// -// comment -> # comment' | ; comment' -// comment' -> epsilon | value -package ini diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/empty_token.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/empty_token.go deleted file mode 100644 index 04345a5..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/empty_token.go +++ /dev/null @@ -1,4 +0,0 @@ -package ini - -// emptyToken is used to satisfy the Token interface -var emptyToken = newToken(TokenNone, []rune{}, NoneType) diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/expression.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/expression.go deleted file mode 100644 index 91ba2a5..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/expression.go +++ /dev/null @@ -1,24 +0,0 @@ -package ini - -// newExpression will return an expression AST. -// Expr represents an expression -// -// grammar: -// expr -> string | number -func newExpression(tok Token) AST { - return newASTWithRootToken(ASTKindExpr, tok) -} - -func newEqualExpr(left AST, tok Token) AST { - return newASTWithRootToken(ASTKindEqualExpr, tok, left) -} - -// EqualExprKey will return a LHS value in the equal expr -func EqualExprKey(ast AST) string { - children := ast.GetChildren() - if len(children) == 0 || ast.Kind != ASTKindEqualExpr { - return "" - } - - return string(children[0].Root.Raw()) -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/fuzz.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/fuzz.go deleted file mode 100644 index 8d462f7..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/fuzz.go +++ /dev/null @@ -1,17 +0,0 @@ -// +build gofuzz - -package ini - -import ( - "bytes" -) - -func Fuzz(data []byte) int { - b := bytes.NewReader(data) - - if _, err := Parse(b); err != nil { - return 0 - } - - return 1 -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/ini.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/ini.go deleted file mode 100644 index 3b0ca7a..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/ini.go +++ /dev/null @@ -1,51 +0,0 @@ -package ini - -import ( - "io" - "os" - - "github.com/aws/aws-sdk-go/aws/awserr" -) - -// OpenFile takes a path to a given file, and will open and parse -// that file. -func OpenFile(path string) (Sections, error) { - f, err := os.Open(path) - if err != nil { - return Sections{}, awserr.New(ErrCodeUnableToReadFile, "unable to open file", err) - } - defer f.Close() - - return Parse(f) -} - -// Parse will parse the given file using the shared config -// visitor. -func Parse(f io.Reader) (Sections, error) { - tree, err := ParseAST(f) - if err != nil { - return Sections{}, err - } - - v := NewDefaultVisitor() - if err = Walk(tree, v); err != nil { - return Sections{}, err - } - - return v.Sections, nil -} - -// ParseBytes will parse the given bytes and return the parsed sections. -func ParseBytes(b []byte) (Sections, error) { - tree, err := ParseASTBytes(b) - if err != nil { - return Sections{}, err - } - - v := NewDefaultVisitor() - if err = Walk(tree, v); err != nil { - return Sections{}, err - } - - return v.Sections, nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_lexer.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_lexer.go deleted file mode 100644 index 582c024..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_lexer.go +++ /dev/null @@ -1,165 +0,0 @@ -package ini - -import ( - "bytes" - "io" - "io/ioutil" - - "github.com/aws/aws-sdk-go/aws/awserr" -) - -const ( - // ErrCodeUnableToReadFile is used when a file is failed to be - // opened or read from. - ErrCodeUnableToReadFile = "FailedRead" -) - -// TokenType represents the various different tokens types -type TokenType int - -func (t TokenType) String() string { - switch t { - case TokenNone: - return "none" - case TokenLit: - return "literal" - case TokenSep: - return "sep" - case TokenOp: - return "op" - case TokenWS: - return "ws" - case TokenNL: - return "newline" - case TokenComment: - return "comment" - case TokenComma: - return "comma" - default: - return "" - } -} - -// TokenType enums -const ( - TokenNone = TokenType(iota) - TokenLit - TokenSep - TokenComma - TokenOp - TokenWS - TokenNL - TokenComment -) - -type iniLexer struct{} - -// Tokenize will return a list of tokens during lexical analysis of the -// io.Reader. -func (l *iniLexer) Tokenize(r io.Reader) ([]Token, error) { - b, err := ioutil.ReadAll(r) - if err != nil { - return nil, awserr.New(ErrCodeUnableToReadFile, "unable to read file", err) - } - - return l.tokenize(b) -} - -func (l *iniLexer) tokenize(b []byte) ([]Token, error) { - runes := bytes.Runes(b) - var err error - n := 0 - tokenAmount := countTokens(runes) - tokens := make([]Token, tokenAmount) - count := 0 - - for len(runes) > 0 && count < tokenAmount { - switch { - case isWhitespace(runes[0]): - tokens[count], n, err = newWSToken(runes) - case isComma(runes[0]): - tokens[count], n = newCommaToken(), 1 - case isComment(runes): - tokens[count], n, err = newCommentToken(runes) - case isNewline(runes): - tokens[count], n, err = newNewlineToken(runes) - case isSep(runes): - tokens[count], n, err = newSepToken(runes) - case isOp(runes): - tokens[count], n, err = newOpToken(runes) - default: - tokens[count], n, err = newLitToken(runes) - } - - if err != nil { - return nil, err - } - - count++ - - runes = runes[n:] - } - - return tokens[:count], nil -} - -func countTokens(runes []rune) int { - count, n := 0, 0 - var err error - - for len(runes) > 0 { - switch { - case isWhitespace(runes[0]): - _, n, err = newWSToken(runes) - case isComma(runes[0]): - _, n = newCommaToken(), 1 - case isComment(runes): - _, n, err = newCommentToken(runes) - case isNewline(runes): - _, n, err = newNewlineToken(runes) - case isSep(runes): - _, n, err = newSepToken(runes) - case isOp(runes): - _, n, err = newOpToken(runes) - default: - _, n, err = newLitToken(runes) - } - - if err != nil { - return 0 - } - - count++ - runes = runes[n:] - } - - return count + 1 -} - -// Token indicates a metadata about a given value. -type Token struct { - t TokenType - ValueType ValueType - base int - raw []rune -} - -var emptyValue = Value{} - -func newToken(t TokenType, raw []rune, v ValueType) Token { - return Token{ - t: t, - raw: raw, - ValueType: v, - } -} - -// Raw return the raw runes that were consumed -func (tok Token) Raw() []rune { - return tok.raw -} - -// Type returns the token type -func (tok Token) Type() TokenType { - return tok.t -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go deleted file mode 100644 index 8be520a..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/ini_parser.go +++ /dev/null @@ -1,347 +0,0 @@ -package ini - -import ( - "fmt" - "io" -) - -// State enums for the parse table -const ( - InvalidState = iota - // stmt -> value stmt' - StatementState - // stmt' -> MarkComplete | op stmt - StatementPrimeState - // value -> number | string | boolean | quoted_string - ValueState - // section -> [ section' - OpenScopeState - // section' -> value section_close - SectionState - // section_close -> ] - CloseScopeState - // SkipState will skip (NL WS)+ - SkipState - // SkipTokenState will skip any token and push the previous - // state onto the stack. - SkipTokenState - // comment -> # comment' | ; comment' - // comment' -> MarkComplete | value - CommentState - // MarkComplete state will complete statements and move that - // to the completed AST list - MarkCompleteState - // TerminalState signifies that the tokens have been fully parsed - TerminalState -) - -// parseTable is a state machine to dictate the grammar above. -var parseTable = map[ASTKind]map[TokenType]int{ - ASTKindStart: map[TokenType]int{ - TokenLit: StatementState, - TokenSep: OpenScopeState, - TokenWS: SkipTokenState, - TokenNL: SkipTokenState, - TokenComment: CommentState, - TokenNone: TerminalState, - }, - ASTKindCommentStatement: map[TokenType]int{ - TokenLit: StatementState, - TokenSep: OpenScopeState, - TokenWS: SkipTokenState, - TokenNL: SkipTokenState, - TokenComment: CommentState, - TokenNone: MarkCompleteState, - }, - ASTKindExpr: map[TokenType]int{ - TokenOp: StatementPrimeState, - TokenLit: ValueState, - TokenSep: OpenScopeState, - TokenWS: ValueState, - TokenNL: SkipState, - TokenComment: CommentState, - TokenNone: MarkCompleteState, - }, - ASTKindEqualExpr: map[TokenType]int{ - TokenLit: ValueState, - TokenWS: SkipTokenState, - TokenNL: SkipState, - }, - ASTKindStatement: map[TokenType]int{ - TokenLit: SectionState, - TokenSep: CloseScopeState, - TokenWS: SkipTokenState, - TokenNL: SkipTokenState, - TokenComment: CommentState, - TokenNone: MarkCompleteState, - }, - ASTKindExprStatement: map[TokenType]int{ - TokenLit: ValueState, - TokenSep: OpenScopeState, - TokenOp: ValueState, - TokenWS: ValueState, - TokenNL: MarkCompleteState, - TokenComment: CommentState, - TokenNone: TerminalState, - TokenComma: SkipState, - }, - ASTKindSectionStatement: map[TokenType]int{ - TokenLit: SectionState, - TokenOp: SectionState, - TokenSep: CloseScopeState, - TokenWS: SectionState, - TokenNL: SkipTokenState, - }, - ASTKindCompletedSectionStatement: map[TokenType]int{ - TokenWS: SkipTokenState, - TokenNL: SkipTokenState, - TokenLit: StatementState, - TokenSep: OpenScopeState, - TokenComment: CommentState, - TokenNone: MarkCompleteState, - }, - ASTKindSkipStatement: map[TokenType]int{ - TokenLit: StatementState, - TokenSep: OpenScopeState, - TokenWS: SkipTokenState, - TokenNL: SkipTokenState, - TokenComment: CommentState, - TokenNone: TerminalState, - }, -} - -// ParseAST will parse input from an io.Reader using -// an LL(1) parser. -func ParseAST(r io.Reader) ([]AST, error) { - lexer := iniLexer{} - tokens, err := lexer.Tokenize(r) - if err != nil { - return []AST{}, err - } - - return parse(tokens) -} - -// ParseASTBytes will parse input from a byte slice using -// an LL(1) parser. -func ParseASTBytes(b []byte) ([]AST, error) { - lexer := iniLexer{} - tokens, err := lexer.tokenize(b) - if err != nil { - return []AST{}, err - } - - return parse(tokens) -} - -func parse(tokens []Token) ([]AST, error) { - start := Start - stack := newParseStack(3, len(tokens)) - - stack.Push(start) - s := newSkipper() - -loop: - for stack.Len() > 0 { - k := stack.Pop() - - var tok Token - if len(tokens) == 0 { - // this occurs when all the tokens have been processed - // but reduction of what's left on the stack needs to - // occur. - tok = emptyToken - } else { - tok = tokens[0] - } - - step := parseTable[k.Kind][tok.Type()] - if s.ShouldSkip(tok) { - // being in a skip state with no tokens will break out of - // the parse loop since there is nothing left to process. - if len(tokens) == 0 { - break loop - } - - step = SkipTokenState - } - - switch step { - case TerminalState: - // Finished parsing. Push what should be the last - // statement to the stack. If there is anything left - // on the stack, an error in parsing has occurred. - if k.Kind != ASTKindStart { - stack.MarkComplete(k) - } - break loop - case SkipTokenState: - // When skipping a token, the previous state was popped off the stack. - // To maintain the correct state, the previous state will be pushed - // onto the stack. - stack.Push(k) - case StatementState: - if k.Kind != ASTKindStart { - stack.MarkComplete(k) - } - expr := newExpression(tok) - stack.Push(expr) - case StatementPrimeState: - if tok.Type() != TokenOp { - stack.MarkComplete(k) - continue - } - - if k.Kind != ASTKindExpr { - return nil, NewParseError( - fmt.Sprintf("invalid expression: expected Expr type, but found %T type", k), - ) - } - - k = trimSpaces(k) - expr := newEqualExpr(k, tok) - stack.Push(expr) - case ValueState: - // ValueState requires the previous state to either be an equal expression - // or an expression statement. - // - // This grammar occurs when the RHS is a number, word, or quoted string. - // equal_expr -> lit op equal_expr' - // equal_expr' -> number | string | quoted_string - // quoted_string -> " quoted_string' - // quoted_string' -> string quoted_string_end - // quoted_string_end -> " - // - // otherwise - // expr_stmt -> equal_expr (expr_stmt')* - // expr_stmt' -> ws S | op S | MarkComplete - // S -> equal_expr' expr_stmt' - switch k.Kind { - case ASTKindEqualExpr: - // assiging a value to some key - k.AppendChild(newExpression(tok)) - stack.Push(newExprStatement(k)) - case ASTKindExpr: - k.Root.raw = append(k.Root.raw, tok.Raw()...) - stack.Push(k) - case ASTKindExprStatement: - root := k.GetRoot() - children := root.GetChildren() - if len(children) == 0 { - return nil, NewParseError( - fmt.Sprintf("invalid expression: AST contains no children %s", k.Kind), - ) - } - - rhs := children[len(children)-1] - - if rhs.Root.ValueType != QuotedStringType { - rhs.Root.ValueType = StringType - rhs.Root.raw = append(rhs.Root.raw, tok.Raw()...) - - } - - children[len(children)-1] = rhs - k.SetChildren(children) - - stack.Push(k) - } - case OpenScopeState: - if !runeCompare(tok.Raw(), openBrace) { - return nil, NewParseError("expected '['") - } - - stmt := newStatement() - stack.Push(stmt) - case CloseScopeState: - if !runeCompare(tok.Raw(), closeBrace) { - return nil, NewParseError("expected ']'") - } - - k = trimSpaces(k) - stack.Push(newCompletedSectionStatement(k)) - case SectionState: - var stmt AST - - switch k.Kind { - case ASTKindStatement: - // If there are multiple literals inside of a scope declaration, - // then the current token's raw value will be appended to the Name. - // - // This handles cases like [ profile default ] - // - // k will represent a SectionStatement with the children representing - // the label of the section - stmt = newSectionStatement(tok) - case ASTKindSectionStatement: - k.Root.raw = append(k.Root.raw, tok.Raw()...) - stmt = k - default: - return nil, NewParseError( - fmt.Sprintf("invalid statement: expected statement: %v", k.Kind), - ) - } - - stack.Push(stmt) - case MarkCompleteState: - if k.Kind != ASTKindStart { - stack.MarkComplete(k) - } - - if stack.Len() == 0 { - stack.Push(start) - } - case SkipState: - stack.Push(newSkipStatement(k)) - s.Skip() - case CommentState: - if k.Kind == ASTKindStart { - stack.Push(k) - } else { - stack.MarkComplete(k) - } - - stmt := newCommentStatement(tok) - stack.Push(stmt) - default: - return nil, NewParseError(fmt.Sprintf("invalid state with ASTKind %v and TokenType %v", k, tok)) - } - - if len(tokens) > 0 { - tokens = tokens[1:] - } - } - - // this occurs when a statement has not been completed - if stack.top > 1 { - return nil, NewParseError(fmt.Sprintf("incomplete expression: %v", stack.container)) - } - - // returns a sublist which exludes the start symbol - return stack.List(), nil -} - -// trimSpaces will trim spaces on the left and right hand side of -// the literal. -func trimSpaces(k AST) AST { - // trim left hand side of spaces - for i := 0; i < len(k.Root.raw); i++ { - if !isWhitespace(k.Root.raw[i]) { - break - } - - k.Root.raw = k.Root.raw[1:] - i-- - } - - // trim right hand side of spaces - for i := len(k.Root.raw) - 1; i >= 0; i-- { - if !isWhitespace(k.Root.raw[i]) { - break - } - - k.Root.raw = k.Root.raw[:len(k.Root.raw)-1] - } - - return k -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.go deleted file mode 100644 index 24df543..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.go +++ /dev/null @@ -1,324 +0,0 @@ -package ini - -import ( - "fmt" - "strconv" - "strings" -) - -var ( - runesTrue = []rune("true") - runesFalse = []rune("false") -) - -var literalValues = [][]rune{ - runesTrue, - runesFalse, -} - -func isBoolValue(b []rune) bool { - for _, lv := range literalValues { - if isLitValue(lv, b) { - return true - } - } - return false -} - -func isLitValue(want, have []rune) bool { - if len(have) < len(want) { - return false - } - - for i := 0; i < len(want); i++ { - if want[i] != have[i] { - return false - } - } - - return true -} - -// isNumberValue will return whether not the leading characters in -// a byte slice is a number. A number is delimited by whitespace or -// the newline token. -// -// A number is defined to be in a binary, octal, decimal (int | float), hex format, -// or in scientific notation. -func isNumberValue(b []rune) bool { - negativeIndex := 0 - helper := numberHelper{} - needDigit := false - - for i := 0; i < len(b); i++ { - negativeIndex++ - - switch b[i] { - case '-': - if helper.IsNegative() || negativeIndex != 1 { - return false - } - helper.Determine(b[i]) - needDigit = true - continue - case 'e', 'E': - if err := helper.Determine(b[i]); err != nil { - return false - } - negativeIndex = 0 - needDigit = true - continue - case 'b': - if helper.numberFormat == hex { - break - } - fallthrough - case 'o', 'x': - needDigit = true - if i == 0 { - return false - } - - fallthrough - case '.': - if err := helper.Determine(b[i]); err != nil { - return false - } - needDigit = true - continue - } - - if i > 0 && (isNewline(b[i:]) || isWhitespace(b[i])) { - return !needDigit - } - - if !helper.CorrectByte(b[i]) { - return false - } - needDigit = false - } - - return !needDigit -} - -func isValid(b []rune) (bool, int, error) { - if len(b) == 0 { - // TODO: should probably return an error - return false, 0, nil - } - - return isValidRune(b[0]), 1, nil -} - -func isValidRune(r rune) bool { - return r != ':' && r != '=' && r != '[' && r != ']' && r != ' ' && r != '\n' -} - -// ValueType is an enum that will signify what type -// the Value is -type ValueType int - -func (v ValueType) String() string { - switch v { - case NoneType: - return "NONE" - case DecimalType: - return "FLOAT" - case IntegerType: - return "INT" - case StringType: - return "STRING" - case BoolType: - return "BOOL" - } - - return "" -} - -// ValueType enums -const ( - NoneType = ValueType(iota) - DecimalType - IntegerType - StringType - QuotedStringType - BoolType -) - -// Value is a union container -type Value struct { - Type ValueType - raw []rune - - integer int64 - decimal float64 - boolean bool - str string -} - -func newValue(t ValueType, base int, raw []rune) (Value, error) { - v := Value{ - Type: t, - raw: raw, - } - var err error - - switch t { - case DecimalType: - v.decimal, err = strconv.ParseFloat(string(raw), 64) - case IntegerType: - if base != 10 { - raw = raw[2:] - } - - v.integer, err = strconv.ParseInt(string(raw), base, 64) - case StringType: - v.str = string(raw) - case QuotedStringType: - v.str = string(raw[1 : len(raw)-1]) - case BoolType: - v.boolean = runeCompare(v.raw, runesTrue) - } - - // issue 2253 - // - // if the value trying to be parsed is too large, then we will use - // the 'StringType' and raw value instead. - if nerr, ok := err.(*strconv.NumError); ok && nerr.Err == strconv.ErrRange { - v.Type = StringType - v.str = string(raw) - err = nil - } - - return v, err -} - -// Append will append values and change the type to a string -// type. -func (v *Value) Append(tok Token) { - r := tok.Raw() - if v.Type != QuotedStringType { - v.Type = StringType - r = tok.raw[1 : len(tok.raw)-1] - } - if tok.Type() != TokenLit { - v.raw = append(v.raw, tok.Raw()...) - } else { - v.raw = append(v.raw, r...) - } -} - -func (v Value) String() string { - switch v.Type { - case DecimalType: - return fmt.Sprintf("decimal: %f", v.decimal) - case IntegerType: - return fmt.Sprintf("integer: %d", v.integer) - case StringType: - return fmt.Sprintf("string: %s", string(v.raw)) - case QuotedStringType: - return fmt.Sprintf("quoted string: %s", string(v.raw)) - case BoolType: - return fmt.Sprintf("bool: %t", v.boolean) - default: - return "union not set" - } -} - -func newLitToken(b []rune) (Token, int, error) { - n := 0 - var err error - - token := Token{} - if b[0] == '"' { - n, err = getStringValue(b) - if err != nil { - return token, n, err - } - - token = newToken(TokenLit, b[:n], QuotedStringType) - } else if isNumberValue(b) { - var base int - base, n, err = getNumericalValue(b) - if err != nil { - return token, 0, err - } - - value := b[:n] - vType := IntegerType - if contains(value, '.') || hasExponent(value) { - vType = DecimalType - } - token = newToken(TokenLit, value, vType) - token.base = base - } else if isBoolValue(b) { - n, err = getBoolValue(b) - - token = newToken(TokenLit, b[:n], BoolType) - } else { - n, err = getValue(b) - token = newToken(TokenLit, b[:n], StringType) - } - - return token, n, err -} - -// IntValue returns an integer value -func (v Value) IntValue() int64 { - return v.integer -} - -// FloatValue returns a float value -func (v Value) FloatValue() float64 { - return v.decimal -} - -// BoolValue returns a bool value -func (v Value) BoolValue() bool { - return v.boolean -} - -func isTrimmable(r rune) bool { - switch r { - case '\n', ' ': - return true - } - return false -} - -// StringValue returns the string value -func (v Value) StringValue() string { - switch v.Type { - case StringType: - return strings.TrimFunc(string(v.raw), isTrimmable) - case QuotedStringType: - // preserve all characters in the quotes - return string(removeEscapedCharacters(v.raw[1 : len(v.raw)-1])) - default: - return strings.TrimFunc(string(v.raw), isTrimmable) - } -} - -func contains(runes []rune, c rune) bool { - for i := 0; i < len(runes); i++ { - if runes[i] == c { - return true - } - } - - return false -} - -func runeCompare(v1 []rune, v2 []rune) bool { - if len(v1) != len(v2) { - return false - } - - for i := 0; i < len(v1); i++ { - if v1[i] != v2[i] { - return false - } - } - - return true -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/newline_token.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/newline_token.go deleted file mode 100644 index e52ac39..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/newline_token.go +++ /dev/null @@ -1,30 +0,0 @@ -package ini - -func isNewline(b []rune) bool { - if len(b) == 0 { - return false - } - - if b[0] == '\n' { - return true - } - - if len(b) < 2 { - return false - } - - return b[0] == '\r' && b[1] == '\n' -} - -func newNewlineToken(b []rune) (Token, int, error) { - i := 1 - if b[0] == '\r' && isNewline(b[1:]) { - i++ - } - - if !isNewline([]rune(b[:i])) { - return emptyToken, 0, NewParseError("invalid new line token") - } - - return newToken(TokenNL, b[:i], NoneType), i, nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/number_helper.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/number_helper.go deleted file mode 100644 index a45c0bc..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/number_helper.go +++ /dev/null @@ -1,152 +0,0 @@ -package ini - -import ( - "bytes" - "fmt" - "strconv" -) - -const ( - none = numberFormat(iota) - binary - octal - decimal - hex - exponent -) - -type numberFormat int - -// numberHelper is used to dictate what format a number is in -// and what to do for negative values. Since -1e-4 is a valid -// number, we cannot just simply check for duplicate negatives. -type numberHelper struct { - numberFormat numberFormat - - negative bool - negativeExponent bool -} - -func (b numberHelper) Exists() bool { - return b.numberFormat != none -} - -func (b numberHelper) IsNegative() bool { - return b.negative || b.negativeExponent -} - -func (b *numberHelper) Determine(c rune) error { - if b.Exists() { - return NewParseError(fmt.Sprintf("multiple number formats: 0%v", string(c))) - } - - switch c { - case 'b': - b.numberFormat = binary - case 'o': - b.numberFormat = octal - case 'x': - b.numberFormat = hex - case 'e', 'E': - b.numberFormat = exponent - case '-': - if b.numberFormat != exponent { - b.negative = true - } else { - b.negativeExponent = true - } - case '.': - b.numberFormat = decimal - default: - return NewParseError(fmt.Sprintf("invalid number character: %v", string(c))) - } - - return nil -} - -func (b numberHelper) CorrectByte(c rune) bool { - switch { - case b.numberFormat == binary: - if !isBinaryByte(c) { - return false - } - case b.numberFormat == octal: - if !isOctalByte(c) { - return false - } - case b.numberFormat == hex: - if !isHexByte(c) { - return false - } - case b.numberFormat == decimal: - if !isDigit(c) { - return false - } - case b.numberFormat == exponent: - if !isDigit(c) { - return false - } - case b.negativeExponent: - if !isDigit(c) { - return false - } - case b.negative: - if !isDigit(c) { - return false - } - default: - if !isDigit(c) { - return false - } - } - - return true -} - -func (b numberHelper) Base() int { - switch b.numberFormat { - case binary: - return 2 - case octal: - return 8 - case hex: - return 16 - default: - return 10 - } -} - -func (b numberHelper) String() string { - buf := bytes.Buffer{} - i := 0 - - switch b.numberFormat { - case binary: - i++ - buf.WriteString(strconv.Itoa(i) + ": binary format\n") - case octal: - i++ - buf.WriteString(strconv.Itoa(i) + ": octal format\n") - case hex: - i++ - buf.WriteString(strconv.Itoa(i) + ": hex format\n") - case exponent: - i++ - buf.WriteString(strconv.Itoa(i) + ": exponent format\n") - default: - i++ - buf.WriteString(strconv.Itoa(i) + ": integer format\n") - } - - if b.negative { - i++ - buf.WriteString(strconv.Itoa(i) + ": negative format\n") - } - - if b.negativeExponent { - i++ - buf.WriteString(strconv.Itoa(i) + ": negative exponent format\n") - } - - return buf.String() -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/op_tokens.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/op_tokens.go deleted file mode 100644 index 8a84c7c..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/op_tokens.go +++ /dev/null @@ -1,39 +0,0 @@ -package ini - -import ( - "fmt" -) - -var ( - equalOp = []rune("=") - equalColonOp = []rune(":") -) - -func isOp(b []rune) bool { - if len(b) == 0 { - return false - } - - switch b[0] { - case '=': - return true - case ':': - return true - default: - return false - } -} - -func newOpToken(b []rune) (Token, int, error) { - tok := Token{} - - switch b[0] { - case '=': - tok = newToken(TokenOp, equalOp, NoneType) - case ':': - tok = newToken(TokenOp, equalColonOp, NoneType) - default: - return tok, 0, NewParseError(fmt.Sprintf("unexpected op type, %v", b[0])) - } - return tok, 1, nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/parse_error.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/parse_error.go deleted file mode 100644 index 4572870..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/parse_error.go +++ /dev/null @@ -1,43 +0,0 @@ -package ini - -import "fmt" - -const ( - // ErrCodeParseError is returned when a parsing error - // has occurred. - ErrCodeParseError = "INIParseError" -) - -// ParseError is an error which is returned during any part of -// the parsing process. -type ParseError struct { - msg string -} - -// NewParseError will return a new ParseError where message -// is the description of the error. -func NewParseError(message string) *ParseError { - return &ParseError{ - msg: message, - } -} - -// Code will return the ErrCodeParseError -func (err *ParseError) Code() string { - return ErrCodeParseError -} - -// Message returns the error's message -func (err *ParseError) Message() string { - return err.msg -} - -// OrigError return nothing since there will never be any -// original error. -func (err *ParseError) OrigError() error { - return nil -} - -func (err *ParseError) Error() string { - return fmt.Sprintf("%s: %s", err.Code(), err.Message()) -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/parse_stack.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/parse_stack.go deleted file mode 100644 index 7f01cf7..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/parse_stack.go +++ /dev/null @@ -1,60 +0,0 @@ -package ini - -import ( - "bytes" - "fmt" -) - -// ParseStack is a stack that contains a container, the stack portion, -// and the list which is the list of ASTs that have been successfully -// parsed. -type ParseStack struct { - top int - container []AST - list []AST - index int -} - -func newParseStack(sizeContainer, sizeList int) ParseStack { - return ParseStack{ - container: make([]AST, sizeContainer), - list: make([]AST, sizeList), - } -} - -// Pop will return and truncate the last container element. -func (s *ParseStack) Pop() AST { - s.top-- - return s.container[s.top] -} - -// Push will add the new AST to the container -func (s *ParseStack) Push(ast AST) { - s.container[s.top] = ast - s.top++ -} - -// MarkComplete will append the AST to the list of completed statements -func (s *ParseStack) MarkComplete(ast AST) { - s.list[s.index] = ast - s.index++ -} - -// List will return the completed statements -func (s ParseStack) List() []AST { - return s.list[:s.index] -} - -// Len will return the length of the container -func (s *ParseStack) Len() int { - return s.top -} - -func (s ParseStack) String() string { - buf := bytes.Buffer{} - for i, node := range s.list { - buf.WriteString(fmt.Sprintf("%d: %v\n", i+1, node)) - } - - return buf.String() -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/sep_tokens.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/sep_tokens.go deleted file mode 100644 index f82095b..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/sep_tokens.go +++ /dev/null @@ -1,41 +0,0 @@ -package ini - -import ( - "fmt" -) - -var ( - emptyRunes = []rune{} -) - -func isSep(b []rune) bool { - if len(b) == 0 { - return false - } - - switch b[0] { - case '[', ']': - return true - default: - return false - } -} - -var ( - openBrace = []rune("[") - closeBrace = []rune("]") -) - -func newSepToken(b []rune) (Token, int, error) { - tok := Token{} - - switch b[0] { - case '[': - tok = newToken(TokenSep, openBrace, NoneType) - case ']': - tok = newToken(TokenSep, closeBrace, NoneType) - default: - return tok, 0, NewParseError(fmt.Sprintf("unexpected sep type, %v", b[0])) - } - return tok, 1, nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.go deleted file mode 100644 index 6bb6964..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.go +++ /dev/null @@ -1,45 +0,0 @@ -package ini - -// skipper is used to skip certain blocks of an ini file. -// Currently skipper is used to skip nested blocks of ini -// files. See example below -// -// [ foo ] -// nested = ; this section will be skipped -// a=b -// c=d -// bar=baz ; this will be included -type skipper struct { - shouldSkip bool - TokenSet bool - prevTok Token -} - -func newSkipper() skipper { - return skipper{ - prevTok: emptyToken, - } -} - -func (s *skipper) ShouldSkip(tok Token) bool { - if s.shouldSkip && - s.prevTok.Type() == TokenNL && - tok.Type() != TokenWS { - - s.Continue() - return false - } - s.prevTok = tok - - return s.shouldSkip -} - -func (s *skipper) Skip() { - s.shouldSkip = true - s.prevTok = emptyToken -} - -func (s *skipper) Continue() { - s.shouldSkip = false - s.prevTok = emptyToken -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go deleted file mode 100644 index ba0af01..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/statement.go +++ /dev/null @@ -1,35 +0,0 @@ -package ini - -// Statement is an empty AST mostly used for transitioning states. -func newStatement() AST { - return newAST(ASTKindStatement, AST{}) -} - -// SectionStatement represents a section AST -func newSectionStatement(tok Token) AST { - return newASTWithRootToken(ASTKindSectionStatement, tok) -} - -// ExprStatement represents a completed expression AST -func newExprStatement(ast AST) AST { - return newAST(ASTKindExprStatement, ast) -} - -// CommentStatement represents a comment in the ini defintion. -// -// grammar: -// comment -> #comment' | ;comment' -// comment' -> epsilon | value -func newCommentStatement(tok Token) AST { - return newAST(ASTKindCommentStatement, newExpression(tok)) -} - -// CompletedSectionStatement represents a completed section -func newCompletedSectionStatement(ast AST) AST { - return newAST(ASTKindCompletedSectionStatement, ast) -} - -// SkipStatement is used to skip whole statements -func newSkipStatement(ast AST) AST { - return newAST(ASTKindSkipStatement, ast) -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/value_util.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/value_util.go deleted file mode 100644 index 305999d..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/value_util.go +++ /dev/null @@ -1,284 +0,0 @@ -package ini - -import ( - "fmt" -) - -// getStringValue will return a quoted string and the amount -// of bytes read -// -// an error will be returned if the string is not properly formatted -func getStringValue(b []rune) (int, error) { - if b[0] != '"' { - return 0, NewParseError("strings must start with '\"'") - } - - endQuote := false - i := 1 - - for ; i < len(b) && !endQuote; i++ { - if escaped := isEscaped(b[:i], b[i]); b[i] == '"' && !escaped { - endQuote = true - break - } else if escaped { - /*c, err := getEscapedByte(b[i]) - if err != nil { - return 0, err - } - - b[i-1] = c - b = append(b[:i], b[i+1:]...) - i--*/ - - continue - } - } - - if !endQuote { - return 0, NewParseError("missing '\"' in string value") - } - - return i + 1, nil -} - -// getBoolValue will return a boolean and the amount -// of bytes read -// -// an error will be returned if the boolean is not of a correct -// value -func getBoolValue(b []rune) (int, error) { - if len(b) < 4 { - return 0, NewParseError("invalid boolean value") - } - - n := 0 - for _, lv := range literalValues { - if len(lv) > len(b) { - continue - } - - if isLitValue(lv, b) { - n = len(lv) - } - } - - if n == 0 { - return 0, NewParseError("invalid boolean value") - } - - return n, nil -} - -// getNumericalValue will return a numerical string, the amount -// of bytes read, and the base of the number -// -// an error will be returned if the number is not of a correct -// value -func getNumericalValue(b []rune) (int, int, error) { - if !isDigit(b[0]) { - return 0, 0, NewParseError("invalid digit value") - } - - i := 0 - helper := numberHelper{} - -loop: - for negativeIndex := 0; i < len(b); i++ { - negativeIndex++ - - if !isDigit(b[i]) { - switch b[i] { - case '-': - if helper.IsNegative() || negativeIndex != 1 { - return 0, 0, NewParseError("parse error '-'") - } - - n := getNegativeNumber(b[i:]) - i += (n - 1) - helper.Determine(b[i]) - continue - case '.': - if err := helper.Determine(b[i]); err != nil { - return 0, 0, err - } - case 'e', 'E': - if err := helper.Determine(b[i]); err != nil { - return 0, 0, err - } - - negativeIndex = 0 - case 'b': - if helper.numberFormat == hex { - break - } - fallthrough - case 'o', 'x': - if i == 0 && b[i] != '0' { - return 0, 0, NewParseError("incorrect base format, expected leading '0'") - } - - if i != 1 { - return 0, 0, NewParseError(fmt.Sprintf("incorrect base format found %s at %d index", string(b[i]), i)) - } - - if err := helper.Determine(b[i]); err != nil { - return 0, 0, err - } - default: - if isWhitespace(b[i]) { - break loop - } - - if isNewline(b[i:]) { - break loop - } - - if !(helper.numberFormat == hex && isHexByte(b[i])) { - if i+2 < len(b) && !isNewline(b[i:i+2]) { - return 0, 0, NewParseError("invalid numerical character") - } else if !isNewline([]rune{b[i]}) { - return 0, 0, NewParseError("invalid numerical character") - } - - break loop - } - } - } - } - - return helper.Base(), i, nil -} - -// isDigit will return whether or not something is an integer -func isDigit(b rune) bool { - return b >= '0' && b <= '9' -} - -func hasExponent(v []rune) bool { - return contains(v, 'e') || contains(v, 'E') -} - -func isBinaryByte(b rune) bool { - switch b { - case '0', '1': - return true - default: - return false - } -} - -func isOctalByte(b rune) bool { - switch b { - case '0', '1', '2', '3', '4', '5', '6', '7': - return true - default: - return false - } -} - -func isHexByte(b rune) bool { - if isDigit(b) { - return true - } - return (b >= 'A' && b <= 'F') || - (b >= 'a' && b <= 'f') -} - -func getValue(b []rune) (int, error) { - i := 0 - - for i < len(b) { - if isNewline(b[i:]) { - break - } - - if isOp(b[i:]) { - break - } - - valid, n, err := isValid(b[i:]) - if err != nil { - return 0, err - } - - if !valid { - break - } - - i += n - } - - return i, nil -} - -// getNegativeNumber will return a negative number from a -// byte slice. This will iterate through all characters until -// a non-digit has been found. -func getNegativeNumber(b []rune) int { - if b[0] != '-' { - return 0 - } - - i := 1 - for ; i < len(b); i++ { - if !isDigit(b[i]) { - return i - } - } - - return i -} - -// isEscaped will return whether or not the character is an escaped -// character. -func isEscaped(value []rune, b rune) bool { - if len(value) == 0 { - return false - } - - switch b { - case '\'': // single quote - case '"': // quote - case 'n': // newline - case 't': // tab - case '\\': // backslash - default: - return false - } - - return value[len(value)-1] == '\\' -} - -func getEscapedByte(b rune) (rune, error) { - switch b { - case '\'': // single quote - return '\'', nil - case '"': // quote - return '"', nil - case 'n': // newline - return '\n', nil - case 't': // table - return '\t', nil - case '\\': // backslash - return '\\', nil - default: - return b, NewParseError(fmt.Sprintf("invalid escaped character %c", b)) - } -} - -func removeEscapedCharacters(b []rune) []rune { - for i := 0; i < len(b); i++ { - if isEscaped(b[:i], b[i]) { - c, err := getEscapedByte(b[i]) - if err != nil { - return b - } - - b[i-1] = c - b = append(b[:i], b[i+1:]...) - i-- - } - } - - return b -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/visitor.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/visitor.go deleted file mode 100644 index 94841c3..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/visitor.go +++ /dev/null @@ -1,166 +0,0 @@ -package ini - -import ( - "fmt" - "sort" -) - -// Visitor is an interface used by walkers that will -// traverse an array of ASTs. -type Visitor interface { - VisitExpr(AST) error - VisitStatement(AST) error -} - -// DefaultVisitor is used to visit statements and expressions -// and ensure that they are both of the correct format. -// In addition, upon visiting this will build sections and populate -// the Sections field which can be used to retrieve profile -// configuration. -type DefaultVisitor struct { - scope string - Sections Sections -} - -// NewDefaultVisitor return a DefaultVisitor -func NewDefaultVisitor() *DefaultVisitor { - return &DefaultVisitor{ - Sections: Sections{ - container: map[string]Section{}, - }, - } -} - -// VisitExpr visits expressions... -func (v *DefaultVisitor) VisitExpr(expr AST) error { - t := v.Sections.container[v.scope] - if t.values == nil { - t.values = values{} - } - - switch expr.Kind { - case ASTKindExprStatement: - opExpr := expr.GetRoot() - switch opExpr.Kind { - case ASTKindEqualExpr: - children := opExpr.GetChildren() - if len(children) <= 1 { - return NewParseError("unexpected token type") - } - - rhs := children[1] - - if rhs.Root.Type() != TokenLit { - return NewParseError("unexpected token type") - } - - key := EqualExprKey(opExpr) - v, err := newValue(rhs.Root.ValueType, rhs.Root.base, rhs.Root.Raw()) - if err != nil { - return err - } - - t.values[key] = v - default: - return NewParseError(fmt.Sprintf("unsupported expression %v", expr)) - } - default: - return NewParseError(fmt.Sprintf("unsupported expression %v", expr)) - } - - v.Sections.container[v.scope] = t - return nil -} - -// VisitStatement visits statements... -func (v *DefaultVisitor) VisitStatement(stmt AST) error { - switch stmt.Kind { - case ASTKindCompletedSectionStatement: - child := stmt.GetRoot() - if child.Kind != ASTKindSectionStatement { - return NewParseError(fmt.Sprintf("unsupported child statement: %T", child)) - } - - name := string(child.Root.Raw()) - v.Sections.container[name] = Section{} - v.scope = name - default: - return NewParseError(fmt.Sprintf("unsupported statement: %s", stmt.Kind)) - } - - return nil -} - -// Sections is a map of Section structures that represent -// a configuration. -type Sections struct { - container map[string]Section -} - -// GetSection will return section p. If section p does not exist, -// false will be returned in the second parameter. -func (t Sections) GetSection(p string) (Section, bool) { - v, ok := t.container[p] - return v, ok -} - -// values represents a map of union values. -type values map[string]Value - -// List will return a list of all sections that were successfully -// parsed. -func (t Sections) List() []string { - keys := make([]string, len(t.container)) - i := 0 - for k := range t.container { - keys[i] = k - i++ - } - - sort.Strings(keys) - return keys -} - -// Section contains a name and values. This represent -// a sectioned entry in a configuration file. -type Section struct { - Name string - values values -} - -// Has will return whether or not an entry exists in a given section -func (t Section) Has(k string) bool { - _, ok := t.values[k] - return ok -} - -// ValueType will returned what type the union is set to. If -// k was not found, the NoneType will be returned. -func (t Section) ValueType(k string) (ValueType, bool) { - v, ok := t.values[k] - return v.Type, ok -} - -// Bool returns a bool value at k -func (t Section) Bool(k string) bool { - return t.values[k].BoolValue() -} - -// Int returns an integer value at k -func (t Section) Int(k string) int64 { - return t.values[k].IntValue() -} - -// Float64 returns a float value at k -func (t Section) Float64(k string) float64 { - return t.values[k].FloatValue() -} - -// String returns the string value at k -func (t Section) String(k string) string { - _, ok := t.values[k] - if !ok { - return "" - } - return t.values[k].StringValue() -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/walker.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/walker.go deleted file mode 100644 index 99915f7..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/walker.go +++ /dev/null @@ -1,25 +0,0 @@ -package ini - -// Walk will traverse the AST using the v, the Visitor. -func Walk(tree []AST, v Visitor) error { - for _, node := range tree { - switch node.Kind { - case ASTKindExpr, - ASTKindExprStatement: - - if err := v.VisitExpr(node); err != nil { - return err - } - case ASTKindStatement, - ASTKindCompletedSectionStatement, - ASTKindNestedSectionStatement, - ASTKindCompletedNestedSectionStatement: - - if err := v.VisitStatement(node); err != nil { - return err - } - } - } - - return nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/ws_token.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/ws_token.go deleted file mode 100644 index 7ffb4ae..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/ini/ws_token.go +++ /dev/null @@ -1,24 +0,0 @@ -package ini - -import ( - "unicode" -) - -// isWhitespace will return whether or not the character is -// a whitespace character. -// -// Whitespace is defined as a space or tab. -func isWhitespace(c rune) bool { - return unicode.IsSpace(c) && c != '\n' && c != '\r' -} - -func newWSToken(b []rune) (Token, int, error) { - i := 0 - for ; i < len(b); i++ { - if !isWhitespace(b[i]) { - break - } - } - - return newToken(TokenWS, b[:i], NoneType), i, nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.go b/vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.go deleted file mode 100644 index 5aa9137..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.6.go +++ /dev/null @@ -1,10 +0,0 @@ -// +build !go1.7 - -package sdkio - -// Copy of Go 1.7 io package's Seeker constants. -const ( - SeekStart = 0 // seek relative to the origin of the file - SeekCurrent = 1 // seek relative to the current offset - SeekEnd = 2 // seek relative to the end -) diff --git a/vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.go b/vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.go deleted file mode 100644 index e5f0056..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/sdkio/io_go1.7.go +++ /dev/null @@ -1,12 +0,0 @@ -// +build go1.7 - -package sdkio - -import "io" - -// Alias for Go 1.7 io package Seeker constants -const ( - SeekStart = io.SeekStart // seek relative to the origin of the file - SeekCurrent = io.SeekCurrent // seek relative to the current offset - SeekEnd = io.SeekEnd // seek relative to the end -) diff --git a/vendor/github.com/aws/aws-sdk-go/internal/sdkrand/locked_source.go b/vendor/github.com/aws/aws-sdk-go/internal/sdkrand/locked_source.go deleted file mode 100644 index 0c9802d..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/sdkrand/locked_source.go +++ /dev/null @@ -1,29 +0,0 @@ -package sdkrand - -import ( - "math/rand" - "sync" - "time" -) - -// lockedSource is a thread-safe implementation of rand.Source -type lockedSource struct { - lk sync.Mutex - src rand.Source -} - -func (r *lockedSource) Int63() (n int64) { - r.lk.Lock() - n = r.src.Int63() - r.lk.Unlock() - return -} - -func (r *lockedSource) Seed(seed int64) { - r.lk.Lock() - r.src.Seed(seed) - r.lk.Unlock() -} - -// SeededRand is a new RNG using a thread safe implementation of rand.Source -var SeededRand = rand.New(&lockedSource{src: rand.NewSource(time.Now().UnixNano())}) diff --git a/vendor/github.com/aws/aws-sdk-go/internal/sdkuri/path.go b/vendor/github.com/aws/aws-sdk-go/internal/sdkuri/path.go deleted file mode 100644 index 38ea61a..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/sdkuri/path.go +++ /dev/null @@ -1,23 +0,0 @@ -package sdkuri - -import ( - "path" - "strings" -) - -// PathJoin will join the elements of the path delimited by the "/" -// character. Similar to path.Join with the exception the trailing "/" -// character is preserved if present. -func PathJoin(elems ...string) string { - if len(elems) == 0 { - return "" - } - - hasTrailing := strings.HasSuffix(elems[len(elems)-1], "/") - str := path.Join(elems...) - if hasTrailing && str != "/" { - str += "/" - } - - return str -} diff --git a/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go b/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go deleted file mode 100644 index b63e4c2..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/ecs_container.go +++ /dev/null @@ -1,12 +0,0 @@ -package shareddefaults - -const ( - // ECSCredsProviderEnvVar is an environmental variable key used to - // determine which path needs to be hit. - ECSCredsProviderEnvVar = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" -) - -// ECSContainerCredentialsURI is the endpoint to retrieve container -// credentials. This can be overriden to test to ensure the credential process -// is behaving correctly. -var ECSContainerCredentialsURI = "http://169.254.170.2" diff --git a/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.go b/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.go deleted file mode 100644 index ebcbc2b..0000000 --- a/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.go +++ /dev/null @@ -1,40 +0,0 @@ -package shareddefaults - -import ( - "os" - "path/filepath" - "runtime" -) - -// SharedCredentialsFilename returns the SDK's default file path -// for the shared credentials file. -// -// Builds the shared config file path based on the OS's platform. -// -// - Linux/Unix: $HOME/.aws/credentials -// - Windows: %USERPROFILE%\.aws\credentials -func SharedCredentialsFilename() string { - return filepath.Join(UserHomeDir(), ".aws", "credentials") -} - -// SharedConfigFilename returns the SDK's default file path for -// the shared config file. -// -// Builds the shared config file path based on the OS's platform. -// -// - Linux/Unix: $HOME/.aws/config -// - Windows: %USERPROFILE%\.aws\config -func SharedConfigFilename() string { - return filepath.Join(UserHomeDir(), ".aws", "config") -} - -// UserHomeDir returns the home directory for the user the process is -// running under. -func UserHomeDir() string { - if runtime.GOOS == "windows" { // Windows - return os.Getenv("USERPROFILE") - } - - // *nix - return os.Getenv("HOME") -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/host.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/host.go deleted file mode 100644 index d7d42db..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/host.go +++ /dev/null @@ -1,68 +0,0 @@ -package protocol - -import ( - "strings" - - "github.com/aws/aws-sdk-go/aws/request" -) - -// ValidateEndpointHostHandler is a request handler that will validate the -// request endpoint's hosts is a valid RFC 3986 host. -var ValidateEndpointHostHandler = request.NamedHandler{ - Name: "awssdk.protocol.ValidateEndpointHostHandler", - Fn: func(r *request.Request) { - err := ValidateEndpointHost(r.Operation.Name, r.HTTPRequest.URL.Host) - if err != nil { - r.Error = err - } - }, -} - -// ValidateEndpointHost validates that the host string passed in is a valid RFC -// 3986 host. Returns error if the host is not valid. -func ValidateEndpointHost(opName, host string) error { - paramErrs := request.ErrInvalidParams{Context: opName} - labels := strings.Split(host, ".") - - for i, label := range labels { - if i == len(labels)-1 && len(label) == 0 { - // Allow trailing dot for FQDN hosts. - continue - } - - if !ValidHostLabel(label) { - paramErrs.Add(request.NewErrParamFormat( - "endpoint host label", "[a-zA-Z0-9-]{1,63}", label)) - } - } - - if len(host) > 255 { - paramErrs.Add(request.NewErrParamMaxLen( - "endpoint host", 255, host, - )) - } - - if paramErrs.Len() > 0 { - return paramErrs - } - return nil -} - -// ValidHostLabel returns if the label is a valid RFC 3986 host label. -func ValidHostLabel(label string) bool { - if l := len(label); l == 0 || l > 63 { - return false - } - for _, r := range label { - switch { - case r >= '0' && r <= '9': - case r >= 'A' && r <= 'Z': - case r >= 'a' && r <= 'z': - case r == '-': - default: - return false - } - } - - return true -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/host_prefix.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/host_prefix.go deleted file mode 100644 index 915b0fc..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/host_prefix.go +++ /dev/null @@ -1,54 +0,0 @@ -package protocol - -import ( - "strings" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/request" -) - -// HostPrefixHandlerName is the handler name for the host prefix request -// handler. -const HostPrefixHandlerName = "awssdk.endpoint.HostPrefixHandler" - -// NewHostPrefixHandler constructs a build handler -func NewHostPrefixHandler(prefix string, labelsFn func() map[string]string) request.NamedHandler { - builder := HostPrefixBuilder{ - Prefix: prefix, - LabelsFn: labelsFn, - } - - return request.NamedHandler{ - Name: HostPrefixHandlerName, - Fn: builder.Build, - } -} - -// HostPrefixBuilder provides the request handler to expand and prepend -// the host prefix into the operation's request endpoint host. -type HostPrefixBuilder struct { - Prefix string - LabelsFn func() map[string]string -} - -// Build updates the passed in Request with the HostPrefix template expanded. -func (h HostPrefixBuilder) Build(r *request.Request) { - if aws.BoolValue(r.Config.DisableEndpointHostPrefix) { - return - } - - var labels map[string]string - if h.LabelsFn != nil { - labels = h.LabelsFn() - } - - prefix := h.Prefix - for name, value := range labels { - prefix = strings.Replace(prefix, "{"+name+"}", value, -1) - } - - r.HTTPRequest.URL.Host = prefix + r.HTTPRequest.URL.Host - if len(r.HTTPRequest.Host) > 0 { - r.HTTPRequest.Host = prefix + r.HTTPRequest.Host - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/idempotency.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/idempotency.go deleted file mode 100644 index 53831df..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/idempotency.go +++ /dev/null @@ -1,75 +0,0 @@ -package protocol - -import ( - "crypto/rand" - "fmt" - "reflect" -) - -// RandReader is the random reader the protocol package will use to read -// random bytes from. This is exported for testing, and should not be used. -var RandReader = rand.Reader - -const idempotencyTokenFillTag = `idempotencyToken` - -// CanSetIdempotencyToken returns true if the struct field should be -// automatically populated with a Idempotency token. -// -// Only *string and string type fields that are tagged with idempotencyToken -// which are not already set can be auto filled. -func CanSetIdempotencyToken(v reflect.Value, f reflect.StructField) bool { - switch u := v.Interface().(type) { - // To auto fill an Idempotency token the field must be a string, - // tagged for auto fill, and have a zero value. - case *string: - return u == nil && len(f.Tag.Get(idempotencyTokenFillTag)) != 0 - case string: - return len(u) == 0 && len(f.Tag.Get(idempotencyTokenFillTag)) != 0 - } - - return false -} - -// GetIdempotencyToken returns a randomly generated idempotency token. -func GetIdempotencyToken() string { - b := make([]byte, 16) - RandReader.Read(b) - - return UUIDVersion4(b) -} - -// SetIdempotencyToken will set the value provided with a Idempotency Token. -// Given that the value can be set. Will panic if value is not setable. -func SetIdempotencyToken(v reflect.Value) { - if v.Kind() == reflect.Ptr { - if v.IsNil() && v.CanSet() { - v.Set(reflect.New(v.Type().Elem())) - } - v = v.Elem() - } - v = reflect.Indirect(v) - - if !v.CanSet() { - panic(fmt.Sprintf("unable to set idempotnecy token %v", v)) - } - - b := make([]byte, 16) - _, err := rand.Read(b) - if err != nil { - // TODO handle error - return - } - - v.Set(reflect.ValueOf(UUIDVersion4(b))) -} - -// UUIDVersion4 returns a Version 4 random UUID from the byte slice provided -func UUIDVersion4(u []byte) string { - // https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_.28random.29 - // 13th character is "4" - u[6] = (u[6] | 0x40) & 0x4F - // 17th character is "8", "9", "a", or "b" - u[8] = (u[8] | 0x80) & 0xBF - - return fmt.Sprintf(`%X-%X-%X-%X-%X`, u[0:4], u[4:6], u[6:8], u[8:10], u[10:]) -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.go deleted file mode 100644 index 864fb67..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.go +++ /dev/null @@ -1,296 +0,0 @@ -// Package jsonutil provides JSON serialization of AWS requests and responses. -package jsonutil - -import ( - "bytes" - "encoding/base64" - "encoding/json" - "fmt" - "math" - "reflect" - "sort" - "strconv" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/private/protocol" -) - -var timeType = reflect.ValueOf(time.Time{}).Type() -var byteSliceType = reflect.ValueOf([]byte{}).Type() - -// BuildJSON builds a JSON string for a given object v. -func BuildJSON(v interface{}) ([]byte, error) { - var buf bytes.Buffer - - err := buildAny(reflect.ValueOf(v), &buf, "") - return buf.Bytes(), err -} - -func buildAny(value reflect.Value, buf *bytes.Buffer, tag reflect.StructTag) error { - origVal := value - value = reflect.Indirect(value) - if !value.IsValid() { - return nil - } - - vtype := value.Type() - - t := tag.Get("type") - if t == "" { - switch vtype.Kind() { - case reflect.Struct: - // also it can't be a time object - if value.Type() != timeType { - t = "structure" - } - case reflect.Slice: - // also it can't be a byte slice - if _, ok := value.Interface().([]byte); !ok { - t = "list" - } - case reflect.Map: - // cannot be a JSONValue map - if _, ok := value.Interface().(aws.JSONValue); !ok { - t = "map" - } - } - } - - switch t { - case "structure": - if field, ok := vtype.FieldByName("_"); ok { - tag = field.Tag - } - return buildStruct(value, buf, tag) - case "list": - return buildList(value, buf, tag) - case "map": - return buildMap(value, buf, tag) - default: - return buildScalar(origVal, buf, tag) - } -} - -func buildStruct(value reflect.Value, buf *bytes.Buffer, tag reflect.StructTag) error { - if !value.IsValid() { - return nil - } - - // unwrap payloads - if payload := tag.Get("payload"); payload != "" { - field, _ := value.Type().FieldByName(payload) - tag = field.Tag - value = elemOf(value.FieldByName(payload)) - - if !value.IsValid() { - return nil - } - } - - buf.WriteByte('{') - - t := value.Type() - first := true - for i := 0; i < t.NumField(); i++ { - member := value.Field(i) - - // This allocates the most memory. - // Additionally, we cannot skip nil fields due to - // idempotency auto filling. - field := t.Field(i) - - if field.PkgPath != "" { - continue // ignore unexported fields - } - if field.Tag.Get("json") == "-" { - continue - } - if field.Tag.Get("location") != "" { - continue // ignore non-body elements - } - if field.Tag.Get("ignore") != "" { - continue - } - - if protocol.CanSetIdempotencyToken(member, field) { - token := protocol.GetIdempotencyToken() - member = reflect.ValueOf(&token) - } - - if (member.Kind() == reflect.Ptr || member.Kind() == reflect.Slice || member.Kind() == reflect.Map) && member.IsNil() { - continue // ignore unset fields - } - - if first { - first = false - } else { - buf.WriteByte(',') - } - - // figure out what this field is called - name := field.Name - if locName := field.Tag.Get("locationName"); locName != "" { - name = locName - } - - writeString(name, buf) - buf.WriteString(`:`) - - err := buildAny(member, buf, field.Tag) - if err != nil { - return err - } - - } - - buf.WriteString("}") - - return nil -} - -func buildList(value reflect.Value, buf *bytes.Buffer, tag reflect.StructTag) error { - buf.WriteString("[") - - for i := 0; i < value.Len(); i++ { - buildAny(value.Index(i), buf, "") - - if i < value.Len()-1 { - buf.WriteString(",") - } - } - - buf.WriteString("]") - - return nil -} - -type sortedValues []reflect.Value - -func (sv sortedValues) Len() int { return len(sv) } -func (sv sortedValues) Swap(i, j int) { sv[i], sv[j] = sv[j], sv[i] } -func (sv sortedValues) Less(i, j int) bool { return sv[i].String() < sv[j].String() } - -func buildMap(value reflect.Value, buf *bytes.Buffer, tag reflect.StructTag) error { - buf.WriteString("{") - - sv := sortedValues(value.MapKeys()) - sort.Sort(sv) - - for i, k := range sv { - if i > 0 { - buf.WriteByte(',') - } - - writeString(k.String(), buf) - buf.WriteString(`:`) - - buildAny(value.MapIndex(k), buf, "") - } - - buf.WriteString("}") - - return nil -} - -func buildScalar(v reflect.Value, buf *bytes.Buffer, tag reflect.StructTag) error { - // prevents allocation on the heap. - scratch := [64]byte{} - switch value := reflect.Indirect(v); value.Kind() { - case reflect.String: - writeString(value.String(), buf) - case reflect.Bool: - if value.Bool() { - buf.WriteString("true") - } else { - buf.WriteString("false") - } - case reflect.Int64: - buf.Write(strconv.AppendInt(scratch[:0], value.Int(), 10)) - case reflect.Float64: - f := value.Float() - if math.IsInf(f, 0) || math.IsNaN(f) { - return &json.UnsupportedValueError{Value: v, Str: strconv.FormatFloat(f, 'f', -1, 64)} - } - buf.Write(strconv.AppendFloat(scratch[:0], f, 'f', -1, 64)) - default: - switch converted := value.Interface().(type) { - case time.Time: - format := tag.Get("timestampFormat") - if len(format) == 0 { - format = protocol.UnixTimeFormatName - } - - ts := protocol.FormatTime(format, converted) - if format != protocol.UnixTimeFormatName { - ts = `"` + ts + `"` - } - - buf.WriteString(ts) - case []byte: - if !value.IsNil() { - buf.WriteByte('"') - if len(converted) < 1024 { - // for small buffers, using Encode directly is much faster. - dst := make([]byte, base64.StdEncoding.EncodedLen(len(converted))) - base64.StdEncoding.Encode(dst, converted) - buf.Write(dst) - } else { - // for large buffers, avoid unnecessary extra temporary - // buffer space. - enc := base64.NewEncoder(base64.StdEncoding, buf) - enc.Write(converted) - enc.Close() - } - buf.WriteByte('"') - } - case aws.JSONValue: - str, err := protocol.EncodeJSONValue(converted, protocol.QuotedEscape) - if err != nil { - return fmt.Errorf("unable to encode JSONValue, %v", err) - } - buf.WriteString(str) - default: - return fmt.Errorf("unsupported JSON value %v (%s)", value.Interface(), value.Type()) - } - } - return nil -} - -var hex = "0123456789abcdef" - -func writeString(s string, buf *bytes.Buffer) { - buf.WriteByte('"') - for i := 0; i < len(s); i++ { - if s[i] == '"' { - buf.WriteString(`\"`) - } else if s[i] == '\\' { - buf.WriteString(`\\`) - } else if s[i] == '\b' { - buf.WriteString(`\b`) - } else if s[i] == '\f' { - buf.WriteString(`\f`) - } else if s[i] == '\r' { - buf.WriteString(`\r`) - } else if s[i] == '\t' { - buf.WriteString(`\t`) - } else if s[i] == '\n' { - buf.WriteString(`\n`) - } else if s[i] < 32 { - buf.WriteString("\\u00") - buf.WriteByte(hex[s[i]>>4]) - buf.WriteByte(hex[s[i]&0xF]) - } else { - buf.WriteByte(s[i]) - } - } - buf.WriteByte('"') -} - -// Returns the reflection element of a value, if it is a pointer. -func elemOf(value reflect.Value) reflect.Value { - for value.Kind() == reflect.Ptr { - value = value.Elem() - } - return value -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.go deleted file mode 100644 index b11f3ee..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.go +++ /dev/null @@ -1,228 +0,0 @@ -package jsonutil - -import ( - "encoding/base64" - "encoding/json" - "fmt" - "io" - "reflect" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/private/protocol" -) - -// UnmarshalJSON reads a stream and unmarshals the results in object v. -func UnmarshalJSON(v interface{}, stream io.Reader) error { - var out interface{} - - err := json.NewDecoder(stream).Decode(&out) - if err == io.EOF { - return nil - } else if err != nil { - return err - } - - return unmarshalAny(reflect.ValueOf(v), out, "") -} - -func unmarshalAny(value reflect.Value, data interface{}, tag reflect.StructTag) error { - vtype := value.Type() - if vtype.Kind() == reflect.Ptr { - vtype = vtype.Elem() // check kind of actual element type - } - - t := tag.Get("type") - if t == "" { - switch vtype.Kind() { - case reflect.Struct: - // also it can't be a time object - if _, ok := value.Interface().(*time.Time); !ok { - t = "structure" - } - case reflect.Slice: - // also it can't be a byte slice - if _, ok := value.Interface().([]byte); !ok { - t = "list" - } - case reflect.Map: - // cannot be a JSONValue map - if _, ok := value.Interface().(aws.JSONValue); !ok { - t = "map" - } - } - } - - switch t { - case "structure": - if field, ok := vtype.FieldByName("_"); ok { - tag = field.Tag - } - return unmarshalStruct(value, data, tag) - case "list": - return unmarshalList(value, data, tag) - case "map": - return unmarshalMap(value, data, tag) - default: - return unmarshalScalar(value, data, tag) - } -} - -func unmarshalStruct(value reflect.Value, data interface{}, tag reflect.StructTag) error { - if data == nil { - return nil - } - mapData, ok := data.(map[string]interface{}) - if !ok { - return fmt.Errorf("JSON value is not a structure (%#v)", data) - } - - t := value.Type() - if value.Kind() == reflect.Ptr { - if value.IsNil() { // create the structure if it's nil - s := reflect.New(value.Type().Elem()) - value.Set(s) - value = s - } - - value = value.Elem() - t = t.Elem() - } - - // unwrap any payloads - if payload := tag.Get("payload"); payload != "" { - field, _ := t.FieldByName(payload) - return unmarshalAny(value.FieldByName(payload), data, field.Tag) - } - - for i := 0; i < t.NumField(); i++ { - field := t.Field(i) - if field.PkgPath != "" { - continue // ignore unexported fields - } - - // figure out what this field is called - name := field.Name - if locName := field.Tag.Get("locationName"); locName != "" { - name = locName - } - - member := value.FieldByIndex(field.Index) - err := unmarshalAny(member, mapData[name], field.Tag) - if err != nil { - return err - } - } - return nil -} - -func unmarshalList(value reflect.Value, data interface{}, tag reflect.StructTag) error { - if data == nil { - return nil - } - listData, ok := data.([]interface{}) - if !ok { - return fmt.Errorf("JSON value is not a list (%#v)", data) - } - - if value.IsNil() { - l := len(listData) - value.Set(reflect.MakeSlice(value.Type(), l, l)) - } - - for i, c := range listData { - err := unmarshalAny(value.Index(i), c, "") - if err != nil { - return err - } - } - - return nil -} - -func unmarshalMap(value reflect.Value, data interface{}, tag reflect.StructTag) error { - if data == nil { - return nil - } - mapData, ok := data.(map[string]interface{}) - if !ok { - return fmt.Errorf("JSON value is not a map (%#v)", data) - } - - if value.IsNil() { - value.Set(reflect.MakeMap(value.Type())) - } - - for k, v := range mapData { - kvalue := reflect.ValueOf(k) - vvalue := reflect.New(value.Type().Elem()).Elem() - - unmarshalAny(vvalue, v, "") - value.SetMapIndex(kvalue, vvalue) - } - - return nil -} - -func unmarshalScalar(value reflect.Value, data interface{}, tag reflect.StructTag) error { - - switch d := data.(type) { - case nil: - return nil // nothing to do here - case string: - switch value.Interface().(type) { - case *string: - value.Set(reflect.ValueOf(&d)) - case []byte: - b, err := base64.StdEncoding.DecodeString(d) - if err != nil { - return err - } - value.Set(reflect.ValueOf(b)) - case *time.Time: - format := tag.Get("timestampFormat") - if len(format) == 0 { - format = protocol.ISO8601TimeFormatName - } - - t, err := protocol.ParseTime(format, d) - if err != nil { - return err - } - value.Set(reflect.ValueOf(&t)) - case aws.JSONValue: - // No need to use escaping as the value is a non-quoted string. - v, err := protocol.DecodeJSONValue(d, protocol.NoEscape) - if err != nil { - return err - } - value.Set(reflect.ValueOf(v)) - default: - return fmt.Errorf("unsupported value: %v (%s)", value.Interface(), value.Type()) - } - case float64: - switch value.Interface().(type) { - case *int64: - di := int64(d) - value.Set(reflect.ValueOf(&di)) - case *float64: - value.Set(reflect.ValueOf(&d)) - case *time.Time: - // Time unmarshaled from a float64 can only be epoch seconds - t := time.Unix(int64(d), 0).UTC() - value.Set(reflect.ValueOf(&t)) - default: - return fmt.Errorf("unsupported value: %v (%s)", value.Interface(), value.Type()) - } - case bool: - switch value.Interface().(type) { - case *bool: - value.Set(reflect.ValueOf(&d)) - default: - return fmt.Errorf("unsupported value: %v (%s)", value.Interface(), value.Type()) - } - default: - return fmt.Errorf("unsupported JSON value (%v)", data) - } - return nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go deleted file mode 100644 index 9a7ba27..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go +++ /dev/null @@ -1,115 +0,0 @@ -// Package jsonrpc provides JSON RPC utilities for serialization of AWS -// requests and responses. -package jsonrpc - -//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/json.json build_test.go -//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/json.json unmarshal_test.go - -import ( - "encoding/json" - "io" - "strings" - - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil" - "github.com/aws/aws-sdk-go/private/protocol/rest" -) - -var emptyJSON = []byte("{}") - -// BuildHandler is a named request handler for building jsonrpc protocol requests -var BuildHandler = request.NamedHandler{Name: "awssdk.jsonrpc.Build", Fn: Build} - -// UnmarshalHandler is a named request handler for unmarshaling jsonrpc protocol requests -var UnmarshalHandler = request.NamedHandler{Name: "awssdk.jsonrpc.Unmarshal", Fn: Unmarshal} - -// UnmarshalMetaHandler is a named request handler for unmarshaling jsonrpc protocol request metadata -var UnmarshalMetaHandler = request.NamedHandler{Name: "awssdk.jsonrpc.UnmarshalMeta", Fn: UnmarshalMeta} - -// UnmarshalErrorHandler is a named request handler for unmarshaling jsonrpc protocol request errors -var UnmarshalErrorHandler = request.NamedHandler{Name: "awssdk.jsonrpc.UnmarshalError", Fn: UnmarshalError} - -// Build builds a JSON payload for a JSON RPC request. -func Build(req *request.Request) { - var buf []byte - var err error - if req.ParamsFilled() { - buf, err = jsonutil.BuildJSON(req.Params) - if err != nil { - req.Error = awserr.New("SerializationError", "failed encoding JSON RPC request", err) - return - } - } else { - buf = emptyJSON - } - - if req.ClientInfo.TargetPrefix != "" || string(buf) != "{}" { - req.SetBufferBody(buf) - } - - if req.ClientInfo.TargetPrefix != "" { - target := req.ClientInfo.TargetPrefix + "." + req.Operation.Name - req.HTTPRequest.Header.Add("X-Amz-Target", target) - } - if req.ClientInfo.JSONVersion != "" { - jsonVersion := req.ClientInfo.JSONVersion - req.HTTPRequest.Header.Add("Content-Type", "application/x-amz-json-"+jsonVersion) - } -} - -// Unmarshal unmarshals a response for a JSON RPC service. -func Unmarshal(req *request.Request) { - defer req.HTTPResponse.Body.Close() - if req.DataFilled() { - err := jsonutil.UnmarshalJSON(req.Data, req.HTTPResponse.Body) - if err != nil { - req.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "failed decoding JSON RPC response", err), - req.HTTPResponse.StatusCode, - req.RequestID, - ) - } - } - return -} - -// UnmarshalMeta unmarshals headers from a response for a JSON RPC service. -func UnmarshalMeta(req *request.Request) { - rest.UnmarshalMeta(req) -} - -// UnmarshalError unmarshals an error response for a JSON RPC service. -func UnmarshalError(req *request.Request) { - defer req.HTTPResponse.Body.Close() - - var jsonErr jsonErrorResponse - err := json.NewDecoder(req.HTTPResponse.Body).Decode(&jsonErr) - if err == io.EOF { - req.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", req.HTTPResponse.Status, nil), - req.HTTPResponse.StatusCode, - req.RequestID, - ) - return - } else if err != nil { - req.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "failed decoding JSON RPC error response", err), - req.HTTPResponse.StatusCode, - req.RequestID, - ) - return - } - - codes := strings.SplitN(jsonErr.Code, "#", 2) - req.Error = awserr.NewRequestFailure( - awserr.New(codes[len(codes)-1], jsonErr.Message, nil), - req.HTTPResponse.StatusCode, - req.RequestID, - ) -} - -type jsonErrorResponse struct { - Code string `json:"__type"` - Message string `json:"message"` -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go deleted file mode 100644 index 776d110..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go +++ /dev/null @@ -1,76 +0,0 @@ -package protocol - -import ( - "encoding/base64" - "encoding/json" - "fmt" - "strconv" - - "github.com/aws/aws-sdk-go/aws" -) - -// EscapeMode is the mode that should be use for escaping a value -type EscapeMode uint - -// The modes for escaping a value before it is marshaled, and unmarshaled. -const ( - NoEscape EscapeMode = iota - Base64Escape - QuotedEscape -) - -// EncodeJSONValue marshals the value into a JSON string, and optionally base64 -// encodes the string before returning it. -// -// Will panic if the escape mode is unknown. -func EncodeJSONValue(v aws.JSONValue, escape EscapeMode) (string, error) { - b, err := json.Marshal(v) - if err != nil { - return "", err - } - - switch escape { - case NoEscape: - return string(b), nil - case Base64Escape: - return base64.StdEncoding.EncodeToString(b), nil - case QuotedEscape: - return strconv.Quote(string(b)), nil - } - - panic(fmt.Sprintf("EncodeJSONValue called with unknown EscapeMode, %v", escape)) -} - -// DecodeJSONValue will attempt to decode the string input as a JSONValue. -// Optionally decoding base64 the value first before JSON unmarshaling. -// -// Will panic if the escape mode is unknown. -func DecodeJSONValue(v string, escape EscapeMode) (aws.JSONValue, error) { - var b []byte - var err error - - switch escape { - case NoEscape: - b = []byte(v) - case Base64Escape: - b, err = base64.StdEncoding.DecodeString(v) - case QuotedEscape: - var u string - u, err = strconv.Unquote(v) - b = []byte(u) - default: - panic(fmt.Sprintf("DecodeJSONValue called with unknown EscapeMode, %v", escape)) - } - - if err != nil { - return nil, err - } - - m := aws.JSONValue{} - err = json.Unmarshal(b, &m) - if err != nil { - return nil, err - } - - return m, nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/payload.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/payload.go deleted file mode 100644 index e21614a..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/payload.go +++ /dev/null @@ -1,81 +0,0 @@ -package protocol - -import ( - "io" - "io/ioutil" - "net/http" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/client/metadata" - "github.com/aws/aws-sdk-go/aws/request" -) - -// PayloadUnmarshaler provides the interface for unmarshaling a payload's -// reader into a SDK shape. -type PayloadUnmarshaler interface { - UnmarshalPayload(io.Reader, interface{}) error -} - -// HandlerPayloadUnmarshal implements the PayloadUnmarshaler from a -// HandlerList. This provides the support for unmarshaling a payload reader to -// a shape without needing a SDK request first. -type HandlerPayloadUnmarshal struct { - Unmarshalers request.HandlerList -} - -// UnmarshalPayload unmarshals the io.Reader payload into the SDK shape using -// the Unmarshalers HandlerList provided. Returns an error if unable -// unmarshaling fails. -func (h HandlerPayloadUnmarshal) UnmarshalPayload(r io.Reader, v interface{}) error { - req := &request.Request{ - HTTPRequest: &http.Request{}, - HTTPResponse: &http.Response{ - StatusCode: 200, - Header: http.Header{}, - Body: ioutil.NopCloser(r), - }, - Data: v, - } - - h.Unmarshalers.Run(req) - - return req.Error -} - -// PayloadMarshaler provides the interface for marshaling a SDK shape into and -// io.Writer. -type PayloadMarshaler interface { - MarshalPayload(io.Writer, interface{}) error -} - -// HandlerPayloadMarshal implements the PayloadMarshaler from a HandlerList. -// This provides support for marshaling a SDK shape into an io.Writer without -// needing a SDK request first. -type HandlerPayloadMarshal struct { - Marshalers request.HandlerList -} - -// MarshalPayload marshals the SDK shape into the io.Writer using the -// Marshalers HandlerList provided. Returns an error if unable if marshal -// fails. -func (h HandlerPayloadMarshal) MarshalPayload(w io.Writer, v interface{}) error { - req := request.New( - aws.Config{}, - metadata.ClientInfo{}, - request.Handlers{}, - nil, - &request.Operation{HTTPMethod: "GET"}, - v, - nil, - ) - - h.Marshalers.Run(req) - - if req.Error != nil { - return req.Error - } - - io.Copy(w, req.GetBody()) - - return nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go deleted file mode 100644 index 60e5b09..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go +++ /dev/null @@ -1,36 +0,0 @@ -// Package query provides serialization of AWS query requests, and responses. -package query - -//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/query.json build_test.go - -import ( - "net/url" - - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/private/protocol/query/queryutil" -) - -// BuildHandler is a named request handler for building query protocol requests -var BuildHandler = request.NamedHandler{Name: "awssdk.query.Build", Fn: Build} - -// Build builds a request for an AWS Query service. -func Build(r *request.Request) { - body := url.Values{ - "Action": {r.Operation.Name}, - "Version": {r.ClientInfo.APIVersion}, - } - if err := queryutil.Parse(body, r.Params, false); err != nil { - r.Error = awserr.New("SerializationError", "failed encoding Query request", err) - return - } - - if !r.IsPresigned() { - r.HTTPRequest.Method = "POST" - r.HTTPRequest.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=utf-8") - r.SetBufferBody([]byte(body.Encode())) - } else { // This is a pre-signed request - r.HTTPRequest.Method = "GET" - r.HTTPRequest.URL.RawQuery = body.Encode() - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go deleted file mode 100644 index 75866d0..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go +++ /dev/null @@ -1,246 +0,0 @@ -package queryutil - -import ( - "encoding/base64" - "fmt" - "net/url" - "reflect" - "sort" - "strconv" - "strings" - "time" - - "github.com/aws/aws-sdk-go/private/protocol" -) - -// Parse parses an object i and fills a url.Values object. The isEC2 flag -// indicates if this is the EC2 Query sub-protocol. -func Parse(body url.Values, i interface{}, isEC2 bool) error { - q := queryParser{isEC2: isEC2} - return q.parseValue(body, reflect.ValueOf(i), "", "") -} - -func elemOf(value reflect.Value) reflect.Value { - for value.Kind() == reflect.Ptr { - value = value.Elem() - } - return value -} - -type queryParser struct { - isEC2 bool -} - -func (q *queryParser) parseValue(v url.Values, value reflect.Value, prefix string, tag reflect.StructTag) error { - value = elemOf(value) - - // no need to handle zero values - if !value.IsValid() { - return nil - } - - t := tag.Get("type") - if t == "" { - switch value.Kind() { - case reflect.Struct: - t = "structure" - case reflect.Slice: - t = "list" - case reflect.Map: - t = "map" - } - } - - switch t { - case "structure": - return q.parseStruct(v, value, prefix) - case "list": - return q.parseList(v, value, prefix, tag) - case "map": - return q.parseMap(v, value, prefix, tag) - default: - return q.parseScalar(v, value, prefix, tag) - } -} - -func (q *queryParser) parseStruct(v url.Values, value reflect.Value, prefix string) error { - if !value.IsValid() { - return nil - } - - t := value.Type() - for i := 0; i < value.NumField(); i++ { - elemValue := elemOf(value.Field(i)) - field := t.Field(i) - - if field.PkgPath != "" { - continue // ignore unexported fields - } - if field.Tag.Get("ignore") != "" { - continue - } - - if protocol.CanSetIdempotencyToken(value.Field(i), field) { - token := protocol.GetIdempotencyToken() - elemValue = reflect.ValueOf(token) - } - - var name string - if q.isEC2 { - name = field.Tag.Get("queryName") - } - if name == "" { - if field.Tag.Get("flattened") != "" && field.Tag.Get("locationNameList") != "" { - name = field.Tag.Get("locationNameList") - } else if locName := field.Tag.Get("locationName"); locName != "" { - name = locName - } - if name != "" && q.isEC2 { - name = strings.ToUpper(name[0:1]) + name[1:] - } - } - if name == "" { - name = field.Name - } - - if prefix != "" { - name = prefix + "." + name - } - - if err := q.parseValue(v, elemValue, name, field.Tag); err != nil { - return err - } - } - return nil -} - -func (q *queryParser) parseList(v url.Values, value reflect.Value, prefix string, tag reflect.StructTag) error { - // If it's empty, generate an empty value - if !value.IsNil() && value.Len() == 0 { - v.Set(prefix, "") - return nil - } - - if _, ok := value.Interface().([]byte); ok { - return q.parseScalar(v, value, prefix, tag) - } - - // check for unflattened list member - if !q.isEC2 && tag.Get("flattened") == "" { - if listName := tag.Get("locationNameList"); listName == "" { - prefix += ".member" - } else { - prefix += "." + listName - } - } - - for i := 0; i < value.Len(); i++ { - slicePrefix := prefix - if slicePrefix == "" { - slicePrefix = strconv.Itoa(i + 1) - } else { - slicePrefix = slicePrefix + "." + strconv.Itoa(i+1) - } - if err := q.parseValue(v, value.Index(i), slicePrefix, ""); err != nil { - return err - } - } - return nil -} - -func (q *queryParser) parseMap(v url.Values, value reflect.Value, prefix string, tag reflect.StructTag) error { - // If it's empty, generate an empty value - if !value.IsNil() && value.Len() == 0 { - v.Set(prefix, "") - return nil - } - - // check for unflattened list member - if !q.isEC2 && tag.Get("flattened") == "" { - prefix += ".entry" - } - - // sort keys for improved serialization consistency. - // this is not strictly necessary for protocol support. - mapKeyValues := value.MapKeys() - mapKeys := map[string]reflect.Value{} - mapKeyNames := make([]string, len(mapKeyValues)) - for i, mapKey := range mapKeyValues { - name := mapKey.String() - mapKeys[name] = mapKey - mapKeyNames[i] = name - } - sort.Strings(mapKeyNames) - - for i, mapKeyName := range mapKeyNames { - mapKey := mapKeys[mapKeyName] - mapValue := value.MapIndex(mapKey) - - kname := tag.Get("locationNameKey") - if kname == "" { - kname = "key" - } - vname := tag.Get("locationNameValue") - if vname == "" { - vname = "value" - } - - // serialize key - var keyName string - if prefix == "" { - keyName = strconv.Itoa(i+1) + "." + kname - } else { - keyName = prefix + "." + strconv.Itoa(i+1) + "." + kname - } - - if err := q.parseValue(v, mapKey, keyName, ""); err != nil { - return err - } - - // serialize value - var valueName string - if prefix == "" { - valueName = strconv.Itoa(i+1) + "." + vname - } else { - valueName = prefix + "." + strconv.Itoa(i+1) + "." + vname - } - - if err := q.parseValue(v, mapValue, valueName, ""); err != nil { - return err - } - } - - return nil -} - -func (q *queryParser) parseScalar(v url.Values, r reflect.Value, name string, tag reflect.StructTag) error { - switch value := r.Interface().(type) { - case string: - v.Set(name, value) - case []byte: - if !r.IsNil() { - v.Set(name, base64.StdEncoding.EncodeToString(value)) - } - case bool: - v.Set(name, strconv.FormatBool(value)) - case int64: - v.Set(name, strconv.FormatInt(value, 10)) - case int: - v.Set(name, strconv.Itoa(value)) - case float64: - v.Set(name, strconv.FormatFloat(value, 'f', -1, 64)) - case float32: - v.Set(name, strconv.FormatFloat(float64(value), 'f', -1, 32)) - case time.Time: - const ISO8601UTC = "2006-01-02T15:04:05Z" - format := tag.Get("timestampFormat") - if len(format) == 0 { - format = protocol.ISO8601TimeFormatName - } - - v.Set(name, protocol.FormatTime(format, value)) - default: - return fmt.Errorf("unsupported value for param %s: %v (%s)", name, r.Interface(), r.Type().Name()) - } - return nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go deleted file mode 100644 index 3495c73..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go +++ /dev/null @@ -1,39 +0,0 @@ -package query - -//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/query.json unmarshal_test.go - -import ( - "encoding/xml" - - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" -) - -// UnmarshalHandler is a named request handler for unmarshaling query protocol requests -var UnmarshalHandler = request.NamedHandler{Name: "awssdk.query.Unmarshal", Fn: Unmarshal} - -// UnmarshalMetaHandler is a named request handler for unmarshaling query protocol request metadata -var UnmarshalMetaHandler = request.NamedHandler{Name: "awssdk.query.UnmarshalMeta", Fn: UnmarshalMeta} - -// Unmarshal unmarshals a response for an AWS Query service. -func Unmarshal(r *request.Request) { - defer r.HTTPResponse.Body.Close() - if r.DataFilled() { - decoder := xml.NewDecoder(r.HTTPResponse.Body) - err := xmlutil.UnmarshalXML(r.Data, decoder, r.Operation.Name+"Result") - if err != nil { - r.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "failed decoding Query response", err), - r.HTTPResponse.StatusCode, - r.RequestID, - ) - return - } - } -} - -// UnmarshalMeta unmarshals header response values for an AWS Query service. -func UnmarshalMeta(r *request.Request) { - r.RequestID = r.HTTPResponse.Header.Get("X-Amzn-Requestid") -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.go deleted file mode 100644 index 46d354e..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.go +++ /dev/null @@ -1,74 +0,0 @@ -package query - -import ( - "encoding/xml" - "io/ioutil" - - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/request" -) - -type xmlErrorResponse struct { - XMLName xml.Name `xml:"ErrorResponse"` - Code string `xml:"Error>Code"` - Message string `xml:"Error>Message"` - RequestID string `xml:"RequestId"` -} - -type xmlServiceUnavailableResponse struct { - XMLName xml.Name `xml:"ServiceUnavailableException"` -} - -// UnmarshalErrorHandler is a name request handler to unmarshal request errors -var UnmarshalErrorHandler = request.NamedHandler{Name: "awssdk.query.UnmarshalError", Fn: UnmarshalError} - -// UnmarshalError unmarshals an error response for an AWS Query service. -func UnmarshalError(r *request.Request) { - defer r.HTTPResponse.Body.Close() - - bodyBytes, err := ioutil.ReadAll(r.HTTPResponse.Body) - if err != nil { - r.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", "failed to read from query HTTP response body", err), - r.HTTPResponse.StatusCode, - r.RequestID, - ) - return - } - - // First check for specific error - resp := xmlErrorResponse{} - decodeErr := xml.Unmarshal(bodyBytes, &resp) - if decodeErr == nil { - reqID := resp.RequestID - if reqID == "" { - reqID = r.RequestID - } - r.Error = awserr.NewRequestFailure( - awserr.New(resp.Code, resp.Message, nil), - r.HTTPResponse.StatusCode, - reqID, - ) - return - } - - // Check for unhandled error - servUnavailResp := xmlServiceUnavailableResponse{} - unavailErr := xml.Unmarshal(bodyBytes, &servUnavailResp) - if unavailErr == nil { - r.Error = awserr.NewRequestFailure( - awserr.New("ServiceUnavailableException", "service is unavailable", nil), - r.HTTPResponse.StatusCode, - r.RequestID, - ) - return - } - - // Failed to retrieve any error message from the response body - r.Error = awserr.NewRequestFailure( - awserr.New("SerializationError", - "failed to decode query XML error response", decodeErr), - r.HTTPResponse.StatusCode, - r.RequestID, - ) -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go deleted file mode 100644 index b34f525..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go +++ /dev/null @@ -1,295 +0,0 @@ -// Package rest provides RESTful serialization of AWS requests and responses. -package rest - -import ( - "bytes" - "encoding/base64" - "fmt" - "io" - "net/http" - "net/url" - "path" - "reflect" - "strconv" - "strings" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/private/protocol" -) - -// Whether the byte value can be sent without escaping in AWS URLs -var noEscape [256]bool - -var errValueNotSet = fmt.Errorf("value not set") - -func init() { - for i := 0; i < len(noEscape); i++ { - // AWS expects every character except these to be escaped - noEscape[i] = (i >= 'A' && i <= 'Z') || - (i >= 'a' && i <= 'z') || - (i >= '0' && i <= '9') || - i == '-' || - i == '.' || - i == '_' || - i == '~' - } -} - -// BuildHandler is a named request handler for building rest protocol requests -var BuildHandler = request.NamedHandler{Name: "awssdk.rest.Build", Fn: Build} - -// Build builds the REST component of a service request. -func Build(r *request.Request) { - if r.ParamsFilled() { - v := reflect.ValueOf(r.Params).Elem() - buildLocationElements(r, v, false) - buildBody(r, v) - } -} - -// BuildAsGET builds the REST component of a service request with the ability to hoist -// data from the body. -func BuildAsGET(r *request.Request) { - if r.ParamsFilled() { - v := reflect.ValueOf(r.Params).Elem() - buildLocationElements(r, v, true) - buildBody(r, v) - } -} - -func buildLocationElements(r *request.Request, v reflect.Value, buildGETQuery bool) { - query := r.HTTPRequest.URL.Query() - - // Setup the raw path to match the base path pattern. This is needed - // so that when the path is mutated a custom escaped version can be - // stored in RawPath that will be used by the Go client. - r.HTTPRequest.URL.RawPath = r.HTTPRequest.URL.Path - - for i := 0; i < v.NumField(); i++ { - m := v.Field(i) - if n := v.Type().Field(i).Name; n[0:1] == strings.ToLower(n[0:1]) { - continue - } - - if m.IsValid() { - field := v.Type().Field(i) - name := field.Tag.Get("locationName") - if name == "" { - name = field.Name - } - if kind := m.Kind(); kind == reflect.Ptr { - m = m.Elem() - } else if kind == reflect.Interface { - if !m.Elem().IsValid() { - continue - } - } - if !m.IsValid() { - continue - } - if field.Tag.Get("ignore") != "" { - continue - } - - var err error - switch field.Tag.Get("location") { - case "headers": // header maps - err = buildHeaderMap(&r.HTTPRequest.Header, m, field.Tag) - case "header": - err = buildHeader(&r.HTTPRequest.Header, m, name, field.Tag) - case "uri": - err = buildURI(r.HTTPRequest.URL, m, name, field.Tag) - case "querystring": - err = buildQueryString(query, m, name, field.Tag) - default: - if buildGETQuery { - err = buildQueryString(query, m, name, field.Tag) - } - } - r.Error = err - } - if r.Error != nil { - return - } - } - - r.HTTPRequest.URL.RawQuery = query.Encode() - if !aws.BoolValue(r.Config.DisableRestProtocolURICleaning) { - cleanPath(r.HTTPRequest.URL) - } -} - -func buildBody(r *request.Request, v reflect.Value) { - if field, ok := v.Type().FieldByName("_"); ok { - if payloadName := field.Tag.Get("payload"); payloadName != "" { - pfield, _ := v.Type().FieldByName(payloadName) - if ptag := pfield.Tag.Get("type"); ptag != "" && ptag != "structure" { - payload := reflect.Indirect(v.FieldByName(payloadName)) - if payload.IsValid() && payload.Interface() != nil { - switch reader := payload.Interface().(type) { - case io.ReadSeeker: - r.SetReaderBody(reader) - case []byte: - r.SetBufferBody(reader) - case string: - r.SetStringBody(reader) - default: - r.Error = awserr.New("SerializationError", - "failed to encode REST request", - fmt.Errorf("unknown payload type %s", payload.Type())) - } - } - } - } - } -} - -func buildHeader(header *http.Header, v reflect.Value, name string, tag reflect.StructTag) error { - str, err := convertType(v, tag) - if err == errValueNotSet { - return nil - } else if err != nil { - return awserr.New("SerializationError", "failed to encode REST request", err) - } - - header.Add(name, str) - - return nil -} - -func buildHeaderMap(header *http.Header, v reflect.Value, tag reflect.StructTag) error { - prefix := tag.Get("locationName") - for _, key := range v.MapKeys() { - str, err := convertType(v.MapIndex(key), tag) - if err == errValueNotSet { - continue - } else if err != nil { - return awserr.New("SerializationError", "failed to encode REST request", err) - - } - - header.Add(prefix+key.String(), str) - } - return nil -} - -func buildURI(u *url.URL, v reflect.Value, name string, tag reflect.StructTag) error { - value, err := convertType(v, tag) - if err == errValueNotSet { - return nil - } else if err != nil { - return awserr.New("SerializationError", "failed to encode REST request", err) - } - - u.Path = strings.Replace(u.Path, "{"+name+"}", value, -1) - u.Path = strings.Replace(u.Path, "{"+name+"+}", value, -1) - - u.RawPath = strings.Replace(u.RawPath, "{"+name+"}", EscapePath(value, true), -1) - u.RawPath = strings.Replace(u.RawPath, "{"+name+"+}", EscapePath(value, false), -1) - - return nil -} - -func buildQueryString(query url.Values, v reflect.Value, name string, tag reflect.StructTag) error { - switch value := v.Interface().(type) { - case []*string: - for _, item := range value { - query.Add(name, *item) - } - case map[string]*string: - for key, item := range value { - query.Add(key, *item) - } - case map[string][]*string: - for key, items := range value { - for _, item := range items { - query.Add(key, *item) - } - } - default: - str, err := convertType(v, tag) - if err == errValueNotSet { - return nil - } else if err != nil { - return awserr.New("SerializationError", "failed to encode REST request", err) - } - query.Set(name, str) - } - - return nil -} - -func cleanPath(u *url.URL) { - hasSlash := strings.HasSuffix(u.Path, "/") - - // clean up path, removing duplicate `/` - u.Path = path.Clean(u.Path) - u.RawPath = path.Clean(u.RawPath) - - if hasSlash && !strings.HasSuffix(u.Path, "/") { - u.Path += "/" - u.RawPath += "/" - } -} - -// EscapePath escapes part of a URL path in Amazon style -func EscapePath(path string, encodeSep bool) string { - var buf bytes.Buffer - for i := 0; i < len(path); i++ { - c := path[i] - if noEscape[c] || (c == '/' && !encodeSep) { - buf.WriteByte(c) - } else { - fmt.Fprintf(&buf, "%%%02X", c) - } - } - return buf.String() -} - -func convertType(v reflect.Value, tag reflect.StructTag) (str string, err error) { - v = reflect.Indirect(v) - if !v.IsValid() { - return "", errValueNotSet - } - - switch value := v.Interface().(type) { - case string: - str = value - case []byte: - str = base64.StdEncoding.EncodeToString(value) - case bool: - str = strconv.FormatBool(value) - case int64: - str = strconv.FormatInt(value, 10) - case float64: - str = strconv.FormatFloat(value, 'f', -1, 64) - case time.Time: - format := tag.Get("timestampFormat") - if len(format) == 0 { - format = protocol.RFC822TimeFormatName - if tag.Get("location") == "querystring" { - format = protocol.ISO8601TimeFormatName - } - } - str = protocol.FormatTime(format, value) - case aws.JSONValue: - if len(value) == 0 { - return "", errValueNotSet - } - escaping := protocol.NoEscape - if tag.Get("location") == "header" { - escaping = protocol.Base64Escape - } - str, err = protocol.EncodeJSONValue(value, escaping) - if err != nil { - return "", fmt.Errorf("unable to encode JSONValue, %v", err) - } - default: - err := fmt.Errorf("unsupported value for param %v (%s)", v.Interface(), v.Type()) - return "", err - } - return str, nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.go deleted file mode 100644 index 4366de2..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.go +++ /dev/null @@ -1,45 +0,0 @@ -package rest - -import "reflect" - -// PayloadMember returns the payload field member of i if there is one, or nil. -func PayloadMember(i interface{}) interface{} { - if i == nil { - return nil - } - - v := reflect.ValueOf(i).Elem() - if !v.IsValid() { - return nil - } - if field, ok := v.Type().FieldByName("_"); ok { - if payloadName := field.Tag.Get("payload"); payloadName != "" { - field, _ := v.Type().FieldByName(payloadName) - if field.Tag.Get("type") != "structure" { - return nil - } - - payload := v.FieldByName(payloadName) - if payload.IsValid() || (payload.Kind() == reflect.Ptr && !payload.IsNil()) { - return payload.Interface() - } - } - } - return nil -} - -// PayloadType returns the type of a payload field member of i if there is one, or "". -func PayloadType(i interface{}) string { - v := reflect.Indirect(reflect.ValueOf(i)) - if !v.IsValid() { - return "" - } - if field, ok := v.Type().FieldByName("_"); ok { - if payloadName := field.Tag.Get("payload"); payloadName != "" { - if member, ok := v.Type().FieldByName(payloadName); ok { - return member.Tag.Get("type") - } - } - } - return "" -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go deleted file mode 100644 index 33fd53b..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go +++ /dev/null @@ -1,225 +0,0 @@ -package rest - -import ( - "bytes" - "encoding/base64" - "fmt" - "io" - "io/ioutil" - "net/http" - "reflect" - "strconv" - "strings" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awserr" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/private/protocol" -) - -// UnmarshalHandler is a named request handler for unmarshaling rest protocol requests -var UnmarshalHandler = request.NamedHandler{Name: "awssdk.rest.Unmarshal", Fn: Unmarshal} - -// UnmarshalMetaHandler is a named request handler for unmarshaling rest protocol request metadata -var UnmarshalMetaHandler = request.NamedHandler{Name: "awssdk.rest.UnmarshalMeta", Fn: UnmarshalMeta} - -// Unmarshal unmarshals the REST component of a response in a REST service. -func Unmarshal(r *request.Request) { - if r.DataFilled() { - v := reflect.Indirect(reflect.ValueOf(r.Data)) - unmarshalBody(r, v) - } -} - -// UnmarshalMeta unmarshals the REST metadata of a response in a REST service -func UnmarshalMeta(r *request.Request) { - r.RequestID = r.HTTPResponse.Header.Get("X-Amzn-Requestid") - if r.RequestID == "" { - // Alternative version of request id in the header - r.RequestID = r.HTTPResponse.Header.Get("X-Amz-Request-Id") - } - if r.DataFilled() { - v := reflect.Indirect(reflect.ValueOf(r.Data)) - unmarshalLocationElements(r, v) - } -} - -func unmarshalBody(r *request.Request, v reflect.Value) { - if field, ok := v.Type().FieldByName("_"); ok { - if payloadName := field.Tag.Get("payload"); payloadName != "" { - pfield, _ := v.Type().FieldByName(payloadName) - if ptag := pfield.Tag.Get("type"); ptag != "" && ptag != "structure" { - payload := v.FieldByName(payloadName) - if payload.IsValid() { - switch payload.Interface().(type) { - case []byte: - defer r.HTTPResponse.Body.Close() - b, err := ioutil.ReadAll(r.HTTPResponse.Body) - if err != nil { - r.Error = awserr.New("SerializationError", "failed to decode REST response", err) - } else { - payload.Set(reflect.ValueOf(b)) - } - case *string: - defer r.HTTPResponse.Body.Close() - b, err := ioutil.ReadAll(r.HTTPResponse.Body) - if err != nil { - r.Error = awserr.New("SerializationError", "failed to decode REST response", err) - } else { - str := string(b) - payload.Set(reflect.ValueOf(&str)) - } - default: - switch payload.Type().String() { - case "io.ReadCloser": - payload.Set(reflect.ValueOf(r.HTTPResponse.Body)) - case "io.ReadSeeker": - b, err := ioutil.ReadAll(r.HTTPResponse.Body) - if err != nil { - r.Error = awserr.New("SerializationError", - "failed to read response body", err) - return - } - payload.Set(reflect.ValueOf(ioutil.NopCloser(bytes.NewReader(b)))) - default: - io.Copy(ioutil.Discard, r.HTTPResponse.Body) - defer r.HTTPResponse.Body.Close() - r.Error = awserr.New("SerializationError", - "failed to decode REST response", - fmt.Errorf("unknown payload type %s", payload.Type())) - } - } - } - } - } - } -} - -func unmarshalLocationElements(r *request.Request, v reflect.Value) { - for i := 0; i < v.NumField(); i++ { - m, field := v.Field(i), v.Type().Field(i) - if n := field.Name; n[0:1] == strings.ToLower(n[0:1]) { - continue - } - - if m.IsValid() { - name := field.Tag.Get("locationName") - if name == "" { - name = field.Name - } - - switch field.Tag.Get("location") { - case "statusCode": - unmarshalStatusCode(m, r.HTTPResponse.StatusCode) - case "header": - err := unmarshalHeader(m, r.HTTPResponse.Header.Get(name), field.Tag) - if err != nil { - r.Error = awserr.New("SerializationError", "failed to decode REST response", err) - break - } - case "headers": - prefix := field.Tag.Get("locationName") - err := unmarshalHeaderMap(m, r.HTTPResponse.Header, prefix) - if err != nil { - r.Error = awserr.New("SerializationError", "failed to decode REST response", err) - break - } - } - } - if r.Error != nil { - return - } - } -} - -func unmarshalStatusCode(v reflect.Value, statusCode int) { - if !v.IsValid() { - return - } - - switch v.Interface().(type) { - case *int64: - s := int64(statusCode) - v.Set(reflect.ValueOf(&s)) - } -} - -func unmarshalHeaderMap(r reflect.Value, headers http.Header, prefix string) error { - switch r.Interface().(type) { - case map[string]*string: // we only support string map value types - out := map[string]*string{} - for k, v := range headers { - k = http.CanonicalHeaderKey(k) - if strings.HasPrefix(strings.ToLower(k), strings.ToLower(prefix)) { - out[k[len(prefix):]] = &v[0] - } - } - r.Set(reflect.ValueOf(out)) - } - return nil -} - -func unmarshalHeader(v reflect.Value, header string, tag reflect.StructTag) error { - isJSONValue := tag.Get("type") == "jsonvalue" - if isJSONValue { - if len(header) == 0 { - return nil - } - } else if !v.IsValid() || (header == "" && v.Elem().Kind() != reflect.String) { - return nil - } - - switch v.Interface().(type) { - case *string: - v.Set(reflect.ValueOf(&header)) - case []byte: - b, err := base64.StdEncoding.DecodeString(header) - if err != nil { - return err - } - v.Set(reflect.ValueOf(&b)) - case *bool: - b, err := strconv.ParseBool(header) - if err != nil { - return err - } - v.Set(reflect.ValueOf(&b)) - case *int64: - i, err := strconv.ParseInt(header, 10, 64) - if err != nil { - return err - } - v.Set(reflect.ValueOf(&i)) - case *float64: - f, err := strconv.ParseFloat(header, 64) - if err != nil { - return err - } - v.Set(reflect.ValueOf(&f)) - case *time.Time: - format := tag.Get("timestampFormat") - if len(format) == 0 { - format = protocol.RFC822TimeFormatName - } - t, err := protocol.ParseTime(format, header) - if err != nil { - return err - } - v.Set(reflect.ValueOf(&t)) - case aws.JSONValue: - escaping := protocol.NoEscape - if tag.Get("location") == "header" { - escaping = protocol.Base64Escape - } - m, err := protocol.DecodeJSONValue(header, escaping) - if err != nil { - return err - } - v.Set(reflect.ValueOf(m)) - default: - err := fmt.Errorf("Unsupported value for param %v (%s)", v.Interface(), v.Type()) - return err - } - return nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go deleted file mode 100644 index b7ed6c6..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go +++ /dev/null @@ -1,72 +0,0 @@ -package protocol - -import ( - "strconv" - "time" -) - -// Names of time formats supported by the SDK -const ( - RFC822TimeFormatName = "rfc822" - ISO8601TimeFormatName = "iso8601" - UnixTimeFormatName = "unixTimestamp" -) - -// Time formats supported by the SDK -const ( - // RFC 7231#section-7.1.1.1 timetamp format. e.g Tue, 29 Apr 2014 18:30:38 GMT - RFC822TimeFormat = "Mon, 2 Jan 2006 15:04:05 GMT" - - // RFC3339 a subset of the ISO8601 timestamp format. e.g 2014-04-29T18:30:38Z - ISO8601TimeFormat = "2006-01-02T15:04:05Z" -) - -// IsKnownTimestampFormat returns if the timestamp format name -// is know to the SDK's protocols. -func IsKnownTimestampFormat(name string) bool { - switch name { - case RFC822TimeFormatName: - fallthrough - case ISO8601TimeFormatName: - fallthrough - case UnixTimeFormatName: - return true - default: - return false - } -} - -// FormatTime returns a string value of the time. -func FormatTime(name string, t time.Time) string { - t = t.UTC() - - switch name { - case RFC822TimeFormatName: - return t.Format(RFC822TimeFormat) - case ISO8601TimeFormatName: - return t.Format(ISO8601TimeFormat) - case UnixTimeFormatName: - return strconv.FormatInt(t.Unix(), 10) - default: - panic("unknown timestamp format name, " + name) - } -} - -// ParseTime attempts to parse the time given the format. Returns -// the time if it was able to be parsed, and fails otherwise. -func ParseTime(formatName, value string) (time.Time, error) { - switch formatName { - case RFC822TimeFormatName: - return time.Parse(RFC822TimeFormat, value) - case ISO8601TimeFormatName: - return time.Parse(ISO8601TimeFormat, value) - case UnixTimeFormatName: - v, err := strconv.ParseFloat(value, 64) - if err != nil { - return time.Time{}, err - } - return time.Unix(int64(v), 0), nil - default: - panic("unknown timestamp format name, " + formatName) - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal.go deleted file mode 100644 index da1a681..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal.go +++ /dev/null @@ -1,21 +0,0 @@ -package protocol - -import ( - "io" - "io/ioutil" - - "github.com/aws/aws-sdk-go/aws/request" -) - -// UnmarshalDiscardBodyHandler is a named request handler to empty and close a response's body -var UnmarshalDiscardBodyHandler = request.NamedHandler{Name: "awssdk.shared.UnmarshalDiscardBody", Fn: UnmarshalDiscardBody} - -// UnmarshalDiscardBody is a request handler to empty a response's body and closing it. -func UnmarshalDiscardBody(r *request.Request) { - if r.HTTPResponse == nil || r.HTTPResponse.Body == nil { - return - } - - io.Copy(ioutil.Discard, r.HTTPResponse.Body) - r.HTTPResponse.Body.Close() -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go deleted file mode 100644 index cf981fe..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go +++ /dev/null @@ -1,306 +0,0 @@ -// Package xmlutil provides XML serialization of AWS requests and responses. -package xmlutil - -import ( - "encoding/base64" - "encoding/xml" - "fmt" - "reflect" - "sort" - "strconv" - "time" - - "github.com/aws/aws-sdk-go/private/protocol" -) - -// BuildXML will serialize params into an xml.Encoder. Error will be returned -// if the serialization of any of the params or nested values fails. -func BuildXML(params interface{}, e *xml.Encoder) error { - return buildXML(params, e, false) -} - -func buildXML(params interface{}, e *xml.Encoder, sorted bool) error { - b := xmlBuilder{encoder: e, namespaces: map[string]string{}} - root := NewXMLElement(xml.Name{}) - if err := b.buildValue(reflect.ValueOf(params), root, ""); err != nil { - return err - } - for _, c := range root.Children { - for _, v := range c { - return StructToXML(e, v, sorted) - } - } - return nil -} - -// Returns the reflection element of a value, if it is a pointer. -func elemOf(value reflect.Value) reflect.Value { - for value.Kind() == reflect.Ptr { - value = value.Elem() - } - return value -} - -// A xmlBuilder serializes values from Go code to XML -type xmlBuilder struct { - encoder *xml.Encoder - namespaces map[string]string -} - -// buildValue generic XMLNode builder for any type. Will build value for their specific type -// struct, list, map, scalar. -// -// Also takes a "type" tag value to set what type a value should be converted to XMLNode as. If -// type is not provided reflect will be used to determine the value's type. -func (b *xmlBuilder) buildValue(value reflect.Value, current *XMLNode, tag reflect.StructTag) error { - value = elemOf(value) - if !value.IsValid() { // no need to handle zero values - return nil - } else if tag.Get("location") != "" { // don't handle non-body location values - return nil - } - - t := tag.Get("type") - if t == "" { - switch value.Kind() { - case reflect.Struct: - t = "structure" - case reflect.Slice: - t = "list" - case reflect.Map: - t = "map" - } - } - - switch t { - case "structure": - if field, ok := value.Type().FieldByName("_"); ok { - tag = tag + reflect.StructTag(" ") + field.Tag - } - return b.buildStruct(value, current, tag) - case "list": - return b.buildList(value, current, tag) - case "map": - return b.buildMap(value, current, tag) - default: - return b.buildScalar(value, current, tag) - } -} - -// buildStruct adds a struct and its fields to the current XMLNode. All fields and any nested -// types are converted to XMLNodes also. -func (b *xmlBuilder) buildStruct(value reflect.Value, current *XMLNode, tag reflect.StructTag) error { - if !value.IsValid() { - return nil - } - - // unwrap payloads - if payload := tag.Get("payload"); payload != "" { - field, _ := value.Type().FieldByName(payload) - tag = field.Tag - value = elemOf(value.FieldByName(payload)) - - if !value.IsValid() { - return nil - } - } - - child := NewXMLElement(xml.Name{Local: tag.Get("locationName")}) - - // there is an xmlNamespace associated with this struct - if prefix, uri := tag.Get("xmlPrefix"), tag.Get("xmlURI"); uri != "" { - ns := xml.Attr{ - Name: xml.Name{Local: "xmlns"}, - Value: uri, - } - if prefix != "" { - b.namespaces[prefix] = uri // register the namespace - ns.Name.Local = "xmlns:" + prefix - } - - child.Attr = append(child.Attr, ns) - } - - var payloadFields, nonPayloadFields int - - t := value.Type() - for i := 0; i < value.NumField(); i++ { - member := elemOf(value.Field(i)) - field := t.Field(i) - - if field.PkgPath != "" { - continue // ignore unexported fields - } - if field.Tag.Get("ignore") != "" { - continue - } - - mTag := field.Tag - if mTag.Get("location") != "" { // skip non-body members - nonPayloadFields++ - continue - } - payloadFields++ - - if protocol.CanSetIdempotencyToken(value.Field(i), field) { - token := protocol.GetIdempotencyToken() - member = reflect.ValueOf(token) - } - - memberName := mTag.Get("locationName") - if memberName == "" { - memberName = field.Name - mTag = reflect.StructTag(string(mTag) + ` locationName:"` + memberName + `"`) - } - if err := b.buildValue(member, child, mTag); err != nil { - return err - } - } - - // Only case where the child shape is not added is if the shape only contains - // non-payload fields, e.g headers/query. - if !(payloadFields == 0 && nonPayloadFields > 0) { - current.AddChild(child) - } - - return nil -} - -// buildList adds the value's list items to the current XMLNode as children nodes. All -// nested values in the list are converted to XMLNodes also. -func (b *xmlBuilder) buildList(value reflect.Value, current *XMLNode, tag reflect.StructTag) error { - if value.IsNil() { // don't build omitted lists - return nil - } - - // check for unflattened list member - flattened := tag.Get("flattened") != "" - - xname := xml.Name{Local: tag.Get("locationName")} - if flattened { - for i := 0; i < value.Len(); i++ { - child := NewXMLElement(xname) - current.AddChild(child) - if err := b.buildValue(value.Index(i), child, ""); err != nil { - return err - } - } - } else { - list := NewXMLElement(xname) - current.AddChild(list) - - for i := 0; i < value.Len(); i++ { - iname := tag.Get("locationNameList") - if iname == "" { - iname = "member" - } - - child := NewXMLElement(xml.Name{Local: iname}) - list.AddChild(child) - if err := b.buildValue(value.Index(i), child, ""); err != nil { - return err - } - } - } - - return nil -} - -// buildMap adds the value's key/value pairs to the current XMLNode as children nodes. All -// nested values in the map are converted to XMLNodes also. -// -// Error will be returned if it is unable to build the map's values into XMLNodes -func (b *xmlBuilder) buildMap(value reflect.Value, current *XMLNode, tag reflect.StructTag) error { - if value.IsNil() { // don't build omitted maps - return nil - } - - maproot := NewXMLElement(xml.Name{Local: tag.Get("locationName")}) - current.AddChild(maproot) - current = maproot - - kname, vname := "key", "value" - if n := tag.Get("locationNameKey"); n != "" { - kname = n - } - if n := tag.Get("locationNameValue"); n != "" { - vname = n - } - - // sorting is not required for compliance, but it makes testing easier - keys := make([]string, value.Len()) - for i, k := range value.MapKeys() { - keys[i] = k.String() - } - sort.Strings(keys) - - for _, k := range keys { - v := value.MapIndex(reflect.ValueOf(k)) - - mapcur := current - if tag.Get("flattened") == "" { // add "entry" tag to non-flat maps - child := NewXMLElement(xml.Name{Local: "entry"}) - mapcur.AddChild(child) - mapcur = child - } - - kchild := NewXMLElement(xml.Name{Local: kname}) - kchild.Text = k - vchild := NewXMLElement(xml.Name{Local: vname}) - mapcur.AddChild(kchild) - mapcur.AddChild(vchild) - - if err := b.buildValue(v, vchild, ""); err != nil { - return err - } - } - - return nil -} - -// buildScalar will convert the value into a string and append it as a attribute or child -// of the current XMLNode. -// -// The value will be added as an attribute if tag contains a "xmlAttribute" attribute value. -// -// Error will be returned if the value type is unsupported. -func (b *xmlBuilder) buildScalar(value reflect.Value, current *XMLNode, tag reflect.StructTag) error { - var str string - switch converted := value.Interface().(type) { - case string: - str = converted - case []byte: - if !value.IsNil() { - str = base64.StdEncoding.EncodeToString(converted) - } - case bool: - str = strconv.FormatBool(converted) - case int64: - str = strconv.FormatInt(converted, 10) - case int: - str = strconv.Itoa(converted) - case float64: - str = strconv.FormatFloat(converted, 'f', -1, 64) - case float32: - str = strconv.FormatFloat(float64(converted), 'f', -1, 32) - case time.Time: - format := tag.Get("timestampFormat") - if len(format) == 0 { - format = protocol.ISO8601TimeFormatName - } - - str = protocol.FormatTime(format, converted) - default: - return fmt.Errorf("unsupported value for param %s: %v (%s)", - tag.Get("locationName"), value.Interface(), value.Type().Name()) - } - - xname := xml.Name{Local: tag.Get("locationName")} - if tag.Get("xmlAttribute") != "" { // put into current node's attribute list - attr := xml.Attr{Name: xname, Value: str} - current.Attr = append(current.Attr, attr) - } else { // regular text node - current.AddChild(&XMLNode{Name: xname, Text: str}) - } - return nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go deleted file mode 100644 index ff1ef68..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go +++ /dev/null @@ -1,272 +0,0 @@ -package xmlutil - -import ( - "encoding/base64" - "encoding/xml" - "fmt" - "io" - "reflect" - "strconv" - "strings" - "time" - - "github.com/aws/aws-sdk-go/private/protocol" -) - -// UnmarshalXML deserializes an xml.Decoder into the container v. V -// needs to match the shape of the XML expected to be decoded. -// If the shape doesn't match unmarshaling will fail. -func UnmarshalXML(v interface{}, d *xml.Decoder, wrapper string) error { - n, err := XMLToStruct(d, nil) - if err != nil { - return err - } - if n.Children != nil { - for _, root := range n.Children { - for _, c := range root { - if wrappedChild, ok := c.Children[wrapper]; ok { - c = wrappedChild[0] // pull out wrapped element - } - - err = parse(reflect.ValueOf(v), c, "") - if err != nil { - if err == io.EOF { - return nil - } - return err - } - } - } - return nil - } - return nil -} - -// parse deserializes any value from the XMLNode. The type tag is used to infer the type, or reflect -// will be used to determine the type from r. -func parse(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { - rtype := r.Type() - if rtype.Kind() == reflect.Ptr { - rtype = rtype.Elem() // check kind of actual element type - } - - t := tag.Get("type") - if t == "" { - switch rtype.Kind() { - case reflect.Struct: - // also it can't be a time object - if _, ok := r.Interface().(*time.Time); !ok { - t = "structure" - } - case reflect.Slice: - // also it can't be a byte slice - if _, ok := r.Interface().([]byte); !ok { - t = "list" - } - case reflect.Map: - t = "map" - } - } - - switch t { - case "structure": - if field, ok := rtype.FieldByName("_"); ok { - tag = field.Tag - } - return parseStruct(r, node, tag) - case "list": - return parseList(r, node, tag) - case "map": - return parseMap(r, node, tag) - default: - return parseScalar(r, node, tag) - } -} - -// parseStruct deserializes a structure and its fields from an XMLNode. Any nested -// types in the structure will also be deserialized. -func parseStruct(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { - t := r.Type() - if r.Kind() == reflect.Ptr { - if r.IsNil() { // create the structure if it's nil - s := reflect.New(r.Type().Elem()) - r.Set(s) - r = s - } - - r = r.Elem() - t = t.Elem() - } - - // unwrap any payloads - if payload := tag.Get("payload"); payload != "" { - field, _ := t.FieldByName(payload) - return parseStruct(r.FieldByName(payload), node, field.Tag) - } - - for i := 0; i < t.NumField(); i++ { - field := t.Field(i) - if c := field.Name[0:1]; strings.ToLower(c) == c { - continue // ignore unexported fields - } - - // figure out what this field is called - name := field.Name - if field.Tag.Get("flattened") != "" && field.Tag.Get("locationNameList") != "" { - name = field.Tag.Get("locationNameList") - } else if locName := field.Tag.Get("locationName"); locName != "" { - name = locName - } - - // try to find the field by name in elements - elems := node.Children[name] - - if elems == nil { // try to find the field in attributes - if val, ok := node.findElem(name); ok { - elems = []*XMLNode{{Text: val}} - } - } - - member := r.FieldByName(field.Name) - for _, elem := range elems { - err := parse(member, elem, field.Tag) - if err != nil { - return err - } - } - } - return nil -} - -// parseList deserializes a list of values from an XML node. Each list entry -// will also be deserialized. -func parseList(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { - t := r.Type() - - if tag.Get("flattened") == "" { // look at all item entries - mname := "member" - if name := tag.Get("locationNameList"); name != "" { - mname = name - } - - if Children, ok := node.Children[mname]; ok { - if r.IsNil() { - r.Set(reflect.MakeSlice(t, len(Children), len(Children))) - } - - for i, c := range Children { - err := parse(r.Index(i), c, "") - if err != nil { - return err - } - } - } - } else { // flattened list means this is a single element - if r.IsNil() { - r.Set(reflect.MakeSlice(t, 0, 0)) - } - - childR := reflect.Zero(t.Elem()) - r.Set(reflect.Append(r, childR)) - err := parse(r.Index(r.Len()-1), node, "") - if err != nil { - return err - } - } - - return nil -} - -// parseMap deserializes a map from an XMLNode. The direct children of the XMLNode -// will also be deserialized as map entries. -func parseMap(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { - if r.IsNil() { - r.Set(reflect.MakeMap(r.Type())) - } - - if tag.Get("flattened") == "" { // look at all child entries - for _, entry := range node.Children["entry"] { - parseMapEntry(r, entry, tag) - } - } else { // this element is itself an entry - parseMapEntry(r, node, tag) - } - - return nil -} - -// parseMapEntry deserializes a map entry from a XML node. -func parseMapEntry(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { - kname, vname := "key", "value" - if n := tag.Get("locationNameKey"); n != "" { - kname = n - } - if n := tag.Get("locationNameValue"); n != "" { - vname = n - } - - keys, ok := node.Children[kname] - values := node.Children[vname] - if ok { - for i, key := range keys { - keyR := reflect.ValueOf(key.Text) - value := values[i] - valueR := reflect.New(r.Type().Elem()).Elem() - - parse(valueR, value, "") - r.SetMapIndex(keyR, valueR) - } - } - return nil -} - -// parseScaller deserializes an XMLNode value into a concrete type based on the -// interface type of r. -// -// Error is returned if the deserialization fails due to invalid type conversion, -// or unsupported interface type. -func parseScalar(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { - switch r.Interface().(type) { - case *string: - r.Set(reflect.ValueOf(&node.Text)) - return nil - case []byte: - b, err := base64.StdEncoding.DecodeString(node.Text) - if err != nil { - return err - } - r.Set(reflect.ValueOf(b)) - case *bool: - v, err := strconv.ParseBool(node.Text) - if err != nil { - return err - } - r.Set(reflect.ValueOf(&v)) - case *int64: - v, err := strconv.ParseInt(node.Text, 10, 64) - if err != nil { - return err - } - r.Set(reflect.ValueOf(&v)) - case *float64: - v, err := strconv.ParseFloat(node.Text, 64) - if err != nil { - return err - } - r.Set(reflect.ValueOf(&v)) - case *time.Time: - format := tag.Get("timestampFormat") - if len(format) == 0 { - format = protocol.ISO8601TimeFormatName - } - - t, err := protocol.ParseTime(format, node.Text) - if err != nil { - return err - } - r.Set(reflect.ValueOf(&t)) - default: - return fmt.Errorf("unsupported value: %v (%s)", r.Interface(), r.Type()) - } - return nil -} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go deleted file mode 100644 index 515ce15..0000000 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go +++ /dev/null @@ -1,148 +0,0 @@ -package xmlutil - -import ( - "encoding/xml" - "fmt" - "io" - "sort" -) - -// A XMLNode contains the values to be encoded or decoded. -type XMLNode struct { - Name xml.Name `json:",omitempty"` - Children map[string][]*XMLNode `json:",omitempty"` - Text string `json:",omitempty"` - Attr []xml.Attr `json:",omitempty"` - - namespaces map[string]string - parent *XMLNode -} - -// NewXMLElement returns a pointer to a new XMLNode initialized to default values. -func NewXMLElement(name xml.Name) *XMLNode { - return &XMLNode{ - Name: name, - Children: map[string][]*XMLNode{}, - Attr: []xml.Attr{}, - } -} - -// AddChild adds child to the XMLNode. -func (n *XMLNode) AddChild(child *XMLNode) { - child.parent = n - if _, ok := n.Children[child.Name.Local]; !ok { - n.Children[child.Name.Local] = []*XMLNode{} - } - n.Children[child.Name.Local] = append(n.Children[child.Name.Local], child) -} - -// XMLToStruct converts a xml.Decoder stream to XMLNode with nested values. -func XMLToStruct(d *xml.Decoder, s *xml.StartElement) (*XMLNode, error) { - out := &XMLNode{} - for { - tok, err := d.Token() - if err != nil { - if err == io.EOF { - break - } else { - return out, err - } - } - - if tok == nil { - break - } - - switch typed := tok.(type) { - case xml.CharData: - out.Text = string(typed.Copy()) - case xml.StartElement: - el := typed.Copy() - out.Attr = el.Attr - if out.Children == nil { - out.Children = map[string][]*XMLNode{} - } - - name := typed.Name.Local - slice := out.Children[name] - if slice == nil { - slice = []*XMLNode{} - } - node, e := XMLToStruct(d, &el) - out.findNamespaces() - if e != nil { - return out, e - } - node.Name = typed.Name - node.findNamespaces() - tempOut := *out - // Save into a temp variable, simply because out gets squashed during - // loop iterations - node.parent = &tempOut - slice = append(slice, node) - out.Children[name] = slice - case xml.EndElement: - if s != nil && s.Name.Local == typed.Name.Local { // matching end token - return out, nil - } - out = &XMLNode{} - } - } - return out, nil -} - -func (n *XMLNode) findNamespaces() { - ns := map[string]string{} - for _, a := range n.Attr { - if a.Name.Space == "xmlns" { - ns[a.Value] = a.Name.Local - } - } - - n.namespaces = ns -} - -func (n *XMLNode) findElem(name string) (string, bool) { - for node := n; node != nil; node = node.parent { - for _, a := range node.Attr { - namespace := a.Name.Space - if v, ok := node.namespaces[namespace]; ok { - namespace = v - } - if name == fmt.Sprintf("%s:%s", namespace, a.Name.Local) { - return a.Value, true - } - } - } - return "", false -} - -// StructToXML writes an XMLNode to a xml.Encoder as tokens. -func StructToXML(e *xml.Encoder, node *XMLNode, sorted bool) error { - e.EncodeToken(xml.StartElement{Name: node.Name, Attr: node.Attr}) - - if node.Text != "" { - e.EncodeToken(xml.CharData([]byte(node.Text))) - } else if sorted { - sortedNames := []string{} - for k := range node.Children { - sortedNames = append(sortedNames, k) - } - sort.Strings(sortedNames) - - for _, k := range sortedNames { - for _, v := range node.Children[k] { - StructToXML(e, v, sorted) - } - } - } else { - for _, c := range node.Children { - for _, v := range c { - StructToXML(e, v, sorted) - } - } - } - - e.EncodeToken(xml.EndElement{Name: node.Name}) - return e.Flush() -} 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 deleted file mode 100644 index eac9dcd..0000000 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go +++ /dev/null @@ -1,34997 +0,0 @@ -// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. - -package ssm - -import ( - "fmt" - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awsutil" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/private/protocol" - "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" -) - -const opAddTagsToResource = "AddTagsToResource" - -// AddTagsToResourceRequest generates a "aws/request.Request" representing the -// client's request for the AddTagsToResource operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See AddTagsToResource for more information on using the AddTagsToResource -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the AddTagsToResourceRequest method. -// req, resp := client.AddTagsToResourceRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AddTagsToResource -func (c *SSM) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) { - op := &request.Operation{ - Name: opAddTagsToResource, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &AddTagsToResourceInput{} - } - - output = &AddTagsToResourceOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// 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 can assign to your documents, managed instances, Maintenance -// Windows, Parameter Store parameters, and patch baselines. Tags enable you -// to categorize your resources in different ways, for example, by purpose, -// owner, or environment. Each tag consists of a key and an optional value, -// both of which you define. For example, you could define a set of tags for -// your account's managed instances that helps you track each instance's owner -// and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. -// Or Key=Stack and Value=Production, Pre-Production, or Test. -// -// Each resource can have a maximum of 50 tags. -// -// We recommend that you devise a set of tag keys that meets your needs for -// each resource type. Using a consistent set of tag keys makes it easier for -// you to manage your resources. You can search and filter the resources based -// on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and -// are interpreted strictly as a string of characters. -// -// For more information about tags, see Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) -// in the Amazon EC2 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 Simple Systems Manager (SSM)'s -// API operation AddTagsToResource for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidResourceType "InvalidResourceType" -// The resource type is not valid. For example, if you are attempting to tag -// an instance, the instance must be a registered, managed instance. -// -// * ErrCodeInvalidResourceId "InvalidResourceId" -// The resource ID is not valid. Verify that you entered the correct ID and -// try again. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeTooManyTagsError "TooManyTagsError" -// The Targets parameter includes too many tags. Remove one or more tags and -// try the command again. -// -// * ErrCodeTooManyUpdates "TooManyUpdates" -// There are concurrent updates for a resource that supports one update at a -// time. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AddTagsToResource -func (c *SSM) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) { - req, out := c.AddTagsToResourceRequest(input) - return out, req.Send() -} - -// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of -// the ability to pass a context and additional request options. -// -// See AddTagsToResource for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) { - req, out := c.AddTagsToResourceRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opCancelCommand = "CancelCommand" - -// CancelCommandRequest generates a "aws/request.Request" representing the -// client's request for the CancelCommand operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See CancelCommand for more information on using the CancelCommand -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the CancelCommandRequest method. -// req, resp := client.CancelCommandRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommand -func (c *SSM) CancelCommandRequest(input *CancelCommandInput) (req *request.Request, output *CancelCommandOutput) { - op := &request.Operation{ - Name: opCancelCommand, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &CancelCommandInput{} - } - - output = &CancelCommandOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// 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. -// -// 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 CancelCommand for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidCommandId "InvalidCommandId" -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeDuplicateInstanceId "DuplicateInstanceId" -// You cannot specify an instance ID in more than one association. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommand -func (c *SSM) CancelCommand(input *CancelCommandInput) (*CancelCommandOutput, error) { - req, out := c.CancelCommandRequest(input) - return out, req.Send() -} - -// CancelCommandWithContext is the same as CancelCommand with the addition of -// the ability to pass a context and additional request options. -// -// See CancelCommand for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) CancelCommandWithContext(ctx aws.Context, input *CancelCommandInput, opts ...request.Option) (*CancelCommandOutput, error) { - req, out := c.CancelCommandRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opCancelMaintenanceWindowExecution = "CancelMaintenanceWindowExecution" - -// CancelMaintenanceWindowExecutionRequest generates a "aws/request.Request" representing the -// client's request for the CancelMaintenanceWindowExecution operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See CancelMaintenanceWindowExecution for more information on using the CancelMaintenanceWindowExecution -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the CancelMaintenanceWindowExecutionRequest method. -// req, resp := client.CancelMaintenanceWindowExecutionRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelMaintenanceWindowExecution -func (c *SSM) CancelMaintenanceWindowExecutionRequest(input *CancelMaintenanceWindowExecutionInput) (req *request.Request, output *CancelMaintenanceWindowExecutionOutput) { - op := &request.Operation{ - Name: opCancelMaintenanceWindowExecution, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &CancelMaintenanceWindowExecutionInput{} - } - - output = &CancelMaintenanceWindowExecutionOutput{} - req = c.newRequest(op, input, output) - return -} - -// CancelMaintenanceWindowExecution API operation for Amazon Simple Systems Manager (SSM). -// -// Stops a Maintenance Window execution that is already in progress and cancels -// any tasks in the window that have not already starting running. (Tasks already -// in progress will continue to completion.) -// -// 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 CancelMaintenanceWindowExecution for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelMaintenanceWindowExecution -func (c *SSM) CancelMaintenanceWindowExecution(input *CancelMaintenanceWindowExecutionInput) (*CancelMaintenanceWindowExecutionOutput, error) { - req, out := c.CancelMaintenanceWindowExecutionRequest(input) - return out, req.Send() -} - -// CancelMaintenanceWindowExecutionWithContext is the same as CancelMaintenanceWindowExecution with the addition of -// the ability to pass a context and additional request options. -// -// See CancelMaintenanceWindowExecution for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) CancelMaintenanceWindowExecutionWithContext(ctx aws.Context, input *CancelMaintenanceWindowExecutionInput, opts ...request.Option) (*CancelMaintenanceWindowExecutionOutput, error) { - req, out := c.CancelMaintenanceWindowExecutionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opCreateActivation = "CreateActivation" - -// CreateActivationRequest generates a "aws/request.Request" representing the -// client's request for the CreateActivation operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See CreateActivation for more information on using the CreateActivation -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the CreateActivationRequest method. -// req, resp := client.CreateActivationRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivation -func (c *SSM) CreateActivationRequest(input *CreateActivationInput) (req *request.Request, output *CreateActivationOutput) { - op := &request.Operation{ - Name: opCreateActivation, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &CreateActivationInput{} - } - - output = &CreateActivationOutput{} - req = c.newRequest(op, input, output) - return -} - -// 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 -// virtual machine that has been registered with EC2 is called a managed instance. -// For more information about activations, see Setting Up Systems Manager in -// Hybrid Environments (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html). -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation CreateActivation for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivation -func (c *SSM) CreateActivation(input *CreateActivationInput) (*CreateActivationOutput, error) { - req, out := c.CreateActivationRequest(input) - return out, req.Send() -} - -// CreateActivationWithContext is the same as CreateActivation with the addition of -// the ability to pass a context and additional request options. -// -// See CreateActivation for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) CreateActivationWithContext(ctx aws.Context, input *CreateActivationInput, opts ...request.Option) (*CreateActivationOutput, error) { - req, out := c.CreateActivationRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opCreateAssociation = "CreateAssociation" - -// CreateAssociationRequest generates a "aws/request.Request" representing the -// client's request for the CreateAssociation operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See CreateAssociation for more information on using the CreateAssociation -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the CreateAssociationRequest method. -// req, resp := client.CreateAssociationRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociation -func (c *SSM) CreateAssociationRequest(input *CreateAssociationInput) (req *request.Request, output *CreateAssociationOutput) { - op := &request.Operation{ - Name: opCreateAssociation, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &CreateAssociationInput{} - } - - output = &CreateAssociationOutput{} - req = c.newRequest(op, input, output) - return -} - -// CreateAssociation API operation for Amazon Simple Systems Manager (SSM). -// -// Associates the specified Systems Manager document with the specified instances -// or targets. -// -// When you associate a document with one or more instances using instance IDs -// or tags, 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 returns the AssociationAlreadyExists exception. -// -// 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 CreateAssociation for usage and error information. -// -// Returned Error Codes: -// * ErrCodeAssociationAlreadyExists "AssociationAlreadyExists" -// The specified association already exists. -// -// * ErrCodeAssociationLimitExceeded "AssociationLimitExceeded" -// You can have at most 2,000 active associations. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion" -// The document version is not valid or does not exist. -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeUnsupportedPlatformType "UnsupportedPlatformType" -// The document does not support the platform type of the given instance ID(s). -// For example, you sent an document for a Windows instance to a Linux instance. -// -// * ErrCodeInvalidOutputLocation "InvalidOutputLocation" -// The output location is not valid or does not exist. -// -// * ErrCodeInvalidParameters "InvalidParameters" -// You must specify values for all required parameters in the Systems Manager -// document. You can only supply values to parameters defined in the Systems -// Manager document. -// -// * ErrCodeInvalidTarget "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. -// -// * ErrCodeInvalidSchedule "InvalidSchedule" -// The schedule is invalid. Verify your cron or rate expression and try again. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociation -func (c *SSM) CreateAssociation(input *CreateAssociationInput) (*CreateAssociationOutput, error) { - req, out := c.CreateAssociationRequest(input) - return out, req.Send() -} - -// CreateAssociationWithContext is the same as CreateAssociation with the addition of -// the ability to pass a context and additional request options. -// -// See CreateAssociation for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) CreateAssociationWithContext(ctx aws.Context, input *CreateAssociationInput, opts ...request.Option) (*CreateAssociationOutput, error) { - req, out := c.CreateAssociationRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opCreateAssociationBatch = "CreateAssociationBatch" - -// CreateAssociationBatchRequest generates a "aws/request.Request" representing the -// client's request for the CreateAssociationBatch operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See CreateAssociationBatch for more information on using the CreateAssociationBatch -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the CreateAssociationBatchRequest method. -// req, resp := client.CreateAssociationBatchRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatch -func (c *SSM) CreateAssociationBatchRequest(input *CreateAssociationBatchInput) (req *request.Request, output *CreateAssociationBatchOutput) { - op := &request.Operation{ - Name: opCreateAssociationBatch, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &CreateAssociationBatchInput{} - } - - output = &CreateAssociationBatchOutput{} - req = c.newRequest(op, input, output) - return -} - -// CreateAssociationBatch API operation for Amazon Simple Systems Manager (SSM). -// -// Associates the specified Systems Manager document with the specified instances -// or targets. -// -// When you associate a document with one or more instances using instance IDs -// or tags, 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 returns the AssociationAlreadyExists exception. -// -// 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 CreateAssociationBatch for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion" -// The document version is not valid or does not exist. -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInvalidParameters "InvalidParameters" -// You must specify values for all required parameters in the Systems Manager -// document. You can only supply values to parameters defined in the Systems -// Manager document. -// -// * ErrCodeDuplicateInstanceId "DuplicateInstanceId" -// You cannot specify an instance ID in more than one association. -// -// * ErrCodeAssociationLimitExceeded "AssociationLimitExceeded" -// You can have at most 2,000 active associations. -// -// * ErrCodeUnsupportedPlatformType "UnsupportedPlatformType" -// The document does not support the platform type of the given instance ID(s). -// For example, you sent an document for a Windows instance to a Linux instance. -// -// * ErrCodeInvalidOutputLocation "InvalidOutputLocation" -// The output location is not valid or does not exist. -// -// * ErrCodeInvalidTarget "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. -// -// * ErrCodeInvalidSchedule "InvalidSchedule" -// The schedule is invalid. Verify your cron or rate expression and try again. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatch -func (c *SSM) CreateAssociationBatch(input *CreateAssociationBatchInput) (*CreateAssociationBatchOutput, error) { - req, out := c.CreateAssociationBatchRequest(input) - return out, req.Send() -} - -// CreateAssociationBatchWithContext is the same as CreateAssociationBatch with the addition of -// the ability to pass a context and additional request options. -// -// See CreateAssociationBatch for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) CreateAssociationBatchWithContext(ctx aws.Context, input *CreateAssociationBatchInput, opts ...request.Option) (*CreateAssociationBatchOutput, error) { - req, out := c.CreateAssociationBatchRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opCreateDocument = "CreateDocument" - -// CreateDocumentRequest generates a "aws/request.Request" representing the -// client's request for the CreateDocument operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See CreateDocument for more information on using the CreateDocument -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the CreateDocumentRequest method. -// req, resp := client.CreateDocumentRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocument -func (c *SSM) CreateDocumentRequest(input *CreateDocumentInput) (req *request.Request, output *CreateDocumentOutput) { - op := &request.Operation{ - Name: opCreateDocument, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &CreateDocumentInput{} - } - - output = &CreateDocumentOutput{} - req = c.newRequest(op, input, output) - return -} - -// CreateDocument API operation for Amazon Simple Systems Manager (SSM). -// -// Creates a Systems Manager document. -// -// After you create a document, you can use CreateAssociation to associate it -// with one or more running instances. -// -// 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 CreateDocument for usage and error information. -// -// Returned Error Codes: -// * ErrCodeDocumentAlreadyExists "DocumentAlreadyExists" -// The specified document already exists. -// -// * ErrCodeMaxDocumentSizeExceeded "MaxDocumentSizeExceeded" -// The size limit of a document is 64 KB. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidDocumentContent "InvalidDocumentContent" -// The content for the document is not valid. -// -// * ErrCodeDocumentLimitExceeded "DocumentLimitExceeded" -// You can have at most 200 active Systems Manager documents. -// -// * ErrCodeInvalidDocumentSchemaVersion "InvalidDocumentSchemaVersion" -// The version of the document schema is not supported. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocument -func (c *SSM) CreateDocument(input *CreateDocumentInput) (*CreateDocumentOutput, error) { - req, out := c.CreateDocumentRequest(input) - return out, req.Send() -} - -// CreateDocumentWithContext is the same as CreateDocument with the addition of -// the ability to pass a context and additional request options. -// -// See CreateDocument for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) CreateDocumentWithContext(ctx aws.Context, input *CreateDocumentInput, opts ...request.Option) (*CreateDocumentOutput, error) { - req, out := c.CreateDocumentRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opCreateMaintenanceWindow = "CreateMaintenanceWindow" - -// CreateMaintenanceWindowRequest generates a "aws/request.Request" representing the -// client's request for the CreateMaintenanceWindow operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See CreateMaintenanceWindow for more information on using the CreateMaintenanceWindow -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the CreateMaintenanceWindowRequest method. -// req, resp := client.CreateMaintenanceWindowRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindow -func (c *SSM) CreateMaintenanceWindowRequest(input *CreateMaintenanceWindowInput) (req *request.Request, output *CreateMaintenanceWindowOutput) { - op := &request.Operation{ - Name: opCreateMaintenanceWindow, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &CreateMaintenanceWindowInput{} - } - - output = &CreateMaintenanceWindowOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeIdempotentParameterMismatch "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. -// -// * ErrCodeResourceLimitExceededException "ResourceLimitExceededException" -// Error returned when the caller has exceeded the default resource limits. -// For example, too many Maintenance Windows or Patch baselines have been created. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindow -func (c *SSM) CreateMaintenanceWindow(input *CreateMaintenanceWindowInput) (*CreateMaintenanceWindowOutput, error) { - req, out := c.CreateMaintenanceWindowRequest(input) - return out, req.Send() -} - -// CreateMaintenanceWindowWithContext is the same as CreateMaintenanceWindow with the addition of -// the ability to pass a context and additional request options. -// -// See CreateMaintenanceWindow for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) CreateMaintenanceWindowWithContext(ctx aws.Context, input *CreateMaintenanceWindowInput, opts ...request.Option) (*CreateMaintenanceWindowOutput, error) { - req, out := c.CreateMaintenanceWindowRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opCreatePatchBaseline = "CreatePatchBaseline" - -// CreatePatchBaselineRequest generates a "aws/request.Request" representing the -// client's request for the CreatePatchBaseline operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See CreatePatchBaseline for more information on using the CreatePatchBaseline -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the CreatePatchBaselineRequest method. -// req, resp := client.CreatePatchBaselineRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaseline -func (c *SSM) CreatePatchBaselineRequest(input *CreatePatchBaselineInput) (req *request.Request, output *CreatePatchBaselineOutput) { - op := &request.Operation{ - Name: opCreatePatchBaseline, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &CreatePatchBaselineInput{} - } - - output = &CreatePatchBaselineOutput{} - req = c.newRequest(op, input, output) - return -} - -// CreatePatchBaseline API operation for Amazon Simple Systems Manager (SSM). -// -// Creates a patch baseline. -// -// For information about valid key and value pairs in PatchFilters for each -// supported operating system type, see PatchFilter (http://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html). -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation CreatePatchBaseline for usage and error information. -// -// Returned Error Codes: -// * ErrCodeIdempotentParameterMismatch "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. -// -// * ErrCodeResourceLimitExceededException "ResourceLimitExceededException" -// Error returned when the caller has exceeded the default resource limits. -// For example, too many Maintenance Windows or Patch baselines have been created. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaseline -func (c *SSM) CreatePatchBaseline(input *CreatePatchBaselineInput) (*CreatePatchBaselineOutput, error) { - req, out := c.CreatePatchBaselineRequest(input) - return out, req.Send() -} - -// CreatePatchBaselineWithContext is the same as CreatePatchBaseline with the addition of -// the ability to pass a context and additional request options. -// -// See CreatePatchBaseline for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) CreatePatchBaselineWithContext(ctx aws.Context, input *CreatePatchBaselineInput, opts ...request.Option) (*CreatePatchBaselineOutput, error) { - req, out := c.CreatePatchBaselineRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opCreateResourceDataSync = "CreateResourceDataSync" - -// CreateResourceDataSyncRequest generates a "aws/request.Request" representing the -// client's request for the CreateResourceDataSync operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See CreateResourceDataSync for more information on using the CreateResourceDataSync -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the CreateResourceDataSyncRequest method. -// req, resp := client.CreateResourceDataSyncRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSync -func (c *SSM) CreateResourceDataSyncRequest(input *CreateResourceDataSyncInput) (req *request.Request, output *CreateResourceDataSyncOutput) { - op := &request.Operation{ - Name: opCreateResourceDataSync, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &CreateResourceDataSyncInput{} - } - - output = &CreateResourceDataSyncOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// CreateResourceDataSync API operation for Amazon Simple Systems Manager (SSM). -// -// Creates a resource data sync configuration to a single bucket in Amazon S3. -// This is an asynchronous operation that returns immediately. After a successful -// initial sync is completed, the system continuously syncs data to the Amazon -// S3 bucket. To check the status of the sync, use the ListResourceDataSync. -// -// By default, data is not encrypted in Amazon S3. We strongly recommend that -// you enable encryption in Amazon S3 to ensure secure data storage. We also -// recommend that you secure access to the Amazon S3 bucket by creating a restrictive -// bucket policy. To view an example of a restrictive Amazon S3 bucket policy -// for Resource Data Sync, see Create a Resource Data Sync for Inventory (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-datasync-create.html) -// in the AWS Systems Manager 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 Simple Systems Manager (SSM)'s -// API operation CreateResourceDataSync for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeResourceDataSyncCountExceededException "ResourceDataSyncCountExceededException" -// You have exceeded the allowed maximum sync configurations. -// -// * ErrCodeResourceDataSyncAlreadyExistsException "ResourceDataSyncAlreadyExistsException" -// A sync configuration with the same name already exists. -// -// * ErrCodeResourceDataSyncInvalidConfigurationException "ResourceDataSyncInvalidConfigurationException" -// The specified sync configuration is invalid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSync -func (c *SSM) CreateResourceDataSync(input *CreateResourceDataSyncInput) (*CreateResourceDataSyncOutput, error) { - req, out := c.CreateResourceDataSyncRequest(input) - return out, req.Send() -} - -// CreateResourceDataSyncWithContext is the same as CreateResourceDataSync with the addition of -// the ability to pass a context and additional request options. -// -// See CreateResourceDataSync for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) CreateResourceDataSyncWithContext(ctx aws.Context, input *CreateResourceDataSyncInput, opts ...request.Option) (*CreateResourceDataSyncOutput, error) { - req, out := c.CreateResourceDataSyncRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeleteActivation = "DeleteActivation" - -// DeleteActivationRequest generates a "aws/request.Request" representing the -// client's request for the DeleteActivation operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeleteActivation for more information on using the DeleteActivation -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeleteActivationRequest method. -// req, resp := client.DeleteActivationRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivation -func (c *SSM) DeleteActivationRequest(input *DeleteActivationInput) (req *request.Request, output *DeleteActivationOutput) { - op := &request.Operation{ - Name: opDeleteActivation, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeleteActivationInput{} - } - - output = &DeleteActivationOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// 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 -// instances. Deleting an activation does not de-register managed instances. -// You must manually de-register managed instances. -// -// 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 DeleteActivation for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidActivationId "InvalidActivationId" -// The activation ID is not valid. Verify the you entered the correct ActivationId -// or ActivationCode and try again. -// -// * ErrCodeInvalidActivation "InvalidActivation" -// The activation is not valid. The activation might have been deleted, or the -// ActivationId and the ActivationCode do not match. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeTooManyUpdates "TooManyUpdates" -// There are concurrent updates for a resource that supports one update at a -// time. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivation -func (c *SSM) DeleteActivation(input *DeleteActivationInput) (*DeleteActivationOutput, error) { - req, out := c.DeleteActivationRequest(input) - return out, req.Send() -} - -// DeleteActivationWithContext is the same as DeleteActivation with the addition of -// the ability to pass a context and additional request options. -// -// See DeleteActivation for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeleteActivationWithContext(ctx aws.Context, input *DeleteActivationInput, opts ...request.Option) (*DeleteActivationOutput, error) { - req, out := c.DeleteActivationRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeleteAssociation = "DeleteAssociation" - -// DeleteAssociationRequest generates a "aws/request.Request" representing the -// client's request for the DeleteAssociation operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeleteAssociation for more information on using the DeleteAssociation -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeleteAssociationRequest method. -// req, resp := client.DeleteAssociationRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociation -func (c *SSM) DeleteAssociationRequest(input *DeleteAssociationInput) (req *request.Request, output *DeleteAssociationOutput) { - op := &request.Operation{ - Name: opDeleteAssociation, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeleteAssociationInput{} - } - - output = &DeleteAssociationOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// DeleteAssociation API operation for Amazon Simple Systems Manager (SSM). -// -// Disassociates the specified Systems Manager document from the specified instance. -// -// When you disassociate a document from an instance, it does not change the -// configuration of the instance. To change the configuration state of an instance -// after you disassociate a document, you must create a new document with the -// desired configuration and associate it with the 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 Simple Systems Manager (SSM)'s -// API operation DeleteAssociation for usage and error information. -// -// Returned Error Codes: -// * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist" -// The specified association does not exist. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeTooManyUpdates "TooManyUpdates" -// There are concurrent updates for a resource that supports one update at a -// time. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociation -func (c *SSM) DeleteAssociation(input *DeleteAssociationInput) (*DeleteAssociationOutput, error) { - req, out := c.DeleteAssociationRequest(input) - return out, req.Send() -} - -// DeleteAssociationWithContext is the same as DeleteAssociation with the addition of -// the ability to pass a context and additional request options. -// -// See DeleteAssociation for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeleteAssociationWithContext(ctx aws.Context, input *DeleteAssociationInput, opts ...request.Option) (*DeleteAssociationOutput, error) { - req, out := c.DeleteAssociationRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeleteDocument = "DeleteDocument" - -// DeleteDocumentRequest generates a "aws/request.Request" representing the -// client's request for the DeleteDocument operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeleteDocument for more information on using the DeleteDocument -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeleteDocumentRequest method. -// req, resp := client.DeleteDocumentRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocument -func (c *SSM) DeleteDocumentRequest(input *DeleteDocumentInput) (req *request.Request, output *DeleteDocumentOutput) { - op := &request.Operation{ - Name: opDeleteDocument, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeleteDocumentInput{} - } - - output = &DeleteDocumentOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// DeleteDocument API operation for Amazon Simple Systems Manager (SSM). -// -// Deletes the Systems Manager document and all instance associations to the -// document. -// -// Before you delete the document, we recommend that you use DeleteAssociation -// to disassociate all instances that are associated with the 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 DeleteDocument for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidDocumentOperation "InvalidDocumentOperation" -// You attempted to delete a document while it is still shared. You must stop -// sharing the document before you can delete it. -// -// * ErrCodeAssociatedInstances "AssociatedInstances" -// You must disassociate a document from all instances before you can delete -// it. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocument -func (c *SSM) DeleteDocument(input *DeleteDocumentInput) (*DeleteDocumentOutput, error) { - req, out := c.DeleteDocumentRequest(input) - return out, req.Send() -} - -// DeleteDocumentWithContext is the same as DeleteDocument with the addition of -// the ability to pass a context and additional request options. -// -// See DeleteDocument for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeleteDocumentWithContext(ctx aws.Context, input *DeleteDocumentInput, opts ...request.Option) (*DeleteDocumentOutput, error) { - req, out := c.DeleteDocumentRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeleteInventory = "DeleteInventory" - -// DeleteInventoryRequest generates a "aws/request.Request" representing the -// client's request for the DeleteInventory operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeleteInventory for more information on using the DeleteInventory -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeleteInventoryRequest method. -// req, resp := client.DeleteInventoryRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteInventory -func (c *SSM) DeleteInventoryRequest(input *DeleteInventoryInput) (req *request.Request, output *DeleteInventoryOutput) { - op := &request.Operation{ - Name: opDeleteInventory, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeleteInventoryInput{} - } - - output = &DeleteInventoryOutput{} - req = c.newRequest(op, input, output) - return -} - -// DeleteInventory API operation for Amazon Simple Systems Manager (SSM). -// -// Delete a custom inventory type, or the data associated with a custom Inventory -// type. Deleting a custom inventory type is also referred to as deleting a -// custom inventory schema. -// -// 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 DeleteInventory for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidTypeNameException "InvalidTypeNameException" -// The parameter type name is not valid. -// -// * ErrCodeInvalidOptionException "InvalidOptionException" -// The delete inventory option specified is not valid. Verify the option and -// try again. -// -// * ErrCodeInvalidDeleteInventoryParametersException "InvalidDeleteInventoryParametersException" -// One or more of the parameters specified for the delete operation is not valid. -// Verify all parameters and try again. -// -// * ErrCodeInvalidInventoryRequestException "InvalidInventoryRequestException" -// The request is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteInventory -func (c *SSM) DeleteInventory(input *DeleteInventoryInput) (*DeleteInventoryOutput, error) { - req, out := c.DeleteInventoryRequest(input) - return out, req.Send() -} - -// DeleteInventoryWithContext is the same as DeleteInventory with the addition of -// the ability to pass a context and additional request options. -// -// See DeleteInventory for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeleteInventoryWithContext(ctx aws.Context, input *DeleteInventoryInput, opts ...request.Option) (*DeleteInventoryOutput, error) { - req, out := c.DeleteInventoryRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeleteMaintenanceWindow = "DeleteMaintenanceWindow" - -// DeleteMaintenanceWindowRequest generates a "aws/request.Request" representing the -// client's request for the DeleteMaintenanceWindow operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeleteMaintenanceWindow for more information on using the DeleteMaintenanceWindow -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeleteMaintenanceWindowRequest method. -// req, resp := client.DeleteMaintenanceWindowRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindow -func (c *SSM) DeleteMaintenanceWindowRequest(input *DeleteMaintenanceWindowInput) (req *request.Request, output *DeleteMaintenanceWindowOutput) { - op := &request.Operation{ - Name: opDeleteMaintenanceWindow, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeleteMaintenanceWindowInput{} - } - - output = &DeleteMaintenanceWindowOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindow -func (c *SSM) DeleteMaintenanceWindow(input *DeleteMaintenanceWindowInput) (*DeleteMaintenanceWindowOutput, error) { - req, out := c.DeleteMaintenanceWindowRequest(input) - return out, req.Send() -} - -// DeleteMaintenanceWindowWithContext is the same as DeleteMaintenanceWindow with the addition of -// the ability to pass a context and additional request options. -// -// See DeleteMaintenanceWindow for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeleteMaintenanceWindowWithContext(ctx aws.Context, input *DeleteMaintenanceWindowInput, opts ...request.Option) (*DeleteMaintenanceWindowOutput, error) { - req, out := c.DeleteMaintenanceWindowRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeleteParameter = "DeleteParameter" - -// DeleteParameterRequest generates a "aws/request.Request" representing the -// client's request for the DeleteParameter operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeleteParameter for more information on using the DeleteParameter -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeleteParameterRequest method. -// req, resp := client.DeleteParameterRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameter -func (c *SSM) DeleteParameterRequest(input *DeleteParameterInput) (req *request.Request, output *DeleteParameterOutput) { - op := &request.Operation{ - Name: opDeleteParameter, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeleteParameterInput{} - } - - output = &DeleteParameterOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeParameterNotFound "ParameterNotFound" -// The parameter could not be found. Verify the name and try again. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameter -func (c *SSM) DeleteParameter(input *DeleteParameterInput) (*DeleteParameterOutput, error) { - req, out := c.DeleteParameterRequest(input) - return out, req.Send() -} - -// DeleteParameterWithContext is the same as DeleteParameter with the addition of -// the ability to pass a context and additional request options. -// -// See DeleteParameter for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeleteParameterWithContext(ctx aws.Context, input *DeleteParameterInput, opts ...request.Option) (*DeleteParameterOutput, error) { - req, out := c.DeleteParameterRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeleteParameters = "DeleteParameters" - -// DeleteParametersRequest generates a "aws/request.Request" representing the -// client's request for the DeleteParameters operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeleteParameters for more information on using the DeleteParameters -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeleteParametersRequest method. -// req, resp := client.DeleteParametersRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameters -func (c *SSM) DeleteParametersRequest(input *DeleteParametersInput) (req *request.Request, output *DeleteParametersOutput) { - op := &request.Operation{ - Name: opDeleteParameters, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeleteParametersInput{} - } - - output = &DeleteParametersOutput{} - req = c.newRequest(op, input, output) - return -} - -// DeleteParameters API operation for Amazon Simple Systems Manager (SSM). -// -// Delete a list of parameters. This API is used to delete parameters by using -// the Amazon EC2 console. -// -// 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 DeleteParameters for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameters -func (c *SSM) DeleteParameters(input *DeleteParametersInput) (*DeleteParametersOutput, error) { - req, out := c.DeleteParametersRequest(input) - return out, req.Send() -} - -// DeleteParametersWithContext is the same as DeleteParameters with the addition of -// the ability to pass a context and additional request options. -// -// See DeleteParameters for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeleteParametersWithContext(ctx aws.Context, input *DeleteParametersInput, opts ...request.Option) (*DeleteParametersOutput, error) { - req, out := c.DeleteParametersRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeletePatchBaseline = "DeletePatchBaseline" - -// DeletePatchBaselineRequest generates a "aws/request.Request" representing the -// client's request for the DeletePatchBaseline operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeletePatchBaseline for more information on using the DeletePatchBaseline -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeletePatchBaselineRequest method. -// req, resp := client.DeletePatchBaselineRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaseline -func (c *SSM) DeletePatchBaselineRequest(input *DeletePatchBaselineInput) (req *request.Request, output *DeletePatchBaselineOutput) { - op := &request.Operation{ - Name: opDeletePatchBaseline, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeletePatchBaselineInput{} - } - - output = &DeletePatchBaselineOutput{} - req = c.newRequest(op, input, output) - return -} - -// DeletePatchBaseline API operation for Amazon Simple Systems Manager (SSM). -// -// Deletes a patch baseline. -// -// 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 DeletePatchBaseline for usage and error information. -// -// Returned Error Codes: -// * ErrCodeResourceInUseException "ResourceInUseException" -// Error returned if an attempt is made to delete a patch baseline that is registered -// for a patch group. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaseline -func (c *SSM) DeletePatchBaseline(input *DeletePatchBaselineInput) (*DeletePatchBaselineOutput, error) { - req, out := c.DeletePatchBaselineRequest(input) - return out, req.Send() -} - -// DeletePatchBaselineWithContext is the same as DeletePatchBaseline with the addition of -// the ability to pass a context and additional request options. -// -// See DeletePatchBaseline for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeletePatchBaselineWithContext(ctx aws.Context, input *DeletePatchBaselineInput, opts ...request.Option) (*DeletePatchBaselineOutput, error) { - req, out := c.DeletePatchBaselineRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeleteResourceDataSync = "DeleteResourceDataSync" - -// DeleteResourceDataSyncRequest generates a "aws/request.Request" representing the -// client's request for the DeleteResourceDataSync operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeleteResourceDataSync for more information on using the DeleteResourceDataSync -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeleteResourceDataSyncRequest method. -// req, resp := client.DeleteResourceDataSyncRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSync -func (c *SSM) DeleteResourceDataSyncRequest(input *DeleteResourceDataSyncInput) (req *request.Request, output *DeleteResourceDataSyncOutput) { - op := &request.Operation{ - Name: opDeleteResourceDataSync, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeleteResourceDataSyncInput{} - } - - output = &DeleteResourceDataSyncOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// DeleteResourceDataSync API operation for Amazon Simple Systems Manager (SSM). -// -// Deletes a Resource Data Sync configuration. After the configuration is deleted, -// changes to inventory data on managed instances are no longer synced with -// the target Amazon S3 bucket. Deleting a sync configuration does not delete -// data in the target Amazon S3 bucket. -// -// 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 DeleteResourceDataSync for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeResourceDataSyncNotFoundException "ResourceDataSyncNotFoundException" -// The specified sync name was not found. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSync -func (c *SSM) DeleteResourceDataSync(input *DeleteResourceDataSyncInput) (*DeleteResourceDataSyncOutput, error) { - req, out := c.DeleteResourceDataSyncRequest(input) - return out, req.Send() -} - -// DeleteResourceDataSyncWithContext is the same as DeleteResourceDataSync with the addition of -// the ability to pass a context and additional request options. -// -// See DeleteResourceDataSync for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeleteResourceDataSyncWithContext(ctx aws.Context, input *DeleteResourceDataSyncInput, opts ...request.Option) (*DeleteResourceDataSyncOutput, error) { - req, out := c.DeleteResourceDataSyncRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeregisterManagedInstance = "DeregisterManagedInstance" - -// DeregisterManagedInstanceRequest generates a "aws/request.Request" representing the -// client's request for the DeregisterManagedInstance operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeregisterManagedInstance for more information on using the DeregisterManagedInstance -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeregisterManagedInstanceRequest method. -// req, resp := client.DeregisterManagedInstanceRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstance -func (c *SSM) DeregisterManagedInstanceRequest(input *DeregisterManagedInstanceInput) (req *request.Request, output *DeregisterManagedInstanceOutput) { - op := &request.Operation{ - Name: opDeregisterManagedInstance, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeregisterManagedInstanceInput{} - } - - output = &DeregisterManagedInstanceOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// 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 -// Run Command on the server, we suggest uninstalling SSM Agent first. -// -// 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 DeregisterManagedInstance for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstance -func (c *SSM) DeregisterManagedInstance(input *DeregisterManagedInstanceInput) (*DeregisterManagedInstanceOutput, error) { - req, out := c.DeregisterManagedInstanceRequest(input) - return out, req.Send() -} - -// DeregisterManagedInstanceWithContext is the same as DeregisterManagedInstance with the addition of -// the ability to pass a context and additional request options. -// -// See DeregisterManagedInstance for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeregisterManagedInstanceWithContext(ctx aws.Context, input *DeregisterManagedInstanceInput, opts ...request.Option) (*DeregisterManagedInstanceOutput, error) { - req, out := c.DeregisterManagedInstanceRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeregisterPatchBaselineForPatchGroup = "DeregisterPatchBaselineForPatchGroup" - -// DeregisterPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the -// client's request for the DeregisterPatchBaselineForPatchGroup operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeregisterPatchBaselineForPatchGroup for more information on using the DeregisterPatchBaselineForPatchGroup -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeregisterPatchBaselineForPatchGroupRequest method. -// req, resp := client.DeregisterPatchBaselineForPatchGroupRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroup -func (c *SSM) DeregisterPatchBaselineForPatchGroupRequest(input *DeregisterPatchBaselineForPatchGroupInput) (req *request.Request, output *DeregisterPatchBaselineForPatchGroupOutput) { - op := &request.Operation{ - Name: opDeregisterPatchBaselineForPatchGroup, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeregisterPatchBaselineForPatchGroupInput{} - } - - output = &DeregisterPatchBaselineForPatchGroupOutput{} - req = c.newRequest(op, input, output) - return -} - -// DeregisterPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM). -// -// Removes a patch group from a patch baseline. -// -// 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 DeregisterPatchBaselineForPatchGroup for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidResourceId "InvalidResourceId" -// The resource ID is not valid. Verify that you entered the correct ID and -// try again. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroup -func (c *SSM) DeregisterPatchBaselineForPatchGroup(input *DeregisterPatchBaselineForPatchGroupInput) (*DeregisterPatchBaselineForPatchGroupOutput, error) { - req, out := c.DeregisterPatchBaselineForPatchGroupRequest(input) - return out, req.Send() -} - -// DeregisterPatchBaselineForPatchGroupWithContext is the same as DeregisterPatchBaselineForPatchGroup with the addition of -// the ability to pass a context and additional request options. -// -// See DeregisterPatchBaselineForPatchGroup for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeregisterPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *DeregisterPatchBaselineForPatchGroupInput, opts ...request.Option) (*DeregisterPatchBaselineForPatchGroupOutput, error) { - req, out := c.DeregisterPatchBaselineForPatchGroupRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeregisterTargetFromMaintenanceWindow = "DeregisterTargetFromMaintenanceWindow" - -// DeregisterTargetFromMaintenanceWindowRequest generates a "aws/request.Request" representing the -// client's request for the DeregisterTargetFromMaintenanceWindow operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeregisterTargetFromMaintenanceWindow for more information on using the DeregisterTargetFromMaintenanceWindow -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeregisterTargetFromMaintenanceWindowRequest method. -// req, resp := client.DeregisterTargetFromMaintenanceWindowRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindow -func (c *SSM) DeregisterTargetFromMaintenanceWindowRequest(input *DeregisterTargetFromMaintenanceWindowInput) (req *request.Request, output *DeregisterTargetFromMaintenanceWindowOutput) { - op := &request.Operation{ - Name: opDeregisterTargetFromMaintenanceWindow, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeregisterTargetFromMaintenanceWindowInput{} - } - - output = &DeregisterTargetFromMaintenanceWindowOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeTargetInUseException "TargetInUseException" -// You specified the Safe option for the DeregisterTargetFromMaintenanceWindow -// operation, but the target is still referenced in a task. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindow -func (c *SSM) DeregisterTargetFromMaintenanceWindow(input *DeregisterTargetFromMaintenanceWindowInput) (*DeregisterTargetFromMaintenanceWindowOutput, error) { - req, out := c.DeregisterTargetFromMaintenanceWindowRequest(input) - return out, req.Send() -} - -// DeregisterTargetFromMaintenanceWindowWithContext is the same as DeregisterTargetFromMaintenanceWindow with the addition of -// the ability to pass a context and additional request options. -// -// See DeregisterTargetFromMaintenanceWindow for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeregisterTargetFromMaintenanceWindowWithContext(ctx aws.Context, input *DeregisterTargetFromMaintenanceWindowInput, opts ...request.Option) (*DeregisterTargetFromMaintenanceWindowOutput, error) { - req, out := c.DeregisterTargetFromMaintenanceWindowRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDeregisterTaskFromMaintenanceWindow = "DeregisterTaskFromMaintenanceWindow" - -// DeregisterTaskFromMaintenanceWindowRequest generates a "aws/request.Request" representing the -// client's request for the DeregisterTaskFromMaintenanceWindow operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DeregisterTaskFromMaintenanceWindow for more information on using the DeregisterTaskFromMaintenanceWindow -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DeregisterTaskFromMaintenanceWindowRequest method. -// req, resp := client.DeregisterTaskFromMaintenanceWindowRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindow -func (c *SSM) DeregisterTaskFromMaintenanceWindowRequest(input *DeregisterTaskFromMaintenanceWindowInput) (req *request.Request, output *DeregisterTaskFromMaintenanceWindowOutput) { - op := &request.Operation{ - Name: opDeregisterTaskFromMaintenanceWindow, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DeregisterTaskFromMaintenanceWindowInput{} - } - - output = &DeregisterTaskFromMaintenanceWindowOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindow -func (c *SSM) DeregisterTaskFromMaintenanceWindow(input *DeregisterTaskFromMaintenanceWindowInput) (*DeregisterTaskFromMaintenanceWindowOutput, error) { - req, out := c.DeregisterTaskFromMaintenanceWindowRequest(input) - return out, req.Send() -} - -// DeregisterTaskFromMaintenanceWindowWithContext is the same as DeregisterTaskFromMaintenanceWindow with the addition of -// the ability to pass a context and additional request options. -// -// See DeregisterTaskFromMaintenanceWindow for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DeregisterTaskFromMaintenanceWindowWithContext(ctx aws.Context, input *DeregisterTaskFromMaintenanceWindowInput, opts ...request.Option) (*DeregisterTaskFromMaintenanceWindowOutput, error) { - req, out := c.DeregisterTaskFromMaintenanceWindowRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeActivations = "DescribeActivations" - -// DescribeActivationsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeActivations operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeActivations for more information on using the DescribeActivations -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeActivationsRequest method. -// req, resp := client.DescribeActivationsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivations -func (c *SSM) DescribeActivationsRequest(input *DescribeActivationsInput) (req *request.Request, output *DescribeActivationsOutput) { - op := &request.Operation{ - Name: opDescribeActivations, - HTTPMethod: "POST", - HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, - } - - if input == nil { - input = &DescribeActivationsInput{} - } - - output = &DescribeActivationsOutput{} - req = c.newRequest(op, input, output) - return -} - -// 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 -// in the activation, and the number of instances activated by this registration. -// -// 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 DescribeActivations for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidFilter "InvalidFilter" -// The filter name is not valid. Verify the you entered the correct name and -// try again. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivations -func (c *SSM) DescribeActivations(input *DescribeActivationsInput) (*DescribeActivationsOutput, error) { - req, out := c.DescribeActivationsRequest(input) - return out, req.Send() -} - -// DescribeActivationsWithContext is the same as DescribeActivations with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeActivations for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeActivationsWithContext(ctx aws.Context, input *DescribeActivationsInput, opts ...request.Option) (*DescribeActivationsOutput, error) { - req, out := c.DescribeActivationsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// DescribeActivationsPages iterates over the pages of a DescribeActivations operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See DescribeActivations method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a DescribeActivations operation. -// pageNum := 0 -// err := client.DescribeActivationsPages(params, -// func(page *DescribeActivationsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *SSM) DescribeActivationsPages(input *DescribeActivationsInput, fn func(*DescribeActivationsOutput, bool) bool) error { - return c.DescribeActivationsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// DescribeActivationsPagesWithContext same as DescribeActivationsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeActivationsPagesWithContext(ctx aws.Context, input *DescribeActivationsInput, fn func(*DescribeActivationsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *DescribeActivationsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.DescribeActivationsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - cont := true - for p.Next() && cont { - cont = fn(p.Page().(*DescribeActivationsOutput), !p.HasNextPage()) - } - return p.Err() -} - -const opDescribeAssociation = "DescribeAssociation" - -// DescribeAssociationRequest generates a "aws/request.Request" representing the -// client's request for the DescribeAssociation operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeAssociation for more information on using the DescribeAssociation -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeAssociationRequest method. -// req, resp := client.DescribeAssociationRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociation -func (c *SSM) DescribeAssociationRequest(input *DescribeAssociationInput) (req *request.Request, output *DescribeAssociationOutput) { - op := &request.Operation{ - Name: opDescribeAssociation, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeAssociationInput{} - } - - output = &DescribeAssociationOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeAssociation API operation for Amazon Simple Systems Manager (SSM). -// -// Describes the association for the specified target or instance. If you created -// the association by using the Targets parameter, then you must retrieve the -// association by using the association ID. If you created the association by -// specifying an instance ID and a Systems Manager document, then you retrieve -// the association by specifying the document name and the instance ID. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation DescribeAssociation for usage and error information. -// -// Returned Error Codes: -// * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist" -// The specified association does not exist. -// -// * ErrCodeInvalidAssociationVersion "InvalidAssociationVersion" -// The version you specified is not valid. Use ListAssociationVersions to view -// all versions of an association according to the association ID. Or, use the -// $LATEST parameter to view the latest version of the association. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociation -func (c *SSM) DescribeAssociation(input *DescribeAssociationInput) (*DescribeAssociationOutput, error) { - req, out := c.DescribeAssociationRequest(input) - return out, req.Send() -} - -// DescribeAssociationWithContext is the same as DescribeAssociation with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeAssociation for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeAssociationWithContext(ctx aws.Context, input *DescribeAssociationInput, opts ...request.Option) (*DescribeAssociationOutput, error) { - req, out := c.DescribeAssociationRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeAssociationExecutionTargets = "DescribeAssociationExecutionTargets" - -// DescribeAssociationExecutionTargetsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeAssociationExecutionTargets operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeAssociationExecutionTargets for more information on using the DescribeAssociationExecutionTargets -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeAssociationExecutionTargetsRequest method. -// req, resp := client.DescribeAssociationExecutionTargetsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutionTargets -func (c *SSM) DescribeAssociationExecutionTargetsRequest(input *DescribeAssociationExecutionTargetsInput) (req *request.Request, output *DescribeAssociationExecutionTargetsOutput) { - op := &request.Operation{ - Name: opDescribeAssociationExecutionTargets, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeAssociationExecutionTargetsInput{} - } - - output = &DescribeAssociationExecutionTargetsOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeAssociationExecutionTargets API operation for Amazon Simple Systems Manager (SSM). -// -// Use this API action to view information about a specific execution of a specific -// 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 DescribeAssociationExecutionTargets for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist" -// The specified association does not exist. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// * ErrCodeAssociationExecutionDoesNotExist "AssociationExecutionDoesNotExist" -// The specified execution ID does not exist. Verify the ID number and try again. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutionTargets -func (c *SSM) DescribeAssociationExecutionTargets(input *DescribeAssociationExecutionTargetsInput) (*DescribeAssociationExecutionTargetsOutput, error) { - req, out := c.DescribeAssociationExecutionTargetsRequest(input) - return out, req.Send() -} - -// DescribeAssociationExecutionTargetsWithContext is the same as DescribeAssociationExecutionTargets with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeAssociationExecutionTargets for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeAssociationExecutionTargetsWithContext(ctx aws.Context, input *DescribeAssociationExecutionTargetsInput, opts ...request.Option) (*DescribeAssociationExecutionTargetsOutput, error) { - req, out := c.DescribeAssociationExecutionTargetsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeAssociationExecutions = "DescribeAssociationExecutions" - -// DescribeAssociationExecutionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeAssociationExecutions operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeAssociationExecutions for more information on using the DescribeAssociationExecutions -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeAssociationExecutionsRequest method. -// req, resp := client.DescribeAssociationExecutionsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutions -func (c *SSM) DescribeAssociationExecutionsRequest(input *DescribeAssociationExecutionsInput) (req *request.Request, output *DescribeAssociationExecutionsOutput) { - op := &request.Operation{ - Name: opDescribeAssociationExecutions, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeAssociationExecutionsInput{} - } - - output = &DescribeAssociationExecutionsOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeAssociationExecutions API operation for Amazon Simple Systems Manager (SSM). -// -// Use this API action to view all executions for a specific association ID. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation DescribeAssociationExecutions for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist" -// The specified association does not exist. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutions -func (c *SSM) DescribeAssociationExecutions(input *DescribeAssociationExecutionsInput) (*DescribeAssociationExecutionsOutput, error) { - req, out := c.DescribeAssociationExecutionsRequest(input) - return out, req.Send() -} - -// DescribeAssociationExecutionsWithContext is the same as DescribeAssociationExecutions with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeAssociationExecutions for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeAssociationExecutionsWithContext(ctx aws.Context, input *DescribeAssociationExecutionsInput, opts ...request.Option) (*DescribeAssociationExecutionsOutput, error) { - req, out := c.DescribeAssociationExecutionsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeAutomationExecutions = "DescribeAutomationExecutions" - -// DescribeAutomationExecutionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeAutomationExecutions operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeAutomationExecutions for more information on using the DescribeAutomationExecutions -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeAutomationExecutionsRequest method. -// req, resp := client.DescribeAutomationExecutionsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutions -func (c *SSM) DescribeAutomationExecutionsRequest(input *DescribeAutomationExecutionsInput) (req *request.Request, output *DescribeAutomationExecutionsOutput) { - op := &request.Operation{ - Name: opDescribeAutomationExecutions, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeAutomationExecutionsInput{} - } - - output = &DescribeAutomationExecutionsOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInvalidFilterKey "InvalidFilterKey" -// The specified key is not valid. -// -// * ErrCodeInvalidFilterValue "InvalidFilterValue" -// The filter value is not valid. Verify the value and try again. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutions -func (c *SSM) DescribeAutomationExecutions(input *DescribeAutomationExecutionsInput) (*DescribeAutomationExecutionsOutput, error) { - req, out := c.DescribeAutomationExecutionsRequest(input) - return out, req.Send() -} - -// DescribeAutomationExecutionsWithContext is the same as DescribeAutomationExecutions with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeAutomationExecutions for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeAutomationExecutionsWithContext(ctx aws.Context, input *DescribeAutomationExecutionsInput, opts ...request.Option) (*DescribeAutomationExecutionsOutput, error) { - req, out := c.DescribeAutomationExecutionsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeAutomationStepExecutions = "DescribeAutomationStepExecutions" - -// DescribeAutomationStepExecutionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeAutomationStepExecutions operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeAutomationStepExecutions for more information on using the DescribeAutomationStepExecutions -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeAutomationStepExecutionsRequest method. -// req, resp := client.DescribeAutomationStepExecutionsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationStepExecutions -func (c *SSM) DescribeAutomationStepExecutionsRequest(input *DescribeAutomationStepExecutionsInput) (req *request.Request, output *DescribeAutomationStepExecutionsOutput) { - op := &request.Operation{ - Name: opDescribeAutomationStepExecutions, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeAutomationStepExecutionsInput{} - } - - output = &DescribeAutomationStepExecutionsOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeAutomationStepExecutions API operation for Amazon Simple Systems Manager (SSM). -// -// Information about all active and terminated step executions in an Automation -// workflow. -// -// 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 DescribeAutomationStepExecutions for usage and error information. -// -// Returned Error Codes: -// * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException" -// There is no automation execution information for the requested automation -// execution ID. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// * ErrCodeInvalidFilterKey "InvalidFilterKey" -// The specified key is not valid. -// -// * ErrCodeInvalidFilterValue "InvalidFilterValue" -// The filter value is not valid. Verify the value and try again. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationStepExecutions -func (c *SSM) DescribeAutomationStepExecutions(input *DescribeAutomationStepExecutionsInput) (*DescribeAutomationStepExecutionsOutput, error) { - req, out := c.DescribeAutomationStepExecutionsRequest(input) - return out, req.Send() -} - -// DescribeAutomationStepExecutionsWithContext is the same as DescribeAutomationStepExecutions with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeAutomationStepExecutions for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeAutomationStepExecutionsWithContext(ctx aws.Context, input *DescribeAutomationStepExecutionsInput, opts ...request.Option) (*DescribeAutomationStepExecutionsOutput, error) { - req, out := c.DescribeAutomationStepExecutionsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeAvailablePatches = "DescribeAvailablePatches" - -// DescribeAvailablePatchesRequest generates a "aws/request.Request" representing the -// client's request for the DescribeAvailablePatches operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeAvailablePatches for more information on using the DescribeAvailablePatches -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeAvailablePatchesRequest method. -// req, resp := client.DescribeAvailablePatchesRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatches -func (c *SSM) DescribeAvailablePatchesRequest(input *DescribeAvailablePatchesInput) (req *request.Request, output *DescribeAvailablePatchesOutput) { - op := &request.Operation{ - Name: opDescribeAvailablePatches, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeAvailablePatchesInput{} - } - - output = &DescribeAvailablePatchesOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeAvailablePatches API operation for Amazon Simple Systems Manager (SSM). -// -// Lists all patches that could possibly be included in a patch baseline. -// -// 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 DescribeAvailablePatches for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatches -func (c *SSM) DescribeAvailablePatches(input *DescribeAvailablePatchesInput) (*DescribeAvailablePatchesOutput, error) { - req, out := c.DescribeAvailablePatchesRequest(input) - return out, req.Send() -} - -// DescribeAvailablePatchesWithContext is the same as DescribeAvailablePatches with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeAvailablePatches for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeAvailablePatchesWithContext(ctx aws.Context, input *DescribeAvailablePatchesInput, opts ...request.Option) (*DescribeAvailablePatchesOutput, error) { - req, out := c.DescribeAvailablePatchesRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeDocument = "DescribeDocument" - -// DescribeDocumentRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDocument operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeDocument for more information on using the DescribeDocument -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeDocumentRequest method. -// req, resp := client.DescribeDocumentRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocument -func (c *SSM) DescribeDocumentRequest(input *DescribeDocumentInput) (req *request.Request, output *DescribeDocumentOutput) { - op := &request.Operation{ - Name: opDescribeDocument, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeDocumentInput{} - } - - output = &DescribeDocumentOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeDocument API operation for Amazon Simple Systems Manager (SSM). -// -// Describes the specified Systems Manager 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 DescribeDocument for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion" -// The document version is not valid or does not exist. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocument -func (c *SSM) DescribeDocument(input *DescribeDocumentInput) (*DescribeDocumentOutput, error) { - req, out := c.DescribeDocumentRequest(input) - return out, req.Send() -} - -// DescribeDocumentWithContext is the same as DescribeDocument with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeDocument for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeDocumentWithContext(ctx aws.Context, input *DescribeDocumentInput, opts ...request.Option) (*DescribeDocumentOutput, error) { - req, out := c.DescribeDocumentRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeDocumentPermission = "DescribeDocumentPermission" - -// DescribeDocumentPermissionRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDocumentPermission operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeDocumentPermission for more information on using the DescribeDocumentPermission -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeDocumentPermissionRequest method. -// req, resp := client.DescribeDocumentPermissionRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermission -func (c *SSM) DescribeDocumentPermissionRequest(input *DescribeDocumentPermissionInput) (req *request.Request, output *DescribeDocumentPermissionOutput) { - op := &request.Operation{ - Name: opDescribeDocumentPermission, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeDocumentPermissionInput{} - } - - output = &DescribeDocumentPermissionOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeDocumentPermission API operation for Amazon Simple Systems Manager (SSM). -// -// Describes the permissions for a Systems Manager document. If you created -// the document, you are the owner. If a document is shared, it can either be -// shared privately (by specifying a user's AWS account ID) or publicly (All). -// -// 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 DescribeDocumentPermission for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidPermissionType "InvalidPermissionType" -// The permission type is not supported. Share is the only supported permission -// type. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermission -func (c *SSM) DescribeDocumentPermission(input *DescribeDocumentPermissionInput) (*DescribeDocumentPermissionOutput, error) { - req, out := c.DescribeDocumentPermissionRequest(input) - return out, req.Send() -} - -// DescribeDocumentPermissionWithContext is the same as DescribeDocumentPermission with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeDocumentPermission for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeDocumentPermissionWithContext(ctx aws.Context, input *DescribeDocumentPermissionInput, opts ...request.Option) (*DescribeDocumentPermissionOutput, error) { - req, out := c.DescribeDocumentPermissionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeEffectiveInstanceAssociations = "DescribeEffectiveInstanceAssociations" - -// DescribeEffectiveInstanceAssociationsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeEffectiveInstanceAssociations operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeEffectiveInstanceAssociations for more information on using the DescribeEffectiveInstanceAssociations -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeEffectiveInstanceAssociationsRequest method. -// req, resp := client.DescribeEffectiveInstanceAssociationsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociations -func (c *SSM) DescribeEffectiveInstanceAssociationsRequest(input *DescribeEffectiveInstanceAssociationsInput) (req *request.Request, output *DescribeEffectiveInstanceAssociationsOutput) { - op := &request.Operation{ - Name: opDescribeEffectiveInstanceAssociations, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeEffectiveInstanceAssociationsInput{} - } - - output = &DescribeEffectiveInstanceAssociationsOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociations -func (c *SSM) DescribeEffectiveInstanceAssociations(input *DescribeEffectiveInstanceAssociationsInput) (*DescribeEffectiveInstanceAssociationsOutput, error) { - req, out := c.DescribeEffectiveInstanceAssociationsRequest(input) - return out, req.Send() -} - -// DescribeEffectiveInstanceAssociationsWithContext is the same as DescribeEffectiveInstanceAssociations with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeEffectiveInstanceAssociations for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeEffectiveInstanceAssociationsWithContext(ctx aws.Context, input *DescribeEffectiveInstanceAssociationsInput, opts ...request.Option) (*DescribeEffectiveInstanceAssociationsOutput, error) { - req, out := c.DescribeEffectiveInstanceAssociationsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeEffectivePatchesForPatchBaseline = "DescribeEffectivePatchesForPatchBaseline" - -// DescribeEffectivePatchesForPatchBaselineRequest generates a "aws/request.Request" representing the -// client's request for the DescribeEffectivePatchesForPatchBaseline operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeEffectivePatchesForPatchBaseline for more information on using the DescribeEffectivePatchesForPatchBaseline -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeEffectivePatchesForPatchBaselineRequest method. -// req, resp := client.DescribeEffectivePatchesForPatchBaselineRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaseline -func (c *SSM) DescribeEffectivePatchesForPatchBaselineRequest(input *DescribeEffectivePatchesForPatchBaselineInput) (req *request.Request, output *DescribeEffectivePatchesForPatchBaselineOutput) { - op := &request.Operation{ - Name: opDescribeEffectivePatchesForPatchBaseline, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeEffectivePatchesForPatchBaselineInput{} - } - - output = &DescribeEffectivePatchesForPatchBaselineOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeEffectivePatchesForPatchBaseline API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves the current effective patches (the patch and the approval state) -// for the specified patch baseline. Note that this API applies only to Windows -// patch baselines. -// -// 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 DescribeEffectivePatchesForPatchBaseline for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidResourceId "InvalidResourceId" -// The resource ID is not valid. Verify that you entered the correct ID and -// try again. -// -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeUnsupportedOperatingSystem "UnsupportedOperatingSystem" -// The operating systems you specified is not supported, or the operation is -// not supported for the operating system. Valid operating systems include: -// Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaseline -func (c *SSM) DescribeEffectivePatchesForPatchBaseline(input *DescribeEffectivePatchesForPatchBaselineInput) (*DescribeEffectivePatchesForPatchBaselineOutput, error) { - req, out := c.DescribeEffectivePatchesForPatchBaselineRequest(input) - return out, req.Send() -} - -// DescribeEffectivePatchesForPatchBaselineWithContext is the same as DescribeEffectivePatchesForPatchBaseline with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeEffectivePatchesForPatchBaseline for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeEffectivePatchesForPatchBaselineWithContext(ctx aws.Context, input *DescribeEffectivePatchesForPatchBaselineInput, opts ...request.Option) (*DescribeEffectivePatchesForPatchBaselineOutput, error) { - req, out := c.DescribeEffectivePatchesForPatchBaselineRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeInstanceAssociationsStatus = "DescribeInstanceAssociationsStatus" - -// DescribeInstanceAssociationsStatusRequest generates a "aws/request.Request" representing the -// client's request for the DescribeInstanceAssociationsStatus operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeInstanceAssociationsStatus for more information on using the DescribeInstanceAssociationsStatus -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeInstanceAssociationsStatusRequest method. -// req, resp := client.DescribeInstanceAssociationsStatusRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatus -func (c *SSM) DescribeInstanceAssociationsStatusRequest(input *DescribeInstanceAssociationsStatusInput) (req *request.Request, output *DescribeInstanceAssociationsStatusOutput) { - op := &request.Operation{ - Name: opDescribeInstanceAssociationsStatus, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeInstanceAssociationsStatusInput{} - } - - output = &DescribeInstanceAssociationsStatusOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatus -func (c *SSM) DescribeInstanceAssociationsStatus(input *DescribeInstanceAssociationsStatusInput) (*DescribeInstanceAssociationsStatusOutput, error) { - req, out := c.DescribeInstanceAssociationsStatusRequest(input) - return out, req.Send() -} - -// DescribeInstanceAssociationsStatusWithContext is the same as DescribeInstanceAssociationsStatus with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeInstanceAssociationsStatus for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeInstanceAssociationsStatusWithContext(ctx aws.Context, input *DescribeInstanceAssociationsStatusInput, opts ...request.Option) (*DescribeInstanceAssociationsStatusOutput, error) { - req, out := c.DescribeInstanceAssociationsStatusRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeInstanceInformation = "DescribeInstanceInformation" - -// DescribeInstanceInformationRequest generates a "aws/request.Request" representing the -// client's request for the DescribeInstanceInformation operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeInstanceInformation for more information on using the DescribeInstanceInformation -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeInstanceInformationRequest method. -// req, resp := client.DescribeInstanceInformationRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformation -func (c *SSM) DescribeInstanceInformationRequest(input *DescribeInstanceInformationInput) (req *request.Request, output *DescribeInstanceInformationOutput) { - op := &request.Operation{ - Name: opDescribeInstanceInformation, - HTTPMethod: "POST", - HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, - } - - if input == nil { - input = &DescribeInstanceInformationInput{} - } - - output = &DescribeInstanceInformationOutput{} - req = c.newRequest(op, input, output) - return -} - -// 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 -// (Linux), status etc. If you specify one or more instance IDs, it returns -// information for those instances. If you do not specify instance IDs, it returns -// information for all your instances. If you specify an instance ID that is -// not valid or an instance that you do not own, you receive an error. -// -// The IamRole field for this API action is the Amazon Identity and Access Management -// (IAM) role assigned to on-premises instances. This call does not return the -// IAM role for Amazon EC2 instances. -// -// 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 DescribeInstanceInformation for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// * ErrCodeInvalidInstanceInformationFilterValue "InvalidInstanceInformationFilterValue" -// The specified filter value is not valid. -// -// * ErrCodeInvalidFilterKey "InvalidFilterKey" -// The specified key is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformation -func (c *SSM) DescribeInstanceInformation(input *DescribeInstanceInformationInput) (*DescribeInstanceInformationOutput, error) { - req, out := c.DescribeInstanceInformationRequest(input) - return out, req.Send() -} - -// DescribeInstanceInformationWithContext is the same as DescribeInstanceInformation with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeInstanceInformation for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeInstanceInformationWithContext(ctx aws.Context, input *DescribeInstanceInformationInput, opts ...request.Option) (*DescribeInstanceInformationOutput, error) { - req, out := c.DescribeInstanceInformationRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// DescribeInstanceInformationPages iterates over the pages of a DescribeInstanceInformation operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See DescribeInstanceInformation method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a DescribeInstanceInformation operation. -// pageNum := 0 -// err := client.DescribeInstanceInformationPages(params, -// func(page *DescribeInstanceInformationOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *SSM) DescribeInstanceInformationPages(input *DescribeInstanceInformationInput, fn func(*DescribeInstanceInformationOutput, bool) bool) error { - return c.DescribeInstanceInformationPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// DescribeInstanceInformationPagesWithContext same as DescribeInstanceInformationPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeInstanceInformationPagesWithContext(ctx aws.Context, input *DescribeInstanceInformationInput, fn func(*DescribeInstanceInformationOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *DescribeInstanceInformationInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.DescribeInstanceInformationRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - cont := true - for p.Next() && cont { - cont = fn(p.Page().(*DescribeInstanceInformationOutput), !p.HasNextPage()) - } - return p.Err() -} - -const opDescribeInstancePatchStates = "DescribeInstancePatchStates" - -// DescribeInstancePatchStatesRequest generates a "aws/request.Request" representing the -// client's request for the DescribeInstancePatchStates operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeInstancePatchStates for more information on using the DescribeInstancePatchStates -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeInstancePatchStatesRequest method. -// req, resp := client.DescribeInstancePatchStatesRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStates -func (c *SSM) DescribeInstancePatchStatesRequest(input *DescribeInstancePatchStatesInput) (req *request.Request, output *DescribeInstancePatchStatesOutput) { - op := &request.Operation{ - Name: opDescribeInstancePatchStates, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeInstancePatchStatesInput{} - } - - output = &DescribeInstancePatchStatesOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeInstancePatchStates API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves the high-level patch state of one or more instances. -// -// 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 DescribeInstancePatchStates for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStates -func (c *SSM) DescribeInstancePatchStates(input *DescribeInstancePatchStatesInput) (*DescribeInstancePatchStatesOutput, error) { - req, out := c.DescribeInstancePatchStatesRequest(input) - return out, req.Send() -} - -// DescribeInstancePatchStatesWithContext is the same as DescribeInstancePatchStates with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeInstancePatchStates for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeInstancePatchStatesWithContext(ctx aws.Context, input *DescribeInstancePatchStatesInput, opts ...request.Option) (*DescribeInstancePatchStatesOutput, error) { - req, out := c.DescribeInstancePatchStatesRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeInstancePatchStatesForPatchGroup = "DescribeInstancePatchStatesForPatchGroup" - -// DescribeInstancePatchStatesForPatchGroupRequest generates a "aws/request.Request" representing the -// client's request for the DescribeInstancePatchStatesForPatchGroup operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeInstancePatchStatesForPatchGroup for more information on using the DescribeInstancePatchStatesForPatchGroup -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeInstancePatchStatesForPatchGroupRequest method. -// req, resp := client.DescribeInstancePatchStatesForPatchGroupRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroup -func (c *SSM) DescribeInstancePatchStatesForPatchGroupRequest(input *DescribeInstancePatchStatesForPatchGroupInput) (req *request.Request, output *DescribeInstancePatchStatesForPatchGroupOutput) { - op := &request.Operation{ - Name: opDescribeInstancePatchStatesForPatchGroup, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeInstancePatchStatesForPatchGroupInput{} - } - - output = &DescribeInstancePatchStatesForPatchGroupOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeInstancePatchStatesForPatchGroup API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves the high-level patch state for the instances in the specified patch -// group. -// -// 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 DescribeInstancePatchStatesForPatchGroup for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidFilter "InvalidFilter" -// The filter name is not valid. Verify the you entered the correct name and -// try again. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroup -func (c *SSM) DescribeInstancePatchStatesForPatchGroup(input *DescribeInstancePatchStatesForPatchGroupInput) (*DescribeInstancePatchStatesForPatchGroupOutput, error) { - req, out := c.DescribeInstancePatchStatesForPatchGroupRequest(input) - return out, req.Send() -} - -// DescribeInstancePatchStatesForPatchGroupWithContext is the same as DescribeInstancePatchStatesForPatchGroup with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeInstancePatchStatesForPatchGroup for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeInstancePatchStatesForPatchGroupWithContext(ctx aws.Context, input *DescribeInstancePatchStatesForPatchGroupInput, opts ...request.Option) (*DescribeInstancePatchStatesForPatchGroupOutput, error) { - req, out := c.DescribeInstancePatchStatesForPatchGroupRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeInstancePatches = "DescribeInstancePatches" - -// DescribeInstancePatchesRequest generates a "aws/request.Request" representing the -// client's request for the DescribeInstancePatches operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeInstancePatches for more information on using the DescribeInstancePatches -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeInstancePatchesRequest method. -// req, resp := client.DescribeInstancePatchesRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatches -func (c *SSM) DescribeInstancePatchesRequest(input *DescribeInstancePatchesInput) (req *request.Request, output *DescribeInstancePatchesOutput) { - op := &request.Operation{ - Name: opDescribeInstancePatches, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeInstancePatchesInput{} - } - - output = &DescribeInstancePatchesOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeInstancePatches API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves information about the patches on the specified instance and their -// state relative to the patch baseline being used for the 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 Simple Systems Manager (SSM)'s -// API operation DescribeInstancePatches for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInvalidFilter "InvalidFilter" -// The filter name is not valid. Verify the you entered the correct name and -// try again. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatches -func (c *SSM) DescribeInstancePatches(input *DescribeInstancePatchesInput) (*DescribeInstancePatchesOutput, error) { - req, out := c.DescribeInstancePatchesRequest(input) - return out, req.Send() -} - -// DescribeInstancePatchesWithContext is the same as DescribeInstancePatches with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeInstancePatches for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeInstancePatchesWithContext(ctx aws.Context, input *DescribeInstancePatchesInput, opts ...request.Option) (*DescribeInstancePatchesOutput, error) { - req, out := c.DescribeInstancePatchesRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeInventoryDeletions = "DescribeInventoryDeletions" - -// DescribeInventoryDeletionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeInventoryDeletions operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeInventoryDeletions for more information on using the DescribeInventoryDeletions -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeInventoryDeletionsRequest method. -// req, resp := client.DescribeInventoryDeletionsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInventoryDeletions -func (c *SSM) DescribeInventoryDeletionsRequest(input *DescribeInventoryDeletionsInput) (req *request.Request, output *DescribeInventoryDeletionsOutput) { - op := &request.Operation{ - Name: opDescribeInventoryDeletions, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeInventoryDeletionsInput{} - } - - output = &DescribeInventoryDeletionsOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeInventoryDeletions API operation for Amazon Simple Systems Manager (SSM). -// -// Describes a specific delete inventory operation. -// -// 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 DescribeInventoryDeletions for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidDeletionIdException "InvalidDeletionIdException" -// The ID specified for the delete operation does not exist or is not valide. -// Verify the ID and try again. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInventoryDeletions -func (c *SSM) DescribeInventoryDeletions(input *DescribeInventoryDeletionsInput) (*DescribeInventoryDeletionsOutput, error) { - req, out := c.DescribeInventoryDeletionsRequest(input) - return out, req.Send() -} - -// DescribeInventoryDeletionsWithContext is the same as DescribeInventoryDeletions with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeInventoryDeletions for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeInventoryDeletionsWithContext(ctx aws.Context, input *DescribeInventoryDeletionsInput, opts ...request.Option) (*DescribeInventoryDeletionsOutput, error) { - req, out := c.DescribeInventoryDeletionsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeMaintenanceWindowExecutionTaskInvocations = "DescribeMaintenanceWindowExecutionTaskInvocations" - -// DescribeMaintenanceWindowExecutionTaskInvocationsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeMaintenanceWindowExecutionTaskInvocations operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeMaintenanceWindowExecutionTaskInvocations for more information on using the DescribeMaintenanceWindowExecutionTaskInvocations -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeMaintenanceWindowExecutionTaskInvocationsRequest method. -// req, resp := client.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocations -func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) { - op := &request.Operation{ - Name: opDescribeMaintenanceWindowExecutionTaskInvocations, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeMaintenanceWindowExecutionTaskInvocationsInput{} - } - - output = &DescribeMaintenanceWindowExecutionTaskInvocationsOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocations -func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocations(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput) (*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, error) { - req, out := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input) - return out, req.Send() -} - -// DescribeMaintenanceWindowExecutionTaskInvocationsWithContext is the same as DescribeMaintenanceWindowExecutionTaskInvocations with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeMaintenanceWindowExecutionTaskInvocations for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTaskInvocationsInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, error) { - req, out := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeMaintenanceWindowExecutionTasks = "DescribeMaintenanceWindowExecutionTasks" - -// DescribeMaintenanceWindowExecutionTasksRequest generates a "aws/request.Request" representing the -// client's request for the DescribeMaintenanceWindowExecutionTasks operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeMaintenanceWindowExecutionTasks for more information on using the DescribeMaintenanceWindowExecutionTasks -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeMaintenanceWindowExecutionTasksRequest method. -// req, resp := client.DescribeMaintenanceWindowExecutionTasksRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasks -func (c *SSM) DescribeMaintenanceWindowExecutionTasksRequest(input *DescribeMaintenanceWindowExecutionTasksInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionTasksOutput) { - op := &request.Operation{ - Name: opDescribeMaintenanceWindowExecutionTasks, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeMaintenanceWindowExecutionTasksInput{} - } - - output = &DescribeMaintenanceWindowExecutionTasksOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasks -func (c *SSM) DescribeMaintenanceWindowExecutionTasks(input *DescribeMaintenanceWindowExecutionTasksInput) (*DescribeMaintenanceWindowExecutionTasksOutput, error) { - req, out := c.DescribeMaintenanceWindowExecutionTasksRequest(input) - return out, req.Send() -} - -// DescribeMaintenanceWindowExecutionTasksWithContext is the same as DescribeMaintenanceWindowExecutionTasks with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeMaintenanceWindowExecutionTasks for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeMaintenanceWindowExecutionTasksWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTasksInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionTasksOutput, error) { - req, out := c.DescribeMaintenanceWindowExecutionTasksRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeMaintenanceWindowExecutions = "DescribeMaintenanceWindowExecutions" - -// DescribeMaintenanceWindowExecutionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeMaintenanceWindowExecutions operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeMaintenanceWindowExecutions for more information on using the DescribeMaintenanceWindowExecutions -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeMaintenanceWindowExecutionsRequest method. -// req, resp := client.DescribeMaintenanceWindowExecutionsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutions -func (c *SSM) DescribeMaintenanceWindowExecutionsRequest(input *DescribeMaintenanceWindowExecutionsInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionsOutput) { - op := &request.Operation{ - Name: opDescribeMaintenanceWindowExecutions, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeMaintenanceWindowExecutionsInput{} - } - - output = &DescribeMaintenanceWindowExecutionsOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeMaintenanceWindowExecutions API operation for Amazon Simple Systems Manager (SSM). -// -// Lists the executions of a Maintenance Window. This includes 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutions -func (c *SSM) DescribeMaintenanceWindowExecutions(input *DescribeMaintenanceWindowExecutionsInput) (*DescribeMaintenanceWindowExecutionsOutput, error) { - req, out := c.DescribeMaintenanceWindowExecutionsRequest(input) - return out, req.Send() -} - -// DescribeMaintenanceWindowExecutionsWithContext is the same as DescribeMaintenanceWindowExecutions with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeMaintenanceWindowExecutions for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeMaintenanceWindowExecutionsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionsInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionsOutput, error) { - req, out := c.DescribeMaintenanceWindowExecutionsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeMaintenanceWindowSchedule = "DescribeMaintenanceWindowSchedule" - -// DescribeMaintenanceWindowScheduleRequest generates a "aws/request.Request" representing the -// client's request for the DescribeMaintenanceWindowSchedule operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeMaintenanceWindowSchedule for more information on using the DescribeMaintenanceWindowSchedule -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeMaintenanceWindowScheduleRequest method. -// req, resp := client.DescribeMaintenanceWindowScheduleRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowSchedule -func (c *SSM) DescribeMaintenanceWindowScheduleRequest(input *DescribeMaintenanceWindowScheduleInput) (req *request.Request, output *DescribeMaintenanceWindowScheduleOutput) { - op := &request.Operation{ - Name: opDescribeMaintenanceWindowSchedule, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeMaintenanceWindowScheduleInput{} - } - - output = &DescribeMaintenanceWindowScheduleOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeMaintenanceWindowSchedule API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves information about upcoming executions of 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 DescribeMaintenanceWindowSchedule for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowSchedule -func (c *SSM) DescribeMaintenanceWindowSchedule(input *DescribeMaintenanceWindowScheduleInput) (*DescribeMaintenanceWindowScheduleOutput, error) { - req, out := c.DescribeMaintenanceWindowScheduleRequest(input) - return out, req.Send() -} - -// DescribeMaintenanceWindowScheduleWithContext is the same as DescribeMaintenanceWindowSchedule with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeMaintenanceWindowSchedule for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeMaintenanceWindowScheduleWithContext(ctx aws.Context, input *DescribeMaintenanceWindowScheduleInput, opts ...request.Option) (*DescribeMaintenanceWindowScheduleOutput, error) { - req, out := c.DescribeMaintenanceWindowScheduleRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeMaintenanceWindowTargets = "DescribeMaintenanceWindowTargets" - -// DescribeMaintenanceWindowTargetsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeMaintenanceWindowTargets operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeMaintenanceWindowTargets for more information on using the DescribeMaintenanceWindowTargets -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeMaintenanceWindowTargetsRequest method. -// req, resp := client.DescribeMaintenanceWindowTargetsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargets -func (c *SSM) DescribeMaintenanceWindowTargetsRequest(input *DescribeMaintenanceWindowTargetsInput) (req *request.Request, output *DescribeMaintenanceWindowTargetsOutput) { - op := &request.Operation{ - Name: opDescribeMaintenanceWindowTargets, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeMaintenanceWindowTargetsInput{} - } - - output = &DescribeMaintenanceWindowTargetsOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargets -func (c *SSM) DescribeMaintenanceWindowTargets(input *DescribeMaintenanceWindowTargetsInput) (*DescribeMaintenanceWindowTargetsOutput, error) { - req, out := c.DescribeMaintenanceWindowTargetsRequest(input) - return out, req.Send() -} - -// DescribeMaintenanceWindowTargetsWithContext is the same as DescribeMaintenanceWindowTargets with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeMaintenanceWindowTargets for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeMaintenanceWindowTargetsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTargetsInput, opts ...request.Option) (*DescribeMaintenanceWindowTargetsOutput, error) { - req, out := c.DescribeMaintenanceWindowTargetsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeMaintenanceWindowTasks = "DescribeMaintenanceWindowTasks" - -// DescribeMaintenanceWindowTasksRequest generates a "aws/request.Request" representing the -// client's request for the DescribeMaintenanceWindowTasks operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeMaintenanceWindowTasks for more information on using the DescribeMaintenanceWindowTasks -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeMaintenanceWindowTasksRequest method. -// req, resp := client.DescribeMaintenanceWindowTasksRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasks -func (c *SSM) DescribeMaintenanceWindowTasksRequest(input *DescribeMaintenanceWindowTasksInput) (req *request.Request, output *DescribeMaintenanceWindowTasksOutput) { - op := &request.Operation{ - Name: opDescribeMaintenanceWindowTasks, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeMaintenanceWindowTasksInput{} - } - - output = &DescribeMaintenanceWindowTasksOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasks -func (c *SSM) DescribeMaintenanceWindowTasks(input *DescribeMaintenanceWindowTasksInput) (*DescribeMaintenanceWindowTasksOutput, error) { - req, out := c.DescribeMaintenanceWindowTasksRequest(input) - return out, req.Send() -} - -// DescribeMaintenanceWindowTasksWithContext is the same as DescribeMaintenanceWindowTasks with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeMaintenanceWindowTasks for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeMaintenanceWindowTasksWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTasksInput, opts ...request.Option) (*DescribeMaintenanceWindowTasksOutput, error) { - req, out := c.DescribeMaintenanceWindowTasksRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeMaintenanceWindows = "DescribeMaintenanceWindows" - -// DescribeMaintenanceWindowsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeMaintenanceWindows operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeMaintenanceWindows for more information on using the DescribeMaintenanceWindows -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeMaintenanceWindowsRequest method. -// req, resp := client.DescribeMaintenanceWindowsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindows -func (c *SSM) DescribeMaintenanceWindowsRequest(input *DescribeMaintenanceWindowsInput) (req *request.Request, output *DescribeMaintenanceWindowsOutput) { - op := &request.Operation{ - Name: opDescribeMaintenanceWindows, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeMaintenanceWindowsInput{} - } - - output = &DescribeMaintenanceWindowsOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindows -func (c *SSM) DescribeMaintenanceWindows(input *DescribeMaintenanceWindowsInput) (*DescribeMaintenanceWindowsOutput, error) { - req, out := c.DescribeMaintenanceWindowsRequest(input) - return out, req.Send() -} - -// DescribeMaintenanceWindowsWithContext is the same as DescribeMaintenanceWindows with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeMaintenanceWindows for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeMaintenanceWindowsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsInput, opts ...request.Option) (*DescribeMaintenanceWindowsOutput, error) { - req, out := c.DescribeMaintenanceWindowsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeMaintenanceWindowsForTarget = "DescribeMaintenanceWindowsForTarget" - -// DescribeMaintenanceWindowsForTargetRequest generates a "aws/request.Request" representing the -// client's request for the DescribeMaintenanceWindowsForTarget operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeMaintenanceWindowsForTarget for more information on using the DescribeMaintenanceWindowsForTarget -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeMaintenanceWindowsForTargetRequest method. -// req, resp := client.DescribeMaintenanceWindowsForTargetRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowsForTarget -func (c *SSM) DescribeMaintenanceWindowsForTargetRequest(input *DescribeMaintenanceWindowsForTargetInput) (req *request.Request, output *DescribeMaintenanceWindowsForTargetOutput) { - op := &request.Operation{ - Name: opDescribeMaintenanceWindowsForTarget, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeMaintenanceWindowsForTargetInput{} - } - - output = &DescribeMaintenanceWindowsForTargetOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeMaintenanceWindowsForTarget API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves information about the Maintenance Windows targets or tasks that -// an instance is associated with. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation DescribeMaintenanceWindowsForTarget for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowsForTarget -func (c *SSM) DescribeMaintenanceWindowsForTarget(input *DescribeMaintenanceWindowsForTargetInput) (*DescribeMaintenanceWindowsForTargetOutput, error) { - req, out := c.DescribeMaintenanceWindowsForTargetRequest(input) - return out, req.Send() -} - -// DescribeMaintenanceWindowsForTargetWithContext is the same as DescribeMaintenanceWindowsForTarget with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeMaintenanceWindowsForTarget for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeMaintenanceWindowsForTargetWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsForTargetInput, opts ...request.Option) (*DescribeMaintenanceWindowsForTargetOutput, error) { - req, out := c.DescribeMaintenanceWindowsForTargetRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeParameters = "DescribeParameters" - -// DescribeParametersRequest generates a "aws/request.Request" representing the -// client's request for the DescribeParameters operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeParameters for more information on using the DescribeParameters -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeParametersRequest method. -// req, resp := client.DescribeParametersRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParameters -func (c *SSM) DescribeParametersRequest(input *DescribeParametersInput) (req *request.Request, output *DescribeParametersOutput) { - op := &request.Operation{ - Name: opDescribeParameters, - HTTPMethod: "POST", - HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, - } - - if input == nil { - input = &DescribeParametersInput{} - } - - output = &DescribeParametersOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeParameters API operation for Amazon Simple Systems Manager (SSM). -// -// Get information about a parameter. -// -// Request results are returned on a best-effort basis. If you specify MaxResults -// in the request, the response includes information up to the limit specified. -// The number of items returned, however, can be between zero and the value -// of MaxResults. If the service reaches an internal limit while processing -// the results, it stops the operation and returns the matching values up to -// that point and a NextToken. You can specify the NextToken in a subsequent -// call to get the next set of results. -// -// 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidFilterKey "InvalidFilterKey" -// The specified key is not valid. -// -// * ErrCodeInvalidFilterOption "InvalidFilterOption" -// The specified filter option is not valid. Valid options are Equals and BeginsWith. -// For Path filter, valid options are Recursive and OneLevel. -// -// * ErrCodeInvalidFilterValue "InvalidFilterValue" -// The filter value is not valid. Verify the value and try again. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParameters -func (c *SSM) DescribeParameters(input *DescribeParametersInput) (*DescribeParametersOutput, error) { - req, out := c.DescribeParametersRequest(input) - return out, req.Send() -} - -// DescribeParametersWithContext is the same as DescribeParameters with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeParameters for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeParametersWithContext(ctx aws.Context, input *DescribeParametersInput, opts ...request.Option) (*DescribeParametersOutput, error) { - req, out := c.DescribeParametersRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// DescribeParametersPages iterates over the pages of a DescribeParameters operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See DescribeParameters method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a DescribeParameters operation. -// pageNum := 0 -// err := client.DescribeParametersPages(params, -// func(page *DescribeParametersOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *SSM) DescribeParametersPages(input *DescribeParametersInput, fn func(*DescribeParametersOutput, bool) bool) error { - return c.DescribeParametersPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// DescribeParametersPagesWithContext same as DescribeParametersPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeParametersPagesWithContext(ctx aws.Context, input *DescribeParametersInput, fn func(*DescribeParametersOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *DescribeParametersInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.DescribeParametersRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - cont := true - for p.Next() && cont { - cont = fn(p.Page().(*DescribeParametersOutput), !p.HasNextPage()) - } - return p.Err() -} - -const opDescribePatchBaselines = "DescribePatchBaselines" - -// DescribePatchBaselinesRequest generates a "aws/request.Request" representing the -// client's request for the DescribePatchBaselines operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribePatchBaselines for more information on using the DescribePatchBaselines -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribePatchBaselinesRequest method. -// req, resp := client.DescribePatchBaselinesRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselines -func (c *SSM) DescribePatchBaselinesRequest(input *DescribePatchBaselinesInput) (req *request.Request, output *DescribePatchBaselinesOutput) { - op := &request.Operation{ - Name: opDescribePatchBaselines, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribePatchBaselinesInput{} - } - - output = &DescribePatchBaselinesOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribePatchBaselines API operation for Amazon Simple Systems Manager (SSM). -// -// Lists the patch baselines in your 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 DescribePatchBaselines for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselines -func (c *SSM) DescribePatchBaselines(input *DescribePatchBaselinesInput) (*DescribePatchBaselinesOutput, error) { - req, out := c.DescribePatchBaselinesRequest(input) - return out, req.Send() -} - -// DescribePatchBaselinesWithContext is the same as DescribePatchBaselines with the addition of -// the ability to pass a context and additional request options. -// -// See DescribePatchBaselines for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribePatchBaselinesWithContext(ctx aws.Context, input *DescribePatchBaselinesInput, opts ...request.Option) (*DescribePatchBaselinesOutput, error) { - req, out := c.DescribePatchBaselinesRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribePatchGroupState = "DescribePatchGroupState" - -// DescribePatchGroupStateRequest generates a "aws/request.Request" representing the -// client's request for the DescribePatchGroupState operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribePatchGroupState for more information on using the DescribePatchGroupState -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribePatchGroupStateRequest method. -// req, resp := client.DescribePatchGroupStateRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupState -func (c *SSM) DescribePatchGroupStateRequest(input *DescribePatchGroupStateInput) (req *request.Request, output *DescribePatchGroupStateOutput) { - op := &request.Operation{ - Name: opDescribePatchGroupState, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribePatchGroupStateInput{} - } - - output = &DescribePatchGroupStateOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribePatchGroupState API operation for Amazon Simple Systems Manager (SSM). -// -// Returns high-level aggregated patch compliance state for a patch group. -// -// 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 DescribePatchGroupState for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupState -func (c *SSM) DescribePatchGroupState(input *DescribePatchGroupStateInput) (*DescribePatchGroupStateOutput, error) { - req, out := c.DescribePatchGroupStateRequest(input) - return out, req.Send() -} - -// DescribePatchGroupStateWithContext is the same as DescribePatchGroupState with the addition of -// the ability to pass a context and additional request options. -// -// See DescribePatchGroupState for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribePatchGroupStateWithContext(ctx aws.Context, input *DescribePatchGroupStateInput, opts ...request.Option) (*DescribePatchGroupStateOutput, error) { - req, out := c.DescribePatchGroupStateRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribePatchGroups = "DescribePatchGroups" - -// DescribePatchGroupsRequest generates a "aws/request.Request" representing the -// client's request for the DescribePatchGroups operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribePatchGroups for more information on using the DescribePatchGroups -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribePatchGroupsRequest method. -// req, resp := client.DescribePatchGroupsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroups -func (c *SSM) DescribePatchGroupsRequest(input *DescribePatchGroupsInput) (req *request.Request, output *DescribePatchGroupsOutput) { - op := &request.Operation{ - Name: opDescribePatchGroups, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribePatchGroupsInput{} - } - - output = &DescribePatchGroupsOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribePatchGroups API operation for Amazon Simple Systems Manager (SSM). -// -// Lists all patch groups that have been registered with patch baselines. -// -// 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 DescribePatchGroups for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroups -func (c *SSM) DescribePatchGroups(input *DescribePatchGroupsInput) (*DescribePatchGroupsOutput, error) { - req, out := c.DescribePatchGroupsRequest(input) - return out, req.Send() -} - -// DescribePatchGroupsWithContext is the same as DescribePatchGroups with the addition of -// the ability to pass a context and additional request options. -// -// See DescribePatchGroups for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribePatchGroupsWithContext(ctx aws.Context, input *DescribePatchGroupsInput, opts ...request.Option) (*DescribePatchGroupsOutput, error) { - req, out := c.DescribePatchGroupsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDescribeSessions = "DescribeSessions" - -// DescribeSessionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeSessions operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DescribeSessions for more information on using the DescribeSessions -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DescribeSessionsRequest method. -// req, resp := client.DescribeSessionsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeSessions -func (c *SSM) DescribeSessionsRequest(input *DescribeSessionsInput) (req *request.Request, output *DescribeSessionsOutput) { - op := &request.Operation{ - Name: opDescribeSessions, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DescribeSessionsInput{} - } - - output = &DescribeSessionsOutput{} - req = c.newRequest(op, input, output) - return -} - -// DescribeSessions API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves a list of all active sessions (both connected and disconnected) -// or terminated sessions from the past 30 days. -// -// 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 DescribeSessions for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidFilterKey "InvalidFilterKey" -// The specified key is not valid. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeSessions -func (c *SSM) DescribeSessions(input *DescribeSessionsInput) (*DescribeSessionsOutput, error) { - req, out := c.DescribeSessionsRequest(input) - return out, req.Send() -} - -// DescribeSessionsWithContext is the same as DescribeSessions with the addition of -// the ability to pass a context and additional request options. -// -// See DescribeSessions for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) DescribeSessionsWithContext(ctx aws.Context, input *DescribeSessionsInput, opts ...request.Option) (*DescribeSessionsOutput, error) { - req, out := c.DescribeSessionsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetAutomationExecution = "GetAutomationExecution" - -// GetAutomationExecutionRequest generates a "aws/request.Request" representing the -// client's request for the GetAutomationExecution operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetAutomationExecution for more information on using the GetAutomationExecution -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetAutomationExecutionRequest method. -// req, resp := client.GetAutomationExecutionRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecution -func (c *SSM) GetAutomationExecutionRequest(input *GetAutomationExecutionInput) (req *request.Request, output *GetAutomationExecutionOutput) { - op := &request.Operation{ - Name: opGetAutomationExecution, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetAutomationExecutionInput{} - } - - output = &GetAutomationExecutionOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException" -// There is no automation execution information for the requested automation -// execution ID. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecution -func (c *SSM) GetAutomationExecution(input *GetAutomationExecutionInput) (*GetAutomationExecutionOutput, error) { - req, out := c.GetAutomationExecutionRequest(input) - return out, req.Send() -} - -// GetAutomationExecutionWithContext is the same as GetAutomationExecution with the addition of -// the ability to pass a context and additional request options. -// -// See GetAutomationExecution for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetAutomationExecutionWithContext(ctx aws.Context, input *GetAutomationExecutionInput, opts ...request.Option) (*GetAutomationExecutionOutput, error) { - req, out := c.GetAutomationExecutionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetCommandInvocation = "GetCommandInvocation" - -// GetCommandInvocationRequest generates a "aws/request.Request" representing the -// client's request for the GetCommandInvocation operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetCommandInvocation for more information on using the GetCommandInvocation -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetCommandInvocationRequest method. -// req, resp := client.GetCommandInvocationRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocation -func (c *SSM) GetCommandInvocationRequest(input *GetCommandInvocationInput) (req *request.Request, output *GetCommandInvocationOutput) { - op := &request.Operation{ - Name: opGetCommandInvocation, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetCommandInvocationInput{} - } - - output = &GetCommandInvocationOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidCommandId "InvalidCommandId" -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInvalidPluginName "InvalidPluginName" -// The plugin name is not valid. -// -// * ErrCodeInvocationDoesNotExist "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. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocation -func (c *SSM) GetCommandInvocation(input *GetCommandInvocationInput) (*GetCommandInvocationOutput, error) { - req, out := c.GetCommandInvocationRequest(input) - return out, req.Send() -} - -// GetCommandInvocationWithContext is the same as GetCommandInvocation with the addition of -// the ability to pass a context and additional request options. -// -// See GetCommandInvocation for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetCommandInvocationWithContext(ctx aws.Context, input *GetCommandInvocationInput, opts ...request.Option) (*GetCommandInvocationOutput, error) { - req, out := c.GetCommandInvocationRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetConnectionStatus = "GetConnectionStatus" - -// GetConnectionStatusRequest generates a "aws/request.Request" representing the -// client's request for the GetConnectionStatus operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetConnectionStatus for more information on using the GetConnectionStatus -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetConnectionStatusRequest method. -// req, resp := client.GetConnectionStatusRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetConnectionStatus -func (c *SSM) GetConnectionStatusRequest(input *GetConnectionStatusInput) (req *request.Request, output *GetConnectionStatusOutput) { - op := &request.Operation{ - Name: opGetConnectionStatus, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetConnectionStatusInput{} - } - - output = &GetConnectionStatusOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetConnectionStatus API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves the Session Manager connection status for an instance to determine -// whether it is connected and ready to receive Session Manager connections. -// -// 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 GetConnectionStatus for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetConnectionStatus -func (c *SSM) GetConnectionStatus(input *GetConnectionStatusInput) (*GetConnectionStatusOutput, error) { - req, out := c.GetConnectionStatusRequest(input) - return out, req.Send() -} - -// GetConnectionStatusWithContext is the same as GetConnectionStatus with the addition of -// the ability to pass a context and additional request options. -// -// See GetConnectionStatus for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetConnectionStatusWithContext(ctx aws.Context, input *GetConnectionStatusInput, opts ...request.Option) (*GetConnectionStatusOutput, error) { - req, out := c.GetConnectionStatusRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetDefaultPatchBaseline = "GetDefaultPatchBaseline" - -// GetDefaultPatchBaselineRequest generates a "aws/request.Request" representing the -// client's request for the GetDefaultPatchBaseline operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetDefaultPatchBaseline for more information on using the GetDefaultPatchBaseline -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetDefaultPatchBaselineRequest method. -// req, resp := client.GetDefaultPatchBaselineRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaseline -func (c *SSM) GetDefaultPatchBaselineRequest(input *GetDefaultPatchBaselineInput) (req *request.Request, output *GetDefaultPatchBaselineOutput) { - op := &request.Operation{ - Name: opGetDefaultPatchBaseline, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetDefaultPatchBaselineInput{} - } - - output = &GetDefaultPatchBaselineOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetDefaultPatchBaseline API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves the default patch baseline. Note that Systems Manager supports -// creating multiple default patch baselines. For example, you can create a -// default patch baseline for each operating system. -// -// If you do not specify an operating system value, the default patch baseline -// for Windows is returned. -// -// 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 GetDefaultPatchBaseline for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaseline -func (c *SSM) GetDefaultPatchBaseline(input *GetDefaultPatchBaselineInput) (*GetDefaultPatchBaselineOutput, error) { - req, out := c.GetDefaultPatchBaselineRequest(input) - return out, req.Send() -} - -// GetDefaultPatchBaselineWithContext is the same as GetDefaultPatchBaseline with the addition of -// the ability to pass a context and additional request options. -// -// See GetDefaultPatchBaseline for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetDefaultPatchBaselineWithContext(ctx aws.Context, input *GetDefaultPatchBaselineInput, opts ...request.Option) (*GetDefaultPatchBaselineOutput, error) { - req, out := c.GetDefaultPatchBaselineRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetDeployablePatchSnapshotForInstance = "GetDeployablePatchSnapshotForInstance" - -// GetDeployablePatchSnapshotForInstanceRequest generates a "aws/request.Request" representing the -// client's request for the GetDeployablePatchSnapshotForInstance operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetDeployablePatchSnapshotForInstance for more information on using the GetDeployablePatchSnapshotForInstance -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetDeployablePatchSnapshotForInstanceRequest method. -// req, resp := client.GetDeployablePatchSnapshotForInstanceRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstance -func (c *SSM) GetDeployablePatchSnapshotForInstanceRequest(input *GetDeployablePatchSnapshotForInstanceInput) (req *request.Request, output *GetDeployablePatchSnapshotForInstanceOutput) { - op := &request.Operation{ - Name: opGetDeployablePatchSnapshotForInstance, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetDeployablePatchSnapshotForInstanceInput{} - } - - output = &GetDeployablePatchSnapshotForInstanceOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetDeployablePatchSnapshotForInstance API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves the current snapshot for the patch baseline the instance uses. -// This API is primarily used by the AWS-RunPatchBaseline Systems Manager 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 GetDeployablePatchSnapshotForInstance for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeUnsupportedOperatingSystem "UnsupportedOperatingSystem" -// The operating systems you specified is not supported, or the operation is -// not supported for the operating system. Valid operating systems include: -// Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstance -func (c *SSM) GetDeployablePatchSnapshotForInstance(input *GetDeployablePatchSnapshotForInstanceInput) (*GetDeployablePatchSnapshotForInstanceOutput, error) { - req, out := c.GetDeployablePatchSnapshotForInstanceRequest(input) - return out, req.Send() -} - -// GetDeployablePatchSnapshotForInstanceWithContext is the same as GetDeployablePatchSnapshotForInstance with the addition of -// the ability to pass a context and additional request options. -// -// See GetDeployablePatchSnapshotForInstance for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetDeployablePatchSnapshotForInstanceWithContext(ctx aws.Context, input *GetDeployablePatchSnapshotForInstanceInput, opts ...request.Option) (*GetDeployablePatchSnapshotForInstanceOutput, error) { - req, out := c.GetDeployablePatchSnapshotForInstanceRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetDocument = "GetDocument" - -// GetDocumentRequest generates a "aws/request.Request" representing the -// client's request for the GetDocument operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetDocument for more information on using the GetDocument -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetDocumentRequest method. -// req, resp := client.GetDocumentRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocument -func (c *SSM) GetDocumentRequest(input *GetDocumentInput) (req *request.Request, output *GetDocumentOutput) { - op := &request.Operation{ - Name: opGetDocument, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetDocumentInput{} - } - - output = &GetDocumentOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetDocument API operation for Amazon Simple Systems Manager (SSM). -// -// Gets the contents of the specified Systems Manager 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 GetDocument for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion" -// The document version is not valid or does not exist. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocument -func (c *SSM) GetDocument(input *GetDocumentInput) (*GetDocumentOutput, error) { - req, out := c.GetDocumentRequest(input) - return out, req.Send() -} - -// GetDocumentWithContext is the same as GetDocument with the addition of -// the ability to pass a context and additional request options. -// -// See GetDocument for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetDocumentWithContext(ctx aws.Context, input *GetDocumentInput, opts ...request.Option) (*GetDocumentOutput, error) { - req, out := c.GetDocumentRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetInventory = "GetInventory" - -// GetInventoryRequest generates a "aws/request.Request" representing the -// client's request for the GetInventory operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetInventory for more information on using the GetInventory -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetInventoryRequest method. -// req, resp := client.GetInventoryRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventory -func (c *SSM) GetInventoryRequest(input *GetInventoryInput) (req *request.Request, output *GetInventoryOutput) { - op := &request.Operation{ - Name: opGetInventory, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetInventoryInput{} - } - - output = &GetInventoryOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidFilter "InvalidFilter" -// The filter name is not valid. Verify the you entered the correct name and -// try again. -// -// * ErrCodeInvalidInventoryGroupException "InvalidInventoryGroupException" -// The specified inventory group is not valid. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// * ErrCodeInvalidTypeNameException "InvalidTypeNameException" -// The parameter type name is not valid. -// -// * ErrCodeInvalidAggregatorException "InvalidAggregatorException" -// The specified aggregator is not valid for inventory groups. Verify that the -// aggregator uses a valid inventory type such as AWS:Application or AWS:InstanceInformation. -// -// * ErrCodeInvalidResultAttributeException "InvalidResultAttributeException" -// The specified inventory item result attribute is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventory -func (c *SSM) GetInventory(input *GetInventoryInput) (*GetInventoryOutput, error) { - req, out := c.GetInventoryRequest(input) - return out, req.Send() -} - -// GetInventoryWithContext is the same as GetInventory with the addition of -// the ability to pass a context and additional request options. -// -// See GetInventory for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetInventoryWithContext(ctx aws.Context, input *GetInventoryInput, opts ...request.Option) (*GetInventoryOutput, error) { - req, out := c.GetInventoryRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetInventorySchema = "GetInventorySchema" - -// GetInventorySchemaRequest generates a "aws/request.Request" representing the -// client's request for the GetInventorySchema operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetInventorySchema for more information on using the GetInventorySchema -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetInventorySchemaRequest method. -// req, resp := client.GetInventorySchemaRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchema -func (c *SSM) GetInventorySchemaRequest(input *GetInventorySchemaInput) (req *request.Request, output *GetInventorySchemaOutput) { - op := &request.Operation{ - Name: opGetInventorySchema, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetInventorySchemaInput{} - } - - output = &GetInventorySchemaOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidTypeNameException "InvalidTypeNameException" -// The parameter type name is not valid. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchema -func (c *SSM) GetInventorySchema(input *GetInventorySchemaInput) (*GetInventorySchemaOutput, error) { - req, out := c.GetInventorySchemaRequest(input) - return out, req.Send() -} - -// GetInventorySchemaWithContext is the same as GetInventorySchema with the addition of -// the ability to pass a context and additional request options. -// -// See GetInventorySchema for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetInventorySchemaWithContext(ctx aws.Context, input *GetInventorySchemaInput, opts ...request.Option) (*GetInventorySchemaOutput, error) { - req, out := c.GetInventorySchemaRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetMaintenanceWindow = "GetMaintenanceWindow" - -// GetMaintenanceWindowRequest generates a "aws/request.Request" representing the -// client's request for the GetMaintenanceWindow operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetMaintenanceWindow for more information on using the GetMaintenanceWindow -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetMaintenanceWindowRequest method. -// req, resp := client.GetMaintenanceWindowRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindow -func (c *SSM) GetMaintenanceWindowRequest(input *GetMaintenanceWindowInput) (req *request.Request, output *GetMaintenanceWindowOutput) { - op := &request.Operation{ - Name: opGetMaintenanceWindow, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetMaintenanceWindowInput{} - } - - output = &GetMaintenanceWindowOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindow -func (c *SSM) GetMaintenanceWindow(input *GetMaintenanceWindowInput) (*GetMaintenanceWindowOutput, error) { - req, out := c.GetMaintenanceWindowRequest(input) - return out, req.Send() -} - -// GetMaintenanceWindowWithContext is the same as GetMaintenanceWindow with the addition of -// the ability to pass a context and additional request options. -// -// See GetMaintenanceWindow for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetMaintenanceWindowWithContext(ctx aws.Context, input *GetMaintenanceWindowInput, opts ...request.Option) (*GetMaintenanceWindowOutput, error) { - req, out := c.GetMaintenanceWindowRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetMaintenanceWindowExecution = "GetMaintenanceWindowExecution" - -// GetMaintenanceWindowExecutionRequest generates a "aws/request.Request" representing the -// client's request for the GetMaintenanceWindowExecution operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetMaintenanceWindowExecution for more information on using the GetMaintenanceWindowExecution -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetMaintenanceWindowExecutionRequest method. -// req, resp := client.GetMaintenanceWindowExecutionRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecution -func (c *SSM) GetMaintenanceWindowExecutionRequest(input *GetMaintenanceWindowExecutionInput) (req *request.Request, output *GetMaintenanceWindowExecutionOutput) { - op := &request.Operation{ - Name: opGetMaintenanceWindowExecution, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetMaintenanceWindowExecutionInput{} - } - - output = &GetMaintenanceWindowExecutionOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecution -func (c *SSM) GetMaintenanceWindowExecution(input *GetMaintenanceWindowExecutionInput) (*GetMaintenanceWindowExecutionOutput, error) { - req, out := c.GetMaintenanceWindowExecutionRequest(input) - return out, req.Send() -} - -// GetMaintenanceWindowExecutionWithContext is the same as GetMaintenanceWindowExecution with the addition of -// the ability to pass a context and additional request options. -// -// See GetMaintenanceWindowExecution for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetMaintenanceWindowExecutionWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionInput, opts ...request.Option) (*GetMaintenanceWindowExecutionOutput, error) { - req, out := c.GetMaintenanceWindowExecutionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetMaintenanceWindowExecutionTask = "GetMaintenanceWindowExecutionTask" - -// GetMaintenanceWindowExecutionTaskRequest generates a "aws/request.Request" representing the -// client's request for the GetMaintenanceWindowExecutionTask operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetMaintenanceWindowExecutionTask for more information on using the GetMaintenanceWindowExecutionTask -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetMaintenanceWindowExecutionTaskRequest method. -// req, resp := client.GetMaintenanceWindowExecutionTaskRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTask -func (c *SSM) GetMaintenanceWindowExecutionTaskRequest(input *GetMaintenanceWindowExecutionTaskInput) (req *request.Request, output *GetMaintenanceWindowExecutionTaskOutput) { - op := &request.Operation{ - Name: opGetMaintenanceWindowExecutionTask, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetMaintenanceWindowExecutionTaskInput{} - } - - output = &GetMaintenanceWindowExecutionTaskOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTask -func (c *SSM) GetMaintenanceWindowExecutionTask(input *GetMaintenanceWindowExecutionTaskInput) (*GetMaintenanceWindowExecutionTaskOutput, error) { - req, out := c.GetMaintenanceWindowExecutionTaskRequest(input) - return out, req.Send() -} - -// GetMaintenanceWindowExecutionTaskWithContext is the same as GetMaintenanceWindowExecutionTask with the addition of -// the ability to pass a context and additional request options. -// -// See GetMaintenanceWindowExecutionTask for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetMaintenanceWindowExecutionTaskWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionTaskInput, opts ...request.Option) (*GetMaintenanceWindowExecutionTaskOutput, error) { - req, out := c.GetMaintenanceWindowExecutionTaskRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetMaintenanceWindowExecutionTaskInvocation = "GetMaintenanceWindowExecutionTaskInvocation" - -// GetMaintenanceWindowExecutionTaskInvocationRequest generates a "aws/request.Request" representing the -// client's request for the GetMaintenanceWindowExecutionTaskInvocation operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetMaintenanceWindowExecutionTaskInvocation for more information on using the GetMaintenanceWindowExecutionTaskInvocation -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetMaintenanceWindowExecutionTaskInvocationRequest method. -// req, resp := client.GetMaintenanceWindowExecutionTaskInvocationRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation -func (c *SSM) GetMaintenanceWindowExecutionTaskInvocationRequest(input *GetMaintenanceWindowExecutionTaskInvocationInput) (req *request.Request, output *GetMaintenanceWindowExecutionTaskInvocationOutput) { - op := &request.Operation{ - Name: opGetMaintenanceWindowExecutionTaskInvocation, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetMaintenanceWindowExecutionTaskInvocationInput{} - } - - output = &GetMaintenanceWindowExecutionTaskInvocationOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetMaintenanceWindowExecutionTaskInvocation API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves a task invocation. A task invocation is a specific task executing -// on a specific target. Maintenance Windows report status for all invocations. -// -// 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 GetMaintenanceWindowExecutionTaskInvocation for usage and error information. -// -// Returned Error Codes: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation -func (c *SSM) GetMaintenanceWindowExecutionTaskInvocation(input *GetMaintenanceWindowExecutionTaskInvocationInput) (*GetMaintenanceWindowExecutionTaskInvocationOutput, error) { - req, out := c.GetMaintenanceWindowExecutionTaskInvocationRequest(input) - return out, req.Send() -} - -// GetMaintenanceWindowExecutionTaskInvocationWithContext is the same as GetMaintenanceWindowExecutionTaskInvocation with the addition of -// the ability to pass a context and additional request options. -// -// See GetMaintenanceWindowExecutionTaskInvocation for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetMaintenanceWindowExecutionTaskInvocationWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionTaskInvocationInput, opts ...request.Option) (*GetMaintenanceWindowExecutionTaskInvocationOutput, error) { - req, out := c.GetMaintenanceWindowExecutionTaskInvocationRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetMaintenanceWindowTask = "GetMaintenanceWindowTask" - -// GetMaintenanceWindowTaskRequest generates a "aws/request.Request" representing the -// client's request for the GetMaintenanceWindowTask operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetMaintenanceWindowTask for more information on using the GetMaintenanceWindowTask -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetMaintenanceWindowTaskRequest method. -// req, resp := client.GetMaintenanceWindowTaskRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask -func (c *SSM) GetMaintenanceWindowTaskRequest(input *GetMaintenanceWindowTaskInput) (req *request.Request, output *GetMaintenanceWindowTaskOutput) { - op := &request.Operation{ - Name: opGetMaintenanceWindowTask, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetMaintenanceWindowTaskInput{} - } - - output = &GetMaintenanceWindowTaskOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetMaintenanceWindowTask 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 GetMaintenanceWindowTask for usage and error information. -// -// Returned Error Codes: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask -func (c *SSM) GetMaintenanceWindowTask(input *GetMaintenanceWindowTaskInput) (*GetMaintenanceWindowTaskOutput, error) { - req, out := c.GetMaintenanceWindowTaskRequest(input) - return out, req.Send() -} - -// GetMaintenanceWindowTaskWithContext is the same as GetMaintenanceWindowTask with the addition of -// the ability to pass a context and additional request options. -// -// See GetMaintenanceWindowTask for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetMaintenanceWindowTaskWithContext(ctx aws.Context, input *GetMaintenanceWindowTaskInput, opts ...request.Option) (*GetMaintenanceWindowTaskOutput, error) { - req, out := c.GetMaintenanceWindowTaskRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetParameter = "GetParameter" - -// GetParameterRequest generates a "aws/request.Request" representing the -// client's request for the GetParameter operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetParameter for more information on using the GetParameter -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetParameterRequest method. -// req, resp := client.GetParameterRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameter -func (c *SSM) GetParameterRequest(input *GetParameterInput) (req *request.Request, output *GetParameterOutput) { - op := &request.Operation{ - Name: opGetParameter, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetParameterInput{} - } - - output = &GetParameterOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetParameter API operation for Amazon Simple Systems Manager (SSM). -// -// Get information about a parameter by using the parameter name. Don't confuse -// this API action with the GetParameters API action. -// -// 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 GetParameter for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidKeyId "InvalidKeyId" -// The query key ID is not valid. -// -// * ErrCodeParameterNotFound "ParameterNotFound" -// The parameter could not be found. Verify the name and try again. -// -// * ErrCodeParameterVersionNotFound "ParameterVersionNotFound" -// The specified parameter version was not found. Verify the parameter name -// and version, and try again. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameter -func (c *SSM) GetParameter(input *GetParameterInput) (*GetParameterOutput, error) { - req, out := c.GetParameterRequest(input) - return out, req.Send() -} - -// GetParameterWithContext is the same as GetParameter with the addition of -// the ability to pass a context and additional request options. -// -// See GetParameter for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetParameterWithContext(ctx aws.Context, input *GetParameterInput, opts ...request.Option) (*GetParameterOutput, error) { - req, out := c.GetParameterRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetParameterHistory = "GetParameterHistory" - -// GetParameterHistoryRequest generates a "aws/request.Request" representing the -// client's request for the GetParameterHistory operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetParameterHistory for more information on using the GetParameterHistory -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetParameterHistoryRequest method. -// req, resp := client.GetParameterHistoryRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistory -func (c *SSM) GetParameterHistoryRequest(input *GetParameterHistoryInput) (req *request.Request, output *GetParameterHistoryOutput) { - op := &request.Operation{ - Name: opGetParameterHistory, - HTTPMethod: "POST", - HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, - } - - if input == nil { - input = &GetParameterHistoryInput{} - } - - output = &GetParameterHistoryOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeParameterNotFound "ParameterNotFound" -// The parameter could not be found. Verify the name and try again. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// * ErrCodeInvalidKeyId "InvalidKeyId" -// The query key ID is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistory -func (c *SSM) GetParameterHistory(input *GetParameterHistoryInput) (*GetParameterHistoryOutput, error) { - req, out := c.GetParameterHistoryRequest(input) - return out, req.Send() -} - -// GetParameterHistoryWithContext is the same as GetParameterHistory with the addition of -// the ability to pass a context and additional request options. -// -// See GetParameterHistory for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetParameterHistoryWithContext(ctx aws.Context, input *GetParameterHistoryInput, opts ...request.Option) (*GetParameterHistoryOutput, error) { - req, out := c.GetParameterHistoryRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// GetParameterHistoryPages iterates over the pages of a GetParameterHistory operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See GetParameterHistory method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a GetParameterHistory operation. -// pageNum := 0 -// err := client.GetParameterHistoryPages(params, -// func(page *GetParameterHistoryOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *SSM) GetParameterHistoryPages(input *GetParameterHistoryInput, fn func(*GetParameterHistoryOutput, bool) bool) error { - return c.GetParameterHistoryPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// GetParameterHistoryPagesWithContext same as GetParameterHistoryPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetParameterHistoryPagesWithContext(ctx aws.Context, input *GetParameterHistoryInput, fn func(*GetParameterHistoryOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *GetParameterHistoryInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.GetParameterHistoryRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - cont := true - for p.Next() && cont { - cont = fn(p.Page().(*GetParameterHistoryOutput), !p.HasNextPage()) - } - return p.Err() -} - -const opGetParameters = "GetParameters" - -// GetParametersRequest generates a "aws/request.Request" representing the -// client's request for the GetParameters operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetParameters for more information on using the GetParameters -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetParametersRequest method. -// req, resp := client.GetParametersRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameters -func (c *SSM) GetParametersRequest(input *GetParametersInput) (req *request.Request, output *GetParametersOutput) { - op := &request.Operation{ - Name: opGetParameters, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetParametersInput{} - } - - output = &GetParametersOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetParameters API operation for Amazon Simple Systems Manager (SSM). -// -// Get details of a parameter. Don't confuse this API action with the GetParameter -// API action. -// -// 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: -// * ErrCodeInvalidKeyId "InvalidKeyId" -// The query key ID is not valid. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameters -func (c *SSM) GetParameters(input *GetParametersInput) (*GetParametersOutput, error) { - req, out := c.GetParametersRequest(input) - return out, req.Send() -} - -// GetParametersWithContext is the same as GetParameters with the addition of -// the ability to pass a context and additional request options. -// -// See GetParameters for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetParametersWithContext(ctx aws.Context, input *GetParametersInput, opts ...request.Option) (*GetParametersOutput, error) { - req, out := c.GetParametersRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetParametersByPath = "GetParametersByPath" - -// GetParametersByPathRequest generates a "aws/request.Request" representing the -// client's request for the GetParametersByPath operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetParametersByPath for more information on using the GetParametersByPath -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetParametersByPathRequest method. -// req, resp := client.GetParametersByPathRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPath -func (c *SSM) GetParametersByPathRequest(input *GetParametersByPathInput) (req *request.Request, output *GetParametersByPathOutput) { - op := &request.Operation{ - Name: opGetParametersByPath, - HTTPMethod: "POST", - HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, - } - - if input == nil { - input = &GetParametersByPathInput{} - } - - output = &GetParametersByPathOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetParametersByPath API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieve parameters in a specific hierarchy. For more information, see Working -// with Systems Manager Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html) -// in the AWS Systems Manager User Guide. -// -// Request results are returned on a best-effort basis. If you specify MaxResults -// in the request, the response includes information up to the limit specified. -// The number of items returned, however, can be between zero and the value -// of MaxResults. If the service reaches an internal limit while processing -// the results, it stops the operation and returns the matching values up to -// that point and a NextToken. You can specify the NextToken in a subsequent -// call to get the next set of results. -// -// This API action doesn't support filtering by tags. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation GetParametersByPath for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidFilterKey "InvalidFilterKey" -// The specified key is not valid. -// -// * ErrCodeInvalidFilterOption "InvalidFilterOption" -// The specified filter option is not valid. Valid options are Equals and BeginsWith. -// For Path filter, valid options are Recursive and OneLevel. -// -// * ErrCodeInvalidFilterValue "InvalidFilterValue" -// The filter value is not valid. Verify the value and try again. -// -// * ErrCodeInvalidKeyId "InvalidKeyId" -// The query key ID is not valid. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPath -func (c *SSM) GetParametersByPath(input *GetParametersByPathInput) (*GetParametersByPathOutput, error) { - req, out := c.GetParametersByPathRequest(input) - return out, req.Send() -} - -// GetParametersByPathWithContext is the same as GetParametersByPath with the addition of -// the ability to pass a context and additional request options. -// -// See GetParametersByPath for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetParametersByPathWithContext(ctx aws.Context, input *GetParametersByPathInput, opts ...request.Option) (*GetParametersByPathOutput, error) { - req, out := c.GetParametersByPathRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// GetParametersByPathPages iterates over the pages of a GetParametersByPath operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See GetParametersByPath method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a GetParametersByPath operation. -// pageNum := 0 -// err := client.GetParametersByPathPages(params, -// func(page *GetParametersByPathOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *SSM) GetParametersByPathPages(input *GetParametersByPathInput, fn func(*GetParametersByPathOutput, bool) bool) error { - return c.GetParametersByPathPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// GetParametersByPathPagesWithContext same as GetParametersByPathPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetParametersByPathPagesWithContext(ctx aws.Context, input *GetParametersByPathInput, fn func(*GetParametersByPathOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *GetParametersByPathInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.GetParametersByPathRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - cont := true - for p.Next() && cont { - cont = fn(p.Page().(*GetParametersByPathOutput), !p.HasNextPage()) - } - return p.Err() -} - -const opGetPatchBaseline = "GetPatchBaseline" - -// GetPatchBaselineRequest generates a "aws/request.Request" representing the -// client's request for the GetPatchBaseline operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetPatchBaseline for more information on using the GetPatchBaseline -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetPatchBaselineRequest method. -// req, resp := client.GetPatchBaselineRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaseline -func (c *SSM) GetPatchBaselineRequest(input *GetPatchBaselineInput) (req *request.Request, output *GetPatchBaselineOutput) { - op := &request.Operation{ - Name: opGetPatchBaseline, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetPatchBaselineInput{} - } - - output = &GetPatchBaselineOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetPatchBaseline API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves information about a patch baseline. -// -// 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 GetPatchBaseline for usage and error information. -// -// Returned Error Codes: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInvalidResourceId "InvalidResourceId" -// The resource ID is not valid. Verify that you entered the correct ID and -// try again. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaseline -func (c *SSM) GetPatchBaseline(input *GetPatchBaselineInput) (*GetPatchBaselineOutput, error) { - req, out := c.GetPatchBaselineRequest(input) - return out, req.Send() -} - -// GetPatchBaselineWithContext is the same as GetPatchBaseline with the addition of -// the ability to pass a context and additional request options. -// -// See GetPatchBaseline for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetPatchBaselineWithContext(ctx aws.Context, input *GetPatchBaselineInput, opts ...request.Option) (*GetPatchBaselineOutput, error) { - req, out := c.GetPatchBaselineRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetPatchBaselineForPatchGroup = "GetPatchBaselineForPatchGroup" - -// GetPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the -// client's request for the GetPatchBaselineForPatchGroup operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetPatchBaselineForPatchGroup for more information on using the GetPatchBaselineForPatchGroup -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetPatchBaselineForPatchGroupRequest method. -// req, resp := client.GetPatchBaselineForPatchGroupRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroup -func (c *SSM) GetPatchBaselineForPatchGroupRequest(input *GetPatchBaselineForPatchGroupInput) (req *request.Request, output *GetPatchBaselineForPatchGroupOutput) { - op := &request.Operation{ - Name: opGetPatchBaselineForPatchGroup, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetPatchBaselineForPatchGroupInput{} - } - - output = &GetPatchBaselineForPatchGroupOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves the patch baseline that should be used for the specified patch -// group. -// -// 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 GetPatchBaselineForPatchGroup for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroup -func (c *SSM) GetPatchBaselineForPatchGroup(input *GetPatchBaselineForPatchGroupInput) (*GetPatchBaselineForPatchGroupOutput, error) { - req, out := c.GetPatchBaselineForPatchGroupRequest(input) - return out, req.Send() -} - -// GetPatchBaselineForPatchGroupWithContext is the same as GetPatchBaselineForPatchGroup with the addition of -// the ability to pass a context and additional request options. -// -// See GetPatchBaselineForPatchGroup for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) GetPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *GetPatchBaselineForPatchGroupInput, opts ...request.Option) (*GetPatchBaselineForPatchGroupOutput, error) { - req, out := c.GetPatchBaselineForPatchGroupRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opLabelParameterVersion = "LabelParameterVersion" - -// LabelParameterVersionRequest generates a "aws/request.Request" representing the -// client's request for the LabelParameterVersion operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See LabelParameterVersion for more information on using the LabelParameterVersion -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the LabelParameterVersionRequest method. -// req, resp := client.LabelParameterVersionRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/LabelParameterVersion -func (c *SSM) LabelParameterVersionRequest(input *LabelParameterVersionInput) (req *request.Request, output *LabelParameterVersionOutput) { - op := &request.Operation{ - Name: opLabelParameterVersion, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &LabelParameterVersionInput{} - } - - output = &LabelParameterVersionOutput{} - req = c.newRequest(op, input, output) - return -} - -// LabelParameterVersion API operation for Amazon Simple Systems Manager (SSM). -// -// A parameter label is a user-defined alias to help you manage different versions -// of a parameter. When you modify a parameter, Systems Manager automatically -// saves a new version and increments the version number by one. A label can -// help you remember the purpose of a parameter when there are multiple versions. -// -// Parameter labels have the following requirements and restrictions. -// -// * A version of a parameter can have a maximum of 10 labels. -// -// * You can't attach the same label to different versions of the same parameter. -// For example, if version 1 has the label Production, then you can't attach -// Production to version 2. -// -// * You can move a label from one version of a parameter to another. -// -// * You can't create a label when you create a new parameter. You must attach -// a label to a specific version of a parameter. -// -// * You can't delete a parameter label. If you no longer want to use a parameter -// label, then you must move it to a different version of a parameter. -// -// * A label can have a maximum of 100 characters. -// -// * Labels can contain letters (case sensitive), numbers, periods (.), hyphens -// (-), or underscores (_). -// -// * Labels can't begin with a number, "aws," or "ssm" (not case sensitive). -// If a label fails to meet these requirements, then the label is not associated -// with a parameter and the system displays it in the list of InvalidLabels. -// -// 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 LabelParameterVersion for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeTooManyUpdates "TooManyUpdates" -// There are concurrent updates for a resource that supports one update at a -// time. -// -// * ErrCodeParameterNotFound "ParameterNotFound" -// The parameter could not be found. Verify the name and try again. -// -// * ErrCodeParameterVersionNotFound "ParameterVersionNotFound" -// The specified parameter version was not found. Verify the parameter name -// and version, and try again. -// -// * ErrCodeParameterVersionLabelLimitExceeded "ParameterVersionLabelLimitExceeded" -// A parameter version can have a maximum of ten labels. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/LabelParameterVersion -func (c *SSM) LabelParameterVersion(input *LabelParameterVersionInput) (*LabelParameterVersionOutput, error) { - req, out := c.LabelParameterVersionRequest(input) - return out, req.Send() -} - -// LabelParameterVersionWithContext is the same as LabelParameterVersion with the addition of -// the ability to pass a context and additional request options. -// -// See LabelParameterVersion for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) LabelParameterVersionWithContext(ctx aws.Context, input *LabelParameterVersionInput, opts ...request.Option) (*LabelParameterVersionOutput, error) { - req, out := c.LabelParameterVersionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opListAssociationVersions = "ListAssociationVersions" - -// ListAssociationVersionsRequest generates a "aws/request.Request" representing the -// client's request for the ListAssociationVersions operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListAssociationVersions for more information on using the ListAssociationVersions -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListAssociationVersionsRequest method. -// req, resp := client.ListAssociationVersionsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions -func (c *SSM) ListAssociationVersionsRequest(input *ListAssociationVersionsInput) (req *request.Request, output *ListAssociationVersionsOutput) { - op := &request.Operation{ - Name: opListAssociationVersions, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &ListAssociationVersionsInput{} - } - - output = &ListAssociationVersionsOutput{} - req = c.newRequest(op, input, output) - return -} - -// ListAssociationVersions API operation for Amazon Simple Systems Manager (SSM). -// -// Retrieves all versions of an association for a specific association ID. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation ListAssociationVersions for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist" -// The specified association does not exist. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions -func (c *SSM) ListAssociationVersions(input *ListAssociationVersionsInput) (*ListAssociationVersionsOutput, error) { - req, out := c.ListAssociationVersionsRequest(input) - return out, req.Send() -} - -// ListAssociationVersionsWithContext is the same as ListAssociationVersions with the addition of -// the ability to pass a context and additional request options. -// -// See ListAssociationVersions for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListAssociationVersionsWithContext(ctx aws.Context, input *ListAssociationVersionsInput, opts ...request.Option) (*ListAssociationVersionsOutput, error) { - req, out := c.ListAssociationVersionsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opListAssociations = "ListAssociations" - -// ListAssociationsRequest generates a "aws/request.Request" representing the -// client's request for the ListAssociations operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListAssociations for more information on using the ListAssociations -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListAssociationsRequest method. -// req, resp := client.ListAssociationsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociations -func (c *SSM) ListAssociationsRequest(input *ListAssociationsInput) (req *request.Request, output *ListAssociationsOutput) { - op := &request.Operation{ - Name: opListAssociations, - HTTPMethod: "POST", - HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, - } - - if input == nil { - input = &ListAssociationsInput{} - } - - output = &ListAssociationsOutput{} - req = c.newRequest(op, input, output) - return -} - -// ListAssociations API operation for Amazon Simple Systems Manager (SSM). -// -// Lists the associations for the specified Systems Manager document or 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 Simple Systems Manager (SSM)'s -// API operation ListAssociations for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociations -func (c *SSM) ListAssociations(input *ListAssociationsInput) (*ListAssociationsOutput, error) { - req, out := c.ListAssociationsRequest(input) - return out, req.Send() -} - -// ListAssociationsWithContext is the same as ListAssociations with the addition of -// the ability to pass a context and additional request options. -// -// See ListAssociations for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListAssociationsWithContext(ctx aws.Context, input *ListAssociationsInput, opts ...request.Option) (*ListAssociationsOutput, error) { - req, out := c.ListAssociationsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// ListAssociationsPages iterates over the pages of a ListAssociations operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListAssociations method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListAssociations operation. -// pageNum := 0 -// err := client.ListAssociationsPages(params, -// func(page *ListAssociationsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *SSM) ListAssociationsPages(input *ListAssociationsInput, fn func(*ListAssociationsOutput, bool) bool) error { - return c.ListAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListAssociationsPagesWithContext same as ListAssociationsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListAssociationsPagesWithContext(ctx aws.Context, input *ListAssociationsInput, fn func(*ListAssociationsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListAssociationsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListAssociationsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - cont := true - for p.Next() && cont { - cont = fn(p.Page().(*ListAssociationsOutput), !p.HasNextPage()) - } - return p.Err() -} - -const opListCommandInvocations = "ListCommandInvocations" - -// ListCommandInvocationsRequest generates a "aws/request.Request" representing the -// client's request for the ListCommandInvocations operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListCommandInvocations for more information on using the ListCommandInvocations -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListCommandInvocationsRequest method. -// req, resp := client.ListCommandInvocationsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocations -func (c *SSM) ListCommandInvocationsRequest(input *ListCommandInvocationsInput) (req *request.Request, output *ListCommandInvocationsOutput) { - op := &request.Operation{ - Name: opListCommandInvocations, - HTTPMethod: "POST", - HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, - } - - if input == nil { - input = &ListCommandInvocationsInput{} - } - - output = &ListCommandInvocationsOutput{} - req = c.newRequest(op, input, output) - return -} - -// 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. -// For example, if a user executes SendCommand against three instances, then -// a command invocation is created for each requested instance ID. ListCommandInvocations -// provide status about command 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 ListCommandInvocations for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidCommandId "InvalidCommandId" -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInvalidFilterKey "InvalidFilterKey" -// The specified key is not valid. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocations -func (c *SSM) ListCommandInvocations(input *ListCommandInvocationsInput) (*ListCommandInvocationsOutput, error) { - req, out := c.ListCommandInvocationsRequest(input) - return out, req.Send() -} - -// ListCommandInvocationsWithContext is the same as ListCommandInvocations with the addition of -// the ability to pass a context and additional request options. -// -// See ListCommandInvocations for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListCommandInvocationsWithContext(ctx aws.Context, input *ListCommandInvocationsInput, opts ...request.Option) (*ListCommandInvocationsOutput, error) { - req, out := c.ListCommandInvocationsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// ListCommandInvocationsPages iterates over the pages of a ListCommandInvocations operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListCommandInvocations method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListCommandInvocations operation. -// pageNum := 0 -// err := client.ListCommandInvocationsPages(params, -// func(page *ListCommandInvocationsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *SSM) ListCommandInvocationsPages(input *ListCommandInvocationsInput, fn func(*ListCommandInvocationsOutput, bool) bool) error { - return c.ListCommandInvocationsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListCommandInvocationsPagesWithContext same as ListCommandInvocationsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListCommandInvocationsPagesWithContext(ctx aws.Context, input *ListCommandInvocationsInput, fn func(*ListCommandInvocationsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListCommandInvocationsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListCommandInvocationsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - cont := true - for p.Next() && cont { - cont = fn(p.Page().(*ListCommandInvocationsOutput), !p.HasNextPage()) - } - return p.Err() -} - -const opListCommands = "ListCommands" - -// ListCommandsRequest generates a "aws/request.Request" representing the -// client's request for the ListCommands operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListCommands for more information on using the ListCommands -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListCommandsRequest method. -// req, resp := client.ListCommandsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommands -func (c *SSM) ListCommandsRequest(input *ListCommandsInput) (req *request.Request, output *ListCommandsOutput) { - op := &request.Operation{ - Name: opListCommands, - HTTPMethod: "POST", - HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, - } - - if input == nil { - input = &ListCommandsInput{} - } - - output = &ListCommandsOutput{} - req = c.newRequest(op, input, output) - return -} - -// ListCommands API operation for Amazon Simple Systems Manager (SSM). -// -// Lists the commands requested by users of 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 ListCommands for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidCommandId "InvalidCommandId" -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInvalidFilterKey "InvalidFilterKey" -// The specified key is not valid. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommands -func (c *SSM) ListCommands(input *ListCommandsInput) (*ListCommandsOutput, error) { - req, out := c.ListCommandsRequest(input) - return out, req.Send() -} - -// ListCommandsWithContext is the same as ListCommands with the addition of -// the ability to pass a context and additional request options. -// -// See ListCommands for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListCommandsWithContext(ctx aws.Context, input *ListCommandsInput, opts ...request.Option) (*ListCommandsOutput, error) { - req, out := c.ListCommandsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// ListCommandsPages iterates over the pages of a ListCommands operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListCommands method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListCommands operation. -// pageNum := 0 -// err := client.ListCommandsPages(params, -// func(page *ListCommandsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *SSM) ListCommandsPages(input *ListCommandsInput, fn func(*ListCommandsOutput, bool) bool) error { - return c.ListCommandsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListCommandsPagesWithContext same as ListCommandsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListCommandsPagesWithContext(ctx aws.Context, input *ListCommandsInput, fn func(*ListCommandsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListCommandsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListCommandsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - cont := true - for p.Next() && cont { - cont = fn(p.Page().(*ListCommandsOutput), !p.HasNextPage()) - } - return p.Err() -} - -const opListComplianceItems = "ListComplianceItems" - -// ListComplianceItemsRequest generates a "aws/request.Request" representing the -// client's request for the ListComplianceItems operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListComplianceItems for more information on using the ListComplianceItems -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListComplianceItemsRequest method. -// req, resp := client.ListComplianceItemsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems -func (c *SSM) ListComplianceItemsRequest(input *ListComplianceItemsInput) (req *request.Request, output *ListComplianceItemsOutput) { - op := &request.Operation{ - Name: opListComplianceItems, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &ListComplianceItemsInput{} - } - - output = &ListComplianceItemsOutput{} - req = c.newRequest(op, input, output) - return -} - -// ListComplianceItems API operation for Amazon Simple Systems Manager (SSM). -// -// For a specified resource ID, this API action returns a list of compliance -// statuses for different resource types. Currently, you can only specify one -// resource ID per call. List results depend on the criteria specified in the -// filter. -// -// 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 ListComplianceItems for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidResourceType "InvalidResourceType" -// The resource type is not valid. For example, if you are attempting to tag -// an instance, the instance must be a registered, managed instance. -// -// * ErrCodeInvalidResourceId "InvalidResourceId" -// The resource ID is not valid. Verify that you entered the correct ID and -// try again. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidFilter "InvalidFilter" -// The filter name is not valid. Verify the you entered the correct name and -// try again. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems -func (c *SSM) ListComplianceItems(input *ListComplianceItemsInput) (*ListComplianceItemsOutput, error) { - req, out := c.ListComplianceItemsRequest(input) - return out, req.Send() -} - -// ListComplianceItemsWithContext is the same as ListComplianceItems with the addition of -// the ability to pass a context and additional request options. -// -// See ListComplianceItems for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListComplianceItemsWithContext(ctx aws.Context, input *ListComplianceItemsInput, opts ...request.Option) (*ListComplianceItemsOutput, error) { - req, out := c.ListComplianceItemsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opListComplianceSummaries = "ListComplianceSummaries" - -// ListComplianceSummariesRequest generates a "aws/request.Request" representing the -// client's request for the ListComplianceSummaries operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListComplianceSummaries for more information on using the ListComplianceSummaries -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListComplianceSummariesRequest method. -// req, resp := client.ListComplianceSummariesRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries -func (c *SSM) ListComplianceSummariesRequest(input *ListComplianceSummariesInput) (req *request.Request, output *ListComplianceSummariesOutput) { - op := &request.Operation{ - Name: opListComplianceSummaries, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &ListComplianceSummariesInput{} - } - - output = &ListComplianceSummariesOutput{} - req = c.newRequest(op, input, output) - return -} - -// ListComplianceSummaries API operation for Amazon Simple Systems Manager (SSM). -// -// Returns a summary count of compliant and non-compliant resources for a compliance -// type. For example, this call can return State Manager associations, patches, -// or custom compliance types according to the filter criteria that you specify. -// -// 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 ListComplianceSummaries for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidFilter "InvalidFilter" -// The filter name is not valid. Verify the you entered the correct name and -// try again. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries -func (c *SSM) ListComplianceSummaries(input *ListComplianceSummariesInput) (*ListComplianceSummariesOutput, error) { - req, out := c.ListComplianceSummariesRequest(input) - return out, req.Send() -} - -// ListComplianceSummariesWithContext is the same as ListComplianceSummaries with the addition of -// the ability to pass a context and additional request options. -// -// See ListComplianceSummaries for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListComplianceSummariesWithContext(ctx aws.Context, input *ListComplianceSummariesInput, opts ...request.Option) (*ListComplianceSummariesOutput, error) { - req, out := c.ListComplianceSummariesRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opListDocumentVersions = "ListDocumentVersions" - -// ListDocumentVersionsRequest generates a "aws/request.Request" representing the -// client's request for the ListDocumentVersions operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListDocumentVersions for more information on using the ListDocumentVersions -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListDocumentVersionsRequest method. -// req, resp := client.ListDocumentVersionsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersions -func (c *SSM) ListDocumentVersionsRequest(input *ListDocumentVersionsInput) (req *request.Request, output *ListDocumentVersionsOutput) { - op := &request.Operation{ - Name: opListDocumentVersions, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &ListDocumentVersionsInput{} - } - - output = &ListDocumentVersionsOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersions -func (c *SSM) ListDocumentVersions(input *ListDocumentVersionsInput) (*ListDocumentVersionsOutput, error) { - req, out := c.ListDocumentVersionsRequest(input) - return out, req.Send() -} - -// ListDocumentVersionsWithContext is the same as ListDocumentVersions with the addition of -// the ability to pass a context and additional request options. -// -// See ListDocumentVersions for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListDocumentVersionsWithContext(ctx aws.Context, input *ListDocumentVersionsInput, opts ...request.Option) (*ListDocumentVersionsOutput, error) { - req, out := c.ListDocumentVersionsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opListDocuments = "ListDocuments" - -// ListDocumentsRequest generates a "aws/request.Request" representing the -// client's request for the ListDocuments operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListDocuments for more information on using the ListDocuments -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListDocumentsRequest method. -// req, resp := client.ListDocumentsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocuments -func (c *SSM) ListDocumentsRequest(input *ListDocumentsInput) (req *request.Request, output *ListDocumentsOutput) { - op := &request.Operation{ - Name: opListDocuments, - HTTPMethod: "POST", - HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, - } - - if input == nil { - input = &ListDocumentsInput{} - } - - output = &ListDocumentsOutput{} - req = c.newRequest(op, input, output) - return -} - -// ListDocuments API operation for Amazon Simple Systems Manager (SSM). -// -// Describes one or more of your Systems Manager documents. -// -// 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 ListDocuments for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// * ErrCodeInvalidFilterKey "InvalidFilterKey" -// The specified key is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocuments -func (c *SSM) ListDocuments(input *ListDocumentsInput) (*ListDocumentsOutput, error) { - req, out := c.ListDocumentsRequest(input) - return out, req.Send() -} - -// ListDocumentsWithContext is the same as ListDocuments with the addition of -// the ability to pass a context and additional request options. -// -// See ListDocuments for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListDocumentsWithContext(ctx aws.Context, input *ListDocumentsInput, opts ...request.Option) (*ListDocumentsOutput, error) { - req, out := c.ListDocumentsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// ListDocumentsPages iterates over the pages of a ListDocuments operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListDocuments method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListDocuments operation. -// pageNum := 0 -// err := client.ListDocumentsPages(params, -// func(page *ListDocumentsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *SSM) ListDocumentsPages(input *ListDocumentsInput, fn func(*ListDocumentsOutput, bool) bool) error { - return c.ListDocumentsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListDocumentsPagesWithContext same as ListDocumentsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListDocumentsPagesWithContext(ctx aws.Context, input *ListDocumentsInput, fn func(*ListDocumentsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListDocumentsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListDocumentsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - cont := true - for p.Next() && cont { - cont = fn(p.Page().(*ListDocumentsOutput), !p.HasNextPage()) - } - return p.Err() -} - -const opListInventoryEntries = "ListInventoryEntries" - -// ListInventoryEntriesRequest generates a "aws/request.Request" representing the -// client's request for the ListInventoryEntries operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListInventoryEntries for more information on using the ListInventoryEntries -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListInventoryEntriesRequest method. -// req, resp := client.ListInventoryEntriesRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntries -func (c *SSM) ListInventoryEntriesRequest(input *ListInventoryEntriesInput) (req *request.Request, output *ListInventoryEntriesOutput) { - op := &request.Operation{ - Name: opListInventoryEntries, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &ListInventoryEntriesInput{} - } - - output = &ListInventoryEntriesOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInvalidTypeNameException "InvalidTypeNameException" -// The parameter type name is not valid. -// -// * ErrCodeInvalidFilter "InvalidFilter" -// The filter name is not valid. Verify the you entered the correct name and -// try again. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntries -func (c *SSM) ListInventoryEntries(input *ListInventoryEntriesInput) (*ListInventoryEntriesOutput, error) { - req, out := c.ListInventoryEntriesRequest(input) - return out, req.Send() -} - -// ListInventoryEntriesWithContext is the same as ListInventoryEntries with the addition of -// the ability to pass a context and additional request options. -// -// See ListInventoryEntries for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListInventoryEntriesWithContext(ctx aws.Context, input *ListInventoryEntriesInput, opts ...request.Option) (*ListInventoryEntriesOutput, error) { - req, out := c.ListInventoryEntriesRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opListResourceComplianceSummaries = "ListResourceComplianceSummaries" - -// ListResourceComplianceSummariesRequest generates a "aws/request.Request" representing the -// client's request for the ListResourceComplianceSummaries operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListResourceComplianceSummaries for more information on using the ListResourceComplianceSummaries -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListResourceComplianceSummariesRequest method. -// req, resp := client.ListResourceComplianceSummariesRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries -func (c *SSM) ListResourceComplianceSummariesRequest(input *ListResourceComplianceSummariesInput) (req *request.Request, output *ListResourceComplianceSummariesOutput) { - op := &request.Operation{ - Name: opListResourceComplianceSummaries, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &ListResourceComplianceSummariesInput{} - } - - output = &ListResourceComplianceSummariesOutput{} - req = c.newRequest(op, input, output) - return -} - -// ListResourceComplianceSummaries API operation for Amazon Simple Systems Manager (SSM). -// -// Returns a resource-level summary count. The summary includes information -// about compliant and non-compliant statuses and detailed compliance-item severity -// counts, according to the filter criteria you specify. -// -// 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 ListResourceComplianceSummaries for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidFilter "InvalidFilter" -// The filter name is not valid. Verify the you entered the correct name and -// try again. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries -func (c *SSM) ListResourceComplianceSummaries(input *ListResourceComplianceSummariesInput) (*ListResourceComplianceSummariesOutput, error) { - req, out := c.ListResourceComplianceSummariesRequest(input) - return out, req.Send() -} - -// ListResourceComplianceSummariesWithContext is the same as ListResourceComplianceSummaries with the addition of -// the ability to pass a context and additional request options. -// -// See ListResourceComplianceSummaries for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListResourceComplianceSummariesWithContext(ctx aws.Context, input *ListResourceComplianceSummariesInput, opts ...request.Option) (*ListResourceComplianceSummariesOutput, error) { - req, out := c.ListResourceComplianceSummariesRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opListResourceDataSync = "ListResourceDataSync" - -// ListResourceDataSyncRequest generates a "aws/request.Request" representing the -// client's request for the ListResourceDataSync operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListResourceDataSync for more information on using the ListResourceDataSync -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListResourceDataSyncRequest method. -// req, resp := client.ListResourceDataSyncRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSync -func (c *SSM) ListResourceDataSyncRequest(input *ListResourceDataSyncInput) (req *request.Request, output *ListResourceDataSyncOutput) { - op := &request.Operation{ - Name: opListResourceDataSync, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &ListResourceDataSyncInput{} - } - - output = &ListResourceDataSyncOutput{} - req = c.newRequest(op, input, output) - return -} - -// ListResourceDataSync API operation for Amazon Simple Systems Manager (SSM). -// -// Lists your resource data sync configurations. Includes information about -// the last time a sync attempted to start, the last sync status, and the last -// time a sync successfully completed. -// -// The number of sync configurations might be too large to return using a single -// call to ListResourceDataSync. You can limit the number of sync configurations -// returned by using the MaxResults parameter. To determine whether there are -// more sync configurations to list, check the value of NextToken in the output. -// If there are more sync configurations to list, you can request them by specifying -// the NextToken returned in the call to the parameter of a subsequent 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 -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation ListResourceDataSync for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidNextToken "InvalidNextToken" -// The specified token is not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSync -func (c *SSM) ListResourceDataSync(input *ListResourceDataSyncInput) (*ListResourceDataSyncOutput, error) { - req, out := c.ListResourceDataSyncRequest(input) - return out, req.Send() -} - -// ListResourceDataSyncWithContext is the same as ListResourceDataSync with the addition of -// the ability to pass a context and additional request options. -// -// See ListResourceDataSync for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListResourceDataSyncWithContext(ctx aws.Context, input *ListResourceDataSyncInput, opts ...request.Option) (*ListResourceDataSyncOutput, error) { - req, out := c.ListResourceDataSyncRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opListTagsForResource = "ListTagsForResource" - -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListTagsForResource for more information on using the ListTagsForResource -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResource -func (c *SSM) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { - op := &request.Operation{ - Name: opListTagsForResource, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &ListTagsForResourceInput{} - } - - output = &ListTagsForResourceOutput{} - req = c.newRequest(op, input, output) - return -} - -// ListTagsForResource API operation for Amazon Simple Systems Manager (SSM). -// -// Returns a list of the tags assigned to the specified resource. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation ListTagsForResource for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidResourceType "InvalidResourceType" -// The resource type is not valid. For example, if you are attempting to tag -// an instance, the instance must be a registered, managed instance. -// -// * ErrCodeInvalidResourceId "InvalidResourceId" -// The resource ID is not valid. Verify that you entered the correct ID and -// try again. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResource -func (c *SSM) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) - return out, req.Send() -} - -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of -// the ability to pass a context and additional request options. -// -// See ListTagsForResource for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opModifyDocumentPermission = "ModifyDocumentPermission" - -// ModifyDocumentPermissionRequest generates a "aws/request.Request" representing the -// client's request for the ModifyDocumentPermission operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ModifyDocumentPermission for more information on using the ModifyDocumentPermission -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ModifyDocumentPermissionRequest method. -// req, resp := client.ModifyDocumentPermissionRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermission -func (c *SSM) ModifyDocumentPermissionRequest(input *ModifyDocumentPermissionInput) (req *request.Request, output *ModifyDocumentPermissionOutput) { - op := &request.Operation{ - Name: opModifyDocumentPermission, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &ModifyDocumentPermissionInput{} - } - - output = &ModifyDocumentPermissionOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// ModifyDocumentPermission API operation for Amazon Simple Systems Manager (SSM). -// -// Shares a Systems Manager 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 document. If you share a document publicly, you must specify -// All as the account ID. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation ModifyDocumentPermission for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidPermissionType "InvalidPermissionType" -// The permission type is not supported. Share is the only supported permission -// type. -// -// * ErrCodeDocumentPermissionLimit "DocumentPermissionLimit" -// The document cannot be shared with more AWS user accounts. You can share -// a document with a maximum of 20 accounts. You can publicly share up to five -// documents. If you need to increase this limit, contact AWS Support. -// -// * ErrCodeDocumentLimitExceeded "DocumentLimitExceeded" -// You can have at most 200 active Systems Manager documents. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermission -func (c *SSM) ModifyDocumentPermission(input *ModifyDocumentPermissionInput) (*ModifyDocumentPermissionOutput, error) { - req, out := c.ModifyDocumentPermissionRequest(input) - return out, req.Send() -} - -// ModifyDocumentPermissionWithContext is the same as ModifyDocumentPermission with the addition of -// the ability to pass a context and additional request options. -// -// See ModifyDocumentPermission for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ModifyDocumentPermissionWithContext(ctx aws.Context, input *ModifyDocumentPermissionInput, opts ...request.Option) (*ModifyDocumentPermissionOutput, error) { - req, out := c.ModifyDocumentPermissionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opPutComplianceItems = "PutComplianceItems" - -// PutComplianceItemsRequest generates a "aws/request.Request" representing the -// client's request for the PutComplianceItems operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See PutComplianceItems for more information on using the PutComplianceItems -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the PutComplianceItemsRequest method. -// req, resp := client.PutComplianceItemsRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems -func (c *SSM) PutComplianceItemsRequest(input *PutComplianceItemsInput) (req *request.Request, output *PutComplianceItemsOutput) { - op := &request.Operation{ - Name: opPutComplianceItems, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &PutComplianceItemsInput{} - } - - output = &PutComplianceItemsOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// PutComplianceItems API operation for Amazon Simple Systems Manager (SSM). -// -// Registers a compliance type and other compliance details on a designated -// resource. This action lets you register custom compliance details with a -// resource. This call overwrites existing compliance information on the resource, -// so you must provide a full list of compliance items each time that you send -// the request. -// -// ComplianceType can be one of the following: -// -// * ExecutionId: The execution ID when the patch, association, or custom -// compliance item was applied. -// -// * ExecutionType: Specify patch, association, or Custom:string. -// -// * ExecutionTime. The time the patch, association, or custom compliance -// item was applied to the instance. -// -// * Id: The patch, association, or custom compliance ID. -// -// * Title: A title. -// -// * Status: The status of the compliance item. For example, approved for -// patches, or Failed for associations. -// -// * Severity: A patch severity. For example, critical. -// -// * DocumentName: A SSM document name. For example, AWS-RunPatchBaseline. -// -// * DocumentVersion: An SSM document version number. For example, 4. -// -// * Classification: A patch classification. For example, security updates. -// -// * PatchBaselineId: A patch baseline ID. -// -// * PatchSeverity: A patch severity. For example, Critical. -// -// * PatchState: A patch state. For example, InstancesWithFailedPatches. -// -// * PatchGroup: The name of a patch group. -// -// * InstalledTime: The time the association, patch, or custom compliance -// item was applied to the resource. Specify the time by using the following -// format: yyyy-MM-dd'T'HH:mm:ss'Z' -// -// 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 PutComplianceItems for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidItemContentException "InvalidItemContentException" -// One or more content items is not valid. -// -// * ErrCodeTotalSizeLimitExceededException "TotalSizeLimitExceededException" -// The size of inventory data has exceeded the total size limit for the resource. -// -// * ErrCodeItemSizeLimitExceededException "ItemSizeLimitExceededException" -// The inventory item size has exceeded the size limit. -// -// * ErrCodeComplianceTypeCountLimitExceededException "ComplianceTypeCountLimitExceededException" -// You specified too many custom compliance types. You can specify a maximum -// of 10 different types. -// -// * ErrCodeInvalidResourceType "InvalidResourceType" -// The resource type is not valid. For example, if you are attempting to tag -// an instance, the instance must be a registered, managed instance. -// -// * ErrCodeInvalidResourceId "InvalidResourceId" -// The resource ID is not valid. Verify that you entered the correct ID and -// try again. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems -func (c *SSM) PutComplianceItems(input *PutComplianceItemsInput) (*PutComplianceItemsOutput, error) { - req, out := c.PutComplianceItemsRequest(input) - return out, req.Send() -} - -// PutComplianceItemsWithContext is the same as PutComplianceItems with the addition of -// the ability to pass a context and additional request options. -// -// See PutComplianceItems for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) PutComplianceItemsWithContext(ctx aws.Context, input *PutComplianceItemsInput, opts ...request.Option) (*PutComplianceItemsOutput, error) { - req, out := c.PutComplianceItemsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opPutInventory = "PutInventory" - -// PutInventoryRequest generates a "aws/request.Request" representing the -// client's request for the PutInventory operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See PutInventory for more information on using the PutInventory -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the PutInventoryRequest method. -// req, resp := client.PutInventoryRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventory -func (c *SSM) PutInventoryRequest(input *PutInventoryInput) (req *request.Request, output *PutInventoryOutput) { - op := &request.Operation{ - Name: opPutInventory, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &PutInventoryInput{} - } - - output = &PutInventoryOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInvalidTypeNameException "InvalidTypeNameException" -// The parameter type name is not valid. -// -// * ErrCodeInvalidItemContentException "InvalidItemContentException" -// One or more content items is not valid. -// -// * ErrCodeTotalSizeLimitExceededException "TotalSizeLimitExceededException" -// The size of inventory data has exceeded the total size limit for the resource. -// -// * ErrCodeItemSizeLimitExceededException "ItemSizeLimitExceededException" -// The inventory item size has exceeded the size limit. -// -// * ErrCodeItemContentMismatchException "ItemContentMismatchException" -// The inventory item has invalid content. -// -// * ErrCodeCustomSchemaCountLimitExceededException "CustomSchemaCountLimitExceededException" -// You have exceeded the limit for custom schemas. Delete one or more custom -// schemas and try again. -// -// * ErrCodeUnsupportedInventorySchemaVersionException "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. -// -// * ErrCodeUnsupportedInventoryItemContextException "UnsupportedInventoryItemContextException" -// The Context attribute that you specified for the InventoryItem is not allowed -// for this inventory type. You can only use the Context attribute with inventory -// types like AWS:ComplianceItem. -// -// * ErrCodeInvalidInventoryItemContextException "InvalidInventoryItemContextException" -// You specified invalid keys or values in the Context attribute for InventoryItem. -// Verify the keys and values, and try again. -// -// * ErrCodeSubTypeCountLimitExceededException "SubTypeCountLimitExceededException" -// The sub-type count exceeded the limit for the inventory type. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventory -func (c *SSM) PutInventory(input *PutInventoryInput) (*PutInventoryOutput, error) { - req, out := c.PutInventoryRequest(input) - return out, req.Send() -} - -// PutInventoryWithContext is the same as PutInventory with the addition of -// the ability to pass a context and additional request options. -// -// See PutInventory for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) PutInventoryWithContext(ctx aws.Context, input *PutInventoryInput, opts ...request.Option) (*PutInventoryOutput, error) { - req, out := c.PutInventoryRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opPutParameter = "PutParameter" - -// PutParameterRequest generates a "aws/request.Request" representing the -// client's request for the PutParameter operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See PutParameter for more information on using the PutParameter -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the PutParameterRequest method. -// req, resp := client.PutParameterRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameter -func (c *SSM) PutParameterRequest(input *PutParameterInput) (req *request.Request, output *PutParameterOutput) { - op := &request.Operation{ - Name: opPutParameter, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &PutParameterInput{} - } - - output = &PutParameterOutput{} - req = c.newRequest(op, input, output) - return -} - -// PutParameter API operation for Amazon Simple Systems Manager (SSM). -// -// Add a parameter 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidKeyId "InvalidKeyId" -// The query key ID is not valid. -// -// * ErrCodeParameterLimitExceeded "ParameterLimitExceeded" -// You have exceeded the number of parameters for this AWS account. Delete one -// or more parameters and try again. -// -// * ErrCodeTooManyUpdates "TooManyUpdates" -// There are concurrent updates for a resource that supports one update at a -// time. -// -// * ErrCodeParameterAlreadyExists "ParameterAlreadyExists" -// The parameter already exists. You can't create duplicate parameters. -// -// * ErrCodeHierarchyLevelLimitExceededException "HierarchyLevelLimitExceededException" -// A hierarchy can have a maximum of 15 levels. For more information, see Requirements -// and Constraints for Parameter Names (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html) -// in the AWS Systems Manager User Guide. -// -// * ErrCodeHierarchyTypeMismatchException "HierarchyTypeMismatchException" -// Parameter Store does not support changing a parameter type in a hierarchy. -// For example, you can't change a parameter from a String type to a SecureString -// type. You must create a new, unique parameter. -// -// * ErrCodeInvalidAllowedPatternException "InvalidAllowedPatternException" -// The request does not meet the regular expression requirement. -// -// * ErrCodeParameterMaxVersionLimitExceeded "ParameterMaxVersionLimitExceeded" -// The parameter exceeded the maximum number of allowed versions. -// -// * ErrCodeParameterPatternMismatchException "ParameterPatternMismatchException" -// The parameter name is not valid. -// -// * ErrCodeUnsupportedParameterType "UnsupportedParameterType" -// The parameter type is not supported. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameter -func (c *SSM) PutParameter(input *PutParameterInput) (*PutParameterOutput, error) { - req, out := c.PutParameterRequest(input) - return out, req.Send() -} - -// PutParameterWithContext is the same as PutParameter with the addition of -// the ability to pass a context and additional request options. -// -// See PutParameter for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) PutParameterWithContext(ctx aws.Context, input *PutParameterInput, opts ...request.Option) (*PutParameterOutput, error) { - req, out := c.PutParameterRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opRegisterDefaultPatchBaseline = "RegisterDefaultPatchBaseline" - -// RegisterDefaultPatchBaselineRequest generates a "aws/request.Request" representing the -// client's request for the RegisterDefaultPatchBaseline operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See RegisterDefaultPatchBaseline for more information on using the RegisterDefaultPatchBaseline -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the RegisterDefaultPatchBaselineRequest method. -// req, resp := client.RegisterDefaultPatchBaselineRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaseline -func (c *SSM) RegisterDefaultPatchBaselineRequest(input *RegisterDefaultPatchBaselineInput) (req *request.Request, output *RegisterDefaultPatchBaselineOutput) { - op := &request.Operation{ - Name: opRegisterDefaultPatchBaseline, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &RegisterDefaultPatchBaselineInput{} - } - - output = &RegisterDefaultPatchBaselineOutput{} - req = c.newRequest(op, input, output) - return -} - -// RegisterDefaultPatchBaseline API operation for Amazon Simple Systems Manager (SSM). -// -// Defines the default patch baseline. -// -// 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 RegisterDefaultPatchBaseline for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidResourceId "InvalidResourceId" -// The resource ID is not valid. Verify that you entered the correct ID and -// try again. -// -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaseline -func (c *SSM) RegisterDefaultPatchBaseline(input *RegisterDefaultPatchBaselineInput) (*RegisterDefaultPatchBaselineOutput, error) { - req, out := c.RegisterDefaultPatchBaselineRequest(input) - return out, req.Send() -} - -// RegisterDefaultPatchBaselineWithContext is the same as RegisterDefaultPatchBaseline with the addition of -// the ability to pass a context and additional request options. -// -// See RegisterDefaultPatchBaseline for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) RegisterDefaultPatchBaselineWithContext(ctx aws.Context, input *RegisterDefaultPatchBaselineInput, opts ...request.Option) (*RegisterDefaultPatchBaselineOutput, error) { - req, out := c.RegisterDefaultPatchBaselineRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opRegisterPatchBaselineForPatchGroup = "RegisterPatchBaselineForPatchGroup" - -// RegisterPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the -// client's request for the RegisterPatchBaselineForPatchGroup operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See RegisterPatchBaselineForPatchGroup for more information on using the RegisterPatchBaselineForPatchGroup -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the RegisterPatchBaselineForPatchGroupRequest method. -// req, resp := client.RegisterPatchBaselineForPatchGroupRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroup -func (c *SSM) RegisterPatchBaselineForPatchGroupRequest(input *RegisterPatchBaselineForPatchGroupInput) (req *request.Request, output *RegisterPatchBaselineForPatchGroupOutput) { - op := &request.Operation{ - Name: opRegisterPatchBaselineForPatchGroup, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &RegisterPatchBaselineForPatchGroupInput{} - } - - output = &RegisterPatchBaselineForPatchGroupOutput{} - req = c.newRequest(op, input, output) - return -} - -// RegisterPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM). -// -// Registers a patch baseline for a patch group. -// -// 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 RegisterPatchBaselineForPatchGroup for usage and error information. -// -// Returned Error Codes: -// * ErrCodeAlreadyExistsException "AlreadyExistsException" -// Error returned if an attempt is made to register a patch group with a patch -// baseline that is already registered with a different patch baseline. -// -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInvalidResourceId "InvalidResourceId" -// The resource ID is not valid. Verify that you entered the correct ID and -// try again. -// -// * ErrCodeResourceLimitExceededException "ResourceLimitExceededException" -// Error returned when the caller has exceeded the default resource limits. -// For example, too many Maintenance Windows or Patch baselines have been created. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroup -func (c *SSM) RegisterPatchBaselineForPatchGroup(input *RegisterPatchBaselineForPatchGroupInput) (*RegisterPatchBaselineForPatchGroupOutput, error) { - req, out := c.RegisterPatchBaselineForPatchGroupRequest(input) - return out, req.Send() -} - -// RegisterPatchBaselineForPatchGroupWithContext is the same as RegisterPatchBaselineForPatchGroup with the addition of -// the ability to pass a context and additional request options. -// -// See RegisterPatchBaselineForPatchGroup for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) RegisterPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *RegisterPatchBaselineForPatchGroupInput, opts ...request.Option) (*RegisterPatchBaselineForPatchGroupOutput, error) { - req, out := c.RegisterPatchBaselineForPatchGroupRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opRegisterTargetWithMaintenanceWindow = "RegisterTargetWithMaintenanceWindow" - -// RegisterTargetWithMaintenanceWindowRequest generates a "aws/request.Request" representing the -// client's request for the RegisterTargetWithMaintenanceWindow operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See RegisterTargetWithMaintenanceWindow for more information on using the RegisterTargetWithMaintenanceWindow -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the RegisterTargetWithMaintenanceWindowRequest method. -// req, resp := client.RegisterTargetWithMaintenanceWindowRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindow -func (c *SSM) RegisterTargetWithMaintenanceWindowRequest(input *RegisterTargetWithMaintenanceWindowInput) (req *request.Request, output *RegisterTargetWithMaintenanceWindowOutput) { - op := &request.Operation{ - Name: opRegisterTargetWithMaintenanceWindow, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &RegisterTargetWithMaintenanceWindowInput{} - } - - output = &RegisterTargetWithMaintenanceWindowOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeIdempotentParameterMismatch "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. -// -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeResourceLimitExceededException "ResourceLimitExceededException" -// Error returned when the caller has exceeded the default resource limits. -// For example, too many Maintenance Windows or Patch baselines have been created. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindow -func (c *SSM) RegisterTargetWithMaintenanceWindow(input *RegisterTargetWithMaintenanceWindowInput) (*RegisterTargetWithMaintenanceWindowOutput, error) { - req, out := c.RegisterTargetWithMaintenanceWindowRequest(input) - return out, req.Send() -} - -// RegisterTargetWithMaintenanceWindowWithContext is the same as RegisterTargetWithMaintenanceWindow with the addition of -// the ability to pass a context and additional request options. -// -// See RegisterTargetWithMaintenanceWindow for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) RegisterTargetWithMaintenanceWindowWithContext(ctx aws.Context, input *RegisterTargetWithMaintenanceWindowInput, opts ...request.Option) (*RegisterTargetWithMaintenanceWindowOutput, error) { - req, out := c.RegisterTargetWithMaintenanceWindowRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opRegisterTaskWithMaintenanceWindow = "RegisterTaskWithMaintenanceWindow" - -// RegisterTaskWithMaintenanceWindowRequest generates a "aws/request.Request" representing the -// client's request for the RegisterTaskWithMaintenanceWindow operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See RegisterTaskWithMaintenanceWindow for more information on using the RegisterTaskWithMaintenanceWindow -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the RegisterTaskWithMaintenanceWindowRequest method. -// req, resp := client.RegisterTaskWithMaintenanceWindowRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindow -func (c *SSM) RegisterTaskWithMaintenanceWindowRequest(input *RegisterTaskWithMaintenanceWindowInput) (req *request.Request, output *RegisterTaskWithMaintenanceWindowOutput) { - op := &request.Operation{ - Name: opRegisterTaskWithMaintenanceWindow, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &RegisterTaskWithMaintenanceWindowInput{} - } - - output = &RegisterTaskWithMaintenanceWindowOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeIdempotentParameterMismatch "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. -// -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeResourceLimitExceededException "ResourceLimitExceededException" -// Error returned when the caller has exceeded the default resource limits. -// For example, too many Maintenance Windows or Patch baselines have been created. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeFeatureNotAvailableException "FeatureNotAvailableException" -// You attempted to register a LAMBDA or STEP_FUNCTION task in a region where -// the corresponding service is not available. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindow -func (c *SSM) RegisterTaskWithMaintenanceWindow(input *RegisterTaskWithMaintenanceWindowInput) (*RegisterTaskWithMaintenanceWindowOutput, error) { - req, out := c.RegisterTaskWithMaintenanceWindowRequest(input) - return out, req.Send() -} - -// RegisterTaskWithMaintenanceWindowWithContext is the same as RegisterTaskWithMaintenanceWindow with the addition of -// the ability to pass a context and additional request options. -// -// See RegisterTaskWithMaintenanceWindow for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) RegisterTaskWithMaintenanceWindowWithContext(ctx aws.Context, input *RegisterTaskWithMaintenanceWindowInput, opts ...request.Option) (*RegisterTaskWithMaintenanceWindowOutput, error) { - req, out := c.RegisterTaskWithMaintenanceWindowRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opRemoveTagsFromResource = "RemoveTagsFromResource" - -// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the -// client's request for the RemoveTagsFromResource operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the RemoveTagsFromResourceRequest method. -// req, resp := client.RemoveTagsFromResourceRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResource -func (c *SSM) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) { - op := &request.Operation{ - Name: opRemoveTagsFromResource, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &RemoveTagsFromResourceInput{} - } - - output = &RemoveTagsFromResourceOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// RemoveTagsFromResource API operation for Amazon Simple Systems Manager (SSM). -// -// Removes all tags from the specified resource. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation RemoveTagsFromResource for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidResourceType "InvalidResourceType" -// The resource type is not valid. For example, if you are attempting to tag -// an instance, the instance must be a registered, managed instance. -// -// * ErrCodeInvalidResourceId "InvalidResourceId" -// The resource ID is not valid. Verify that you entered the correct ID and -// try again. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeTooManyUpdates "TooManyUpdates" -// There are concurrent updates for a resource that supports one update at a -// time. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResource -func (c *SSM) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) { - req, out := c.RemoveTagsFromResourceRequest(input) - return out, req.Send() -} - -// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of -// the ability to pass a context and additional request options. -// -// See RemoveTagsFromResource for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) { - req, out := c.RemoveTagsFromResourceRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opResumeSession = "ResumeSession" - -// ResumeSessionRequest generates a "aws/request.Request" representing the -// client's request for the ResumeSession operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ResumeSession for more information on using the ResumeSession -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ResumeSessionRequest method. -// req, resp := client.ResumeSessionRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResumeSession -func (c *SSM) ResumeSessionRequest(input *ResumeSessionInput) (req *request.Request, output *ResumeSessionOutput) { - op := &request.Operation{ - Name: opResumeSession, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &ResumeSessionInput{} - } - - output = &ResumeSessionOutput{} - req = c.newRequest(op, input, output) - return -} - -// ResumeSession API operation for Amazon Simple Systems Manager (SSM). -// -// Reconnects a session to an instance after it has been disconnected. Connections -// can be resumed for disconnected sessions, but not terminated sessions. -// -// This command is primarily for use by client machines to automatically reconnect -// during intermittent network issues. It is not intended for any other use. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation ResumeSession for usage and error information. -// -// Returned Error Codes: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResumeSession -func (c *SSM) ResumeSession(input *ResumeSessionInput) (*ResumeSessionOutput, error) { - req, out := c.ResumeSessionRequest(input) - return out, req.Send() -} - -// ResumeSessionWithContext is the same as ResumeSession with the addition of -// the ability to pass a context and additional request options. -// -// See ResumeSession for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) ResumeSessionWithContext(ctx aws.Context, input *ResumeSessionInput, opts ...request.Option) (*ResumeSessionOutput, error) { - req, out := c.ResumeSessionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opSendAutomationSignal = "SendAutomationSignal" - -// SendAutomationSignalRequest generates a "aws/request.Request" representing the -// client's request for the SendAutomationSignal operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See SendAutomationSignal for more information on using the SendAutomationSignal -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the SendAutomationSignalRequest method. -// req, resp := client.SendAutomationSignalRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal -func (c *SSM) SendAutomationSignalRequest(input *SendAutomationSignalInput) (req *request.Request, output *SendAutomationSignalOutput) { - op := &request.Operation{ - Name: opSendAutomationSignal, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &SendAutomationSignalInput{} - } - - output = &SendAutomationSignalOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// SendAutomationSignal API operation for Amazon Simple Systems Manager (SSM). -// -// Sends a signal to an Automation execution to change the current behavior -// or status of the 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 SendAutomationSignal for usage and error information. -// -// Returned Error Codes: -// * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException" -// There is no automation execution information for the requested automation -// execution ID. -// -// * ErrCodeAutomationStepNotFoundException "AutomationStepNotFoundException" -// The specified step name and execution ID don't exist. Verify the information -// and try again. -// -// * ErrCodeInvalidAutomationSignalException "InvalidAutomationSignalException" -// The signal is not valid for the current Automation execution. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal -func (c *SSM) SendAutomationSignal(input *SendAutomationSignalInput) (*SendAutomationSignalOutput, error) { - req, out := c.SendAutomationSignalRequest(input) - return out, req.Send() -} - -// SendAutomationSignalWithContext is the same as SendAutomationSignal with the addition of -// the ability to pass a context and additional request options. -// -// See SendAutomationSignal for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) SendAutomationSignalWithContext(ctx aws.Context, input *SendAutomationSignalInput, opts ...request.Option) (*SendAutomationSignalOutput, error) { - req, out := c.SendAutomationSignalRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opSendCommand = "SendCommand" - -// SendCommandRequest generates a "aws/request.Request" representing the -// client's request for the SendCommand operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See SendCommand for more information on using the SendCommand -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the SendCommandRequest method. -// req, resp := client.SendCommandRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommand -func (c *SSM) SendCommandRequest(input *SendCommandInput) (req *request.Request, output *SendCommandOutput) { - op := &request.Operation{ - Name: opSendCommand, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &SendCommandInput{} - } - - output = &SendCommandOutput{} - req = c.newRequest(op, input, output) - return -} - -// SendCommand API operation for Amazon Simple Systems Manager (SSM). -// -// Executes commands on one or more managed instances. -// -// 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 SendCommand for usage and error information. -// -// Returned Error Codes: -// * ErrCodeDuplicateInstanceId "DuplicateInstanceId" -// You cannot specify an instance ID in more than one association. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion" -// The document version is not valid or does not exist. -// -// * ErrCodeInvalidOutputFolder "InvalidOutputFolder" -// The S3 bucket does not exist. -// -// * ErrCodeInvalidParameters "InvalidParameters" -// You must specify values for all required parameters in the Systems Manager -// document. You can only supply values to parameters defined in the Systems -// Manager document. -// -// * ErrCodeUnsupportedPlatformType "UnsupportedPlatformType" -// The document does not support the platform type of the given instance ID(s). -// For example, you sent an document for a Windows instance to a Linux instance. -// -// * ErrCodeMaxDocumentSizeExceeded "MaxDocumentSizeExceeded" -// The size limit of a document is 64 KB. -// -// * ErrCodeInvalidRole "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 Run Command notifications, -// see Configuring Amazon SNS Notifications for Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/rc-sns-notifications.html) -// in the AWS Systems Manager User Guide. -// -// * ErrCodeInvalidNotificationConfig "InvalidNotificationConfig" -// One or more configuration items is not valid. Verify that a valid Amazon -// Resource Name (ARN) was provided for an Amazon SNS topic. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommand -func (c *SSM) SendCommand(input *SendCommandInput) (*SendCommandOutput, error) { - req, out := c.SendCommandRequest(input) - return out, req.Send() -} - -// SendCommandWithContext is the same as SendCommand with the addition of -// the ability to pass a context and additional request options. -// -// See SendCommand for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) SendCommandWithContext(ctx aws.Context, input *SendCommandInput, opts ...request.Option) (*SendCommandOutput, error) { - req, out := c.SendCommandRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opStartAssociationsOnce = "StartAssociationsOnce" - -// StartAssociationsOnceRequest generates a "aws/request.Request" representing the -// client's request for the StartAssociationsOnce operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See StartAssociationsOnce for more information on using the StartAssociationsOnce -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the StartAssociationsOnceRequest method. -// req, resp := client.StartAssociationsOnceRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAssociationsOnce -func (c *SSM) StartAssociationsOnceRequest(input *StartAssociationsOnceInput) (req *request.Request, output *StartAssociationsOnceOutput) { - op := &request.Operation{ - Name: opStartAssociationsOnce, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &StartAssociationsOnceInput{} - } - - output = &StartAssociationsOnceOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// StartAssociationsOnce API operation for Amazon Simple Systems Manager (SSM). -// -// Use this API action to execute an association immediately and only one time. -// This action can be helpful when troubleshooting associations. -// -// 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 StartAssociationsOnce for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidAssociation "InvalidAssociation" -// The association is not valid or does not exist. -// -// * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist" -// The specified association does not exist. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAssociationsOnce -func (c *SSM) StartAssociationsOnce(input *StartAssociationsOnceInput) (*StartAssociationsOnceOutput, error) { - req, out := c.StartAssociationsOnceRequest(input) - return out, req.Send() -} - -// StartAssociationsOnceWithContext is the same as StartAssociationsOnce with the addition of -// the ability to pass a context and additional request options. -// -// See StartAssociationsOnce for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) StartAssociationsOnceWithContext(ctx aws.Context, input *StartAssociationsOnceInput, opts ...request.Option) (*StartAssociationsOnceOutput, error) { - req, out := c.StartAssociationsOnceRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opStartAutomationExecution = "StartAutomationExecution" - -// StartAutomationExecutionRequest generates a "aws/request.Request" representing the -// client's request for the StartAutomationExecution operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See StartAutomationExecution for more information on using the StartAutomationExecution -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the StartAutomationExecutionRequest method. -// req, resp := client.StartAutomationExecutionRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecution -func (c *SSM) StartAutomationExecutionRequest(input *StartAutomationExecutionInput) (req *request.Request, output *StartAutomationExecutionOutput) { - op := &request.Operation{ - Name: opStartAutomationExecution, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &StartAutomationExecutionInput{} - } - - output = &StartAutomationExecutionOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeAutomationDefinitionNotFoundException "AutomationDefinitionNotFoundException" -// An Automation document with the specified name could not be found. -// -// * ErrCodeInvalidAutomationExecutionParametersException "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. -// -// * ErrCodeAutomationExecutionLimitExceededException "AutomationExecutionLimitExceededException" -// The number of simultaneously running Automation executions exceeded the allowable -// limit. -// -// * ErrCodeAutomationDefinitionVersionNotFoundException "AutomationDefinitionVersionNotFoundException" -// An Automation document with the specified name and version could not be found. -// -// * ErrCodeIdempotentParameterMismatch "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. -// -// * ErrCodeInvalidTarget "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. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecution -func (c *SSM) StartAutomationExecution(input *StartAutomationExecutionInput) (*StartAutomationExecutionOutput, error) { - req, out := c.StartAutomationExecutionRequest(input) - return out, req.Send() -} - -// StartAutomationExecutionWithContext is the same as StartAutomationExecution with the addition of -// the ability to pass a context and additional request options. -// -// See StartAutomationExecution for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) StartAutomationExecutionWithContext(ctx aws.Context, input *StartAutomationExecutionInput, opts ...request.Option) (*StartAutomationExecutionOutput, error) { - req, out := c.StartAutomationExecutionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opStartSession = "StartSession" - -// StartSessionRequest generates a "aws/request.Request" representing the -// client's request for the StartSession operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See StartSession for more information on using the StartSession -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the StartSessionRequest method. -// req, resp := client.StartSessionRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartSession -func (c *SSM) StartSessionRequest(input *StartSessionInput) (req *request.Request, output *StartSessionOutput) { - op := &request.Operation{ - Name: opStartSession, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &StartSessionInput{} - } - - output = &StartSessionOutput{} - req = c.newRequest(op, input, output) - return -} - -// StartSession API operation for Amazon Simple Systems Manager (SSM). -// -// Initiates a connection to a target (for example, an instance) for a Session -// Manager session. Returns a URL and token that can be used to open a WebSocket -// connection for sending input and receiving outputs. -// -// AWS CLI usage: start-session is an interactive command that requires the -// Session Manager plugin to be installed on the client machine making the call. -// For information, see Install the Session Manager Plugin for the AWS CLI -// (http://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html) -// in the AWS Systems Manager 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 Simple Systems Manager (SSM)'s -// API operation StartSession for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeTargetNotConnected "TargetNotConnected" -// The specified target instance for the session is not fully configured for -// use with Session Manager. For more information, see Getting Started with -// Session Manager (http://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html) -// in the AWS Systems Manager User Guide. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartSession -func (c *SSM) StartSession(input *StartSessionInput) (*StartSessionOutput, error) { - req, out := c.StartSessionRequest(input) - return out, req.Send() -} - -// StartSessionWithContext is the same as StartSession with the addition of -// the ability to pass a context and additional request options. -// -// See StartSession for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) StartSessionWithContext(ctx aws.Context, input *StartSessionInput, opts ...request.Option) (*StartSessionOutput, error) { - req, out := c.StartSessionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opStopAutomationExecution = "StopAutomationExecution" - -// StopAutomationExecutionRequest generates a "aws/request.Request" representing the -// client's request for the StopAutomationExecution operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See StopAutomationExecution for more information on using the StopAutomationExecution -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the StopAutomationExecutionRequest method. -// req, resp := client.StopAutomationExecutionRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecution -func (c *SSM) StopAutomationExecutionRequest(input *StopAutomationExecutionInput) (req *request.Request, output *StopAutomationExecutionOutput) { - op := &request.Operation{ - Name: opStopAutomationExecution, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &StopAutomationExecutionInput{} - } - - output = &StopAutomationExecutionOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - 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: -// * ErrCodeAutomationExecutionNotFoundException "AutomationExecutionNotFoundException" -// There is no automation execution information for the requested automation -// execution ID. -// -// * ErrCodeInvalidAutomationStatusUpdateException "InvalidAutomationStatusUpdateException" -// The specified update status operation is not valid. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecution -func (c *SSM) StopAutomationExecution(input *StopAutomationExecutionInput) (*StopAutomationExecutionOutput, error) { - req, out := c.StopAutomationExecutionRequest(input) - return out, req.Send() -} - -// StopAutomationExecutionWithContext is the same as StopAutomationExecution with the addition of -// the ability to pass a context and additional request options. -// -// See StopAutomationExecution for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) StopAutomationExecutionWithContext(ctx aws.Context, input *StopAutomationExecutionInput, opts ...request.Option) (*StopAutomationExecutionOutput, error) { - req, out := c.StopAutomationExecutionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opTerminateSession = "TerminateSession" - -// TerminateSessionRequest generates a "aws/request.Request" representing the -// client's request for the TerminateSession operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See TerminateSession for more information on using the TerminateSession -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the TerminateSessionRequest method. -// req, resp := client.TerminateSessionRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/TerminateSession -func (c *SSM) TerminateSessionRequest(input *TerminateSessionInput) (req *request.Request, output *TerminateSessionOutput) { - op := &request.Operation{ - Name: opTerminateSession, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &TerminateSessionInput{} - } - - output = &TerminateSessionOutput{} - req = c.newRequest(op, input, output) - return -} - -// TerminateSession API operation for Amazon Simple Systems Manager (SSM). -// -// Permanently ends a session and closes the data connection between the Session -// Manager client and SSM Agent on the instance. A terminated session cannot -// be resumed. -// -// 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 TerminateSession for usage and error information. -// -// Returned Error Codes: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/TerminateSession -func (c *SSM) TerminateSession(input *TerminateSessionInput) (*TerminateSessionOutput, error) { - req, out := c.TerminateSessionRequest(input) - return out, req.Send() -} - -// TerminateSessionWithContext is the same as TerminateSession with the addition of -// the ability to pass a context and additional request options. -// -// See TerminateSession for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) TerminateSessionWithContext(ctx aws.Context, input *TerminateSessionInput, opts ...request.Option) (*TerminateSessionOutput, error) { - req, out := c.TerminateSessionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opUpdateAssociation = "UpdateAssociation" - -// UpdateAssociationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAssociation operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See UpdateAssociation for more information on using the UpdateAssociation -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the UpdateAssociationRequest method. -// req, resp := client.UpdateAssociationRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociation -func (c *SSM) UpdateAssociationRequest(input *UpdateAssociationInput) (req *request.Request, output *UpdateAssociationOutput) { - op := &request.Operation{ - Name: opUpdateAssociation, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &UpdateAssociationInput{} - } - - output = &UpdateAssociationOutput{} - req = c.newRequest(op, input, output) - return -} - -// UpdateAssociation API operation for Amazon Simple Systems Manager (SSM). -// -// Updates an association. You can update the association name and version, -// the document version, schedule, parameters, and Amazon S3 output. -// -// 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidSchedule "InvalidSchedule" -// The schedule is invalid. Verify your cron or rate expression and try again. -// -// * ErrCodeInvalidParameters "InvalidParameters" -// You must specify values for all required parameters in the Systems Manager -// document. You can only supply values to parameters defined in the Systems -// Manager document. -// -// * ErrCodeInvalidOutputLocation "InvalidOutputLocation" -// The output location is not valid or does not exist. -// -// * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion" -// The document version is not valid or does not exist. -// -// * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist" -// The specified association does not exist. -// -// * ErrCodeInvalidUpdate "InvalidUpdate" -// The update is not valid. -// -// * ErrCodeTooManyUpdates "TooManyUpdates" -// There are concurrent updates for a resource that supports one update at a -// time. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidTarget "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. -// -// * ErrCodeInvalidAssociationVersion "InvalidAssociationVersion" -// The version you specified is not valid. Use ListAssociationVersions to view -// all versions of an association according to the association ID. Or, use the -// $LATEST parameter to view the latest version of the association. -// -// * ErrCodeAssociationVersionLimitExceeded "AssociationVersionLimitExceeded" -// You have reached the maximum number versions allowed for an association. -// Each association has a limit of 1,000 versions. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociation -func (c *SSM) UpdateAssociation(input *UpdateAssociationInput) (*UpdateAssociationOutput, error) { - req, out := c.UpdateAssociationRequest(input) - return out, req.Send() -} - -// UpdateAssociationWithContext is the same as UpdateAssociation with the addition of -// the ability to pass a context and additional request options. -// -// See UpdateAssociation for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) UpdateAssociationWithContext(ctx aws.Context, input *UpdateAssociationInput, opts ...request.Option) (*UpdateAssociationOutput, error) { - req, out := c.UpdateAssociationRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opUpdateAssociationStatus = "UpdateAssociationStatus" - -// UpdateAssociationStatusRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAssociationStatus operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See UpdateAssociationStatus for more information on using the UpdateAssociationStatus -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the UpdateAssociationStatusRequest method. -// req, resp := client.UpdateAssociationStatusRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatus -func (c *SSM) UpdateAssociationStatusRequest(input *UpdateAssociationStatusInput) (req *request.Request, output *UpdateAssociationStatusOutput) { - op := &request.Operation{ - Name: opUpdateAssociationStatus, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &UpdateAssociationStatusInput{} - } - - output = &UpdateAssociationStatusOutput{} - req = c.newRequest(op, input, output) - return -} - -// UpdateAssociationStatus API operation for Amazon Simple Systems Manager (SSM). -// -// Updates the status of the Systems Manager document associated with the specified -// 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 Simple Systems Manager (SSM)'s -// API operation UpdateAssociationStatus for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeAssociationDoesNotExist "AssociationDoesNotExist" -// The specified association does not exist. -// -// * ErrCodeStatusUnchanged "StatusUnchanged" -// The updated status is the same as the current status. -// -// * ErrCodeTooManyUpdates "TooManyUpdates" -// There are concurrent updates for a resource that supports one update at a -// time. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatus -func (c *SSM) UpdateAssociationStatus(input *UpdateAssociationStatusInput) (*UpdateAssociationStatusOutput, error) { - req, out := c.UpdateAssociationStatusRequest(input) - return out, req.Send() -} - -// UpdateAssociationStatusWithContext is the same as UpdateAssociationStatus with the addition of -// the ability to pass a context and additional request options. -// -// See UpdateAssociationStatus for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) UpdateAssociationStatusWithContext(ctx aws.Context, input *UpdateAssociationStatusInput, opts ...request.Option) (*UpdateAssociationStatusOutput, error) { - req, out := c.UpdateAssociationStatusRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opUpdateDocument = "UpdateDocument" - -// UpdateDocumentRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDocument operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See UpdateDocument for more information on using the UpdateDocument -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the UpdateDocumentRequest method. -// req, resp := client.UpdateDocumentRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocument -func (c *SSM) UpdateDocumentRequest(input *UpdateDocumentInput) (req *request.Request, output *UpdateDocumentOutput) { - op := &request.Operation{ - Name: opUpdateDocument, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &UpdateDocumentInput{} - } - - output = &UpdateDocumentOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeMaxDocumentSizeExceeded "MaxDocumentSizeExceeded" -// The size limit of a document is 64 KB. -// -// * ErrCodeDocumentVersionLimitExceeded "DocumentVersionLimitExceeded" -// The document has too many versions. Delete one or more document versions -// and try again. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeDuplicateDocumentContent "DuplicateDocumentContent" -// The content of the association document matches another document. Change -// the content of the document and try again. -// -// * ErrCodeDuplicateDocumentVersionName "DuplicateDocumentVersionName" -// The version name has already been used in this document. Specify a different -// version name, and then try again. -// -// * ErrCodeInvalidDocumentContent "InvalidDocumentContent" -// The content for the document is not valid. -// -// * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion" -// The document version is not valid or does not exist. -// -// * ErrCodeInvalidDocumentSchemaVersion "InvalidDocumentSchemaVersion" -// The version of the document schema is not supported. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidDocumentOperation "InvalidDocumentOperation" -// You attempted to delete a document while it is still shared. You must stop -// sharing the document before you can delete it. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocument -func (c *SSM) UpdateDocument(input *UpdateDocumentInput) (*UpdateDocumentOutput, error) { - req, out := c.UpdateDocumentRequest(input) - return out, req.Send() -} - -// UpdateDocumentWithContext is the same as UpdateDocument with the addition of -// the ability to pass a context and additional request options. -// -// See UpdateDocument for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) UpdateDocumentWithContext(ctx aws.Context, input *UpdateDocumentInput, opts ...request.Option) (*UpdateDocumentOutput, error) { - req, out := c.UpdateDocumentRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opUpdateDocumentDefaultVersion = "UpdateDocumentDefaultVersion" - -// UpdateDocumentDefaultVersionRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDocumentDefaultVersion operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See UpdateDocumentDefaultVersion for more information on using the UpdateDocumentDefaultVersion -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the UpdateDocumentDefaultVersionRequest method. -// req, resp := client.UpdateDocumentDefaultVersionRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersion -func (c *SSM) UpdateDocumentDefaultVersionRequest(input *UpdateDocumentDefaultVersionInput) (req *request.Request, output *UpdateDocumentDefaultVersionOutput) { - op := &request.Operation{ - Name: opUpdateDocumentDefaultVersion, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &UpdateDocumentDefaultVersionInput{} - } - - output = &UpdateDocumentDefaultVersionOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// * ErrCodeInvalidDocument "InvalidDocument" -// The specified document does not exist. -// -// * ErrCodeInvalidDocumentVersion "InvalidDocumentVersion" -// The document version is not valid or does not exist. -// -// * ErrCodeInvalidDocumentSchemaVersion "InvalidDocumentSchemaVersion" -// The version of the document schema is not supported. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersion -func (c *SSM) UpdateDocumentDefaultVersion(input *UpdateDocumentDefaultVersionInput) (*UpdateDocumentDefaultVersionOutput, error) { - req, out := c.UpdateDocumentDefaultVersionRequest(input) - return out, req.Send() -} - -// UpdateDocumentDefaultVersionWithContext is the same as UpdateDocumentDefaultVersion with the addition of -// the ability to pass a context and additional request options. -// -// See UpdateDocumentDefaultVersion for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) UpdateDocumentDefaultVersionWithContext(ctx aws.Context, input *UpdateDocumentDefaultVersionInput, opts ...request.Option) (*UpdateDocumentDefaultVersionOutput, error) { - req, out := c.UpdateDocumentDefaultVersionRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opUpdateMaintenanceWindow = "UpdateMaintenanceWindow" - -// UpdateMaintenanceWindowRequest generates a "aws/request.Request" representing the -// client's request for the UpdateMaintenanceWindow operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See UpdateMaintenanceWindow for more information on using the UpdateMaintenanceWindow -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the UpdateMaintenanceWindowRequest method. -// req, resp := client.UpdateMaintenanceWindowRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindow -func (c *SSM) UpdateMaintenanceWindowRequest(input *UpdateMaintenanceWindowInput) (req *request.Request, output *UpdateMaintenanceWindowOutput) { - op := &request.Operation{ - Name: opUpdateMaintenanceWindow, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &UpdateMaintenanceWindowInput{} - } - - output = &UpdateMaintenanceWindowOutput{} - req = c.newRequest(op, input, 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: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindow -func (c *SSM) UpdateMaintenanceWindow(input *UpdateMaintenanceWindowInput) (*UpdateMaintenanceWindowOutput, error) { - req, out := c.UpdateMaintenanceWindowRequest(input) - return out, req.Send() -} - -// UpdateMaintenanceWindowWithContext is the same as UpdateMaintenanceWindow with the addition of -// the ability to pass a context and additional request options. -// -// See UpdateMaintenanceWindow for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) UpdateMaintenanceWindowWithContext(ctx aws.Context, input *UpdateMaintenanceWindowInput, opts ...request.Option) (*UpdateMaintenanceWindowOutput, error) { - req, out := c.UpdateMaintenanceWindowRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opUpdateMaintenanceWindowTarget = "UpdateMaintenanceWindowTarget" - -// UpdateMaintenanceWindowTargetRequest generates a "aws/request.Request" representing the -// client's request for the UpdateMaintenanceWindowTarget operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See UpdateMaintenanceWindowTarget for more information on using the UpdateMaintenanceWindowTarget -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the UpdateMaintenanceWindowTargetRequest method. -// req, resp := client.UpdateMaintenanceWindowTargetRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget -func (c *SSM) UpdateMaintenanceWindowTargetRequest(input *UpdateMaintenanceWindowTargetInput) (req *request.Request, output *UpdateMaintenanceWindowTargetOutput) { - op := &request.Operation{ - Name: opUpdateMaintenanceWindowTarget, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &UpdateMaintenanceWindowTargetInput{} - } - - output = &UpdateMaintenanceWindowTargetOutput{} - req = c.newRequest(op, input, output) - return -} - -// UpdateMaintenanceWindowTarget API operation for Amazon Simple Systems Manager (SSM). -// -// Modifies the target of an existing Maintenance Window. You can't change the -// target type, but you can change the following: -// -// The target from being an ID target to a Tag target, or a Tag target to an -// ID target. -// -// IDs for an ID target. -// -// Tags for a Tag target. -// -// Owner. -// -// Name. -// -// Description. -// -// If a parameter is null, then the corresponding field is not 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 UpdateMaintenanceWindowTarget for usage and error information. -// -// Returned Error Codes: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget -func (c *SSM) UpdateMaintenanceWindowTarget(input *UpdateMaintenanceWindowTargetInput) (*UpdateMaintenanceWindowTargetOutput, error) { - req, out := c.UpdateMaintenanceWindowTargetRequest(input) - return out, req.Send() -} - -// UpdateMaintenanceWindowTargetWithContext is the same as UpdateMaintenanceWindowTarget with the addition of -// the ability to pass a context and additional request options. -// -// See UpdateMaintenanceWindowTarget for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) UpdateMaintenanceWindowTargetWithContext(ctx aws.Context, input *UpdateMaintenanceWindowTargetInput, opts ...request.Option) (*UpdateMaintenanceWindowTargetOutput, error) { - req, out := c.UpdateMaintenanceWindowTargetRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opUpdateMaintenanceWindowTask = "UpdateMaintenanceWindowTask" - -// UpdateMaintenanceWindowTaskRequest generates a "aws/request.Request" representing the -// client's request for the UpdateMaintenanceWindowTask operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See UpdateMaintenanceWindowTask for more information on using the UpdateMaintenanceWindowTask -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the UpdateMaintenanceWindowTaskRequest method. -// req, resp := client.UpdateMaintenanceWindowTaskRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask -func (c *SSM) UpdateMaintenanceWindowTaskRequest(input *UpdateMaintenanceWindowTaskInput) (req *request.Request, output *UpdateMaintenanceWindowTaskOutput) { - op := &request.Operation{ - Name: opUpdateMaintenanceWindowTask, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &UpdateMaintenanceWindowTaskInput{} - } - - output = &UpdateMaintenanceWindowTaskOutput{} - req = c.newRequest(op, input, output) - return -} - -// UpdateMaintenanceWindowTask API operation for Amazon Simple Systems Manager (SSM). -// -// Modifies a task assigned to a Maintenance Window. You can't change the task -// type, but you can change the following values: -// -// * TaskARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript -// to AWS-RunShellScript. -// -// * ServiceRoleArn -// -// * TaskInvocationParameters -// -// * Priority -// -// * MaxConcurrency -// -// * MaxErrors -// -// If a parameter is null, then the corresponding field is not modified. Also, -// if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow -// action are required for this request. Optional fields that aren't specified -// are set to null. -// -// 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 UpdateMaintenanceWindowTask for usage and error information. -// -// Returned Error Codes: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask -func (c *SSM) UpdateMaintenanceWindowTask(input *UpdateMaintenanceWindowTaskInput) (*UpdateMaintenanceWindowTaskOutput, error) { - req, out := c.UpdateMaintenanceWindowTaskRequest(input) - return out, req.Send() -} - -// UpdateMaintenanceWindowTaskWithContext is the same as UpdateMaintenanceWindowTask with the addition of -// the ability to pass a context and additional request options. -// -// See UpdateMaintenanceWindowTask for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) UpdateMaintenanceWindowTaskWithContext(ctx aws.Context, input *UpdateMaintenanceWindowTaskInput, opts ...request.Option) (*UpdateMaintenanceWindowTaskOutput, error) { - req, out := c.UpdateMaintenanceWindowTaskRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opUpdateManagedInstanceRole = "UpdateManagedInstanceRole" - -// UpdateManagedInstanceRoleRequest generates a "aws/request.Request" representing the -// client's request for the UpdateManagedInstanceRole operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See UpdateManagedInstanceRole for more information on using the UpdateManagedInstanceRole -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the UpdateManagedInstanceRoleRequest method. -// req, resp := client.UpdateManagedInstanceRoleRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRole -func (c *SSM) UpdateManagedInstanceRoleRequest(input *UpdateManagedInstanceRoleInput) (req *request.Request, output *UpdateManagedInstanceRoleOutput) { - op := &request.Operation{ - Name: opUpdateManagedInstanceRole, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &UpdateManagedInstanceRoleInput{} - } - - output = &UpdateManagedInstanceRoleOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// UpdateManagedInstanceRole API operation for Amazon Simple Systems Manager (SSM). -// -// Assigns or changes an Amazon Identity and Access Management (IAM) role to -// the managed 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 Simple Systems Manager (SSM)'s -// API operation UpdateManagedInstanceRole for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidInstanceId "InvalidInstanceId" -// The following problems can cause this exception: -// -// You do not have permission to access the instance. -// -// 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. -// -// SSM Agent or EC2Config service is not registered to the SSM endpoint. Try -// reinstalling 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. -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRole -func (c *SSM) UpdateManagedInstanceRole(input *UpdateManagedInstanceRoleInput) (*UpdateManagedInstanceRoleOutput, error) { - req, out := c.UpdateManagedInstanceRoleRequest(input) - return out, req.Send() -} - -// UpdateManagedInstanceRoleWithContext is the same as UpdateManagedInstanceRole with the addition of -// the ability to pass a context and additional request options. -// -// See UpdateManagedInstanceRole for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) UpdateManagedInstanceRoleWithContext(ctx aws.Context, input *UpdateManagedInstanceRoleInput, opts ...request.Option) (*UpdateManagedInstanceRoleOutput, error) { - req, out := c.UpdateManagedInstanceRoleRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opUpdatePatchBaseline = "UpdatePatchBaseline" - -// UpdatePatchBaselineRequest generates a "aws/request.Request" representing the -// client's request for the UpdatePatchBaseline operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See UpdatePatchBaseline for more information on using the UpdatePatchBaseline -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the UpdatePatchBaselineRequest method. -// req, resp := client.UpdatePatchBaselineRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaseline -func (c *SSM) UpdatePatchBaselineRequest(input *UpdatePatchBaselineInput) (req *request.Request, output *UpdatePatchBaselineOutput) { - op := &request.Operation{ - Name: opUpdatePatchBaseline, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &UpdatePatchBaselineInput{} - } - - output = &UpdatePatchBaselineOutput{} - req = c.newRequest(op, input, output) - return -} - -// UpdatePatchBaseline API operation for Amazon Simple Systems Manager (SSM). -// -// Modifies an existing patch baseline. Fields not specified in the request -// are left unchanged. -// -// For information about valid key and value pairs in PatchFilters for each -// supported operating system type, see PatchFilter (http://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html). -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s -// API operation UpdatePatchBaseline for usage and error information. -// -// Returned Error Codes: -// * ErrCodeDoesNotExistException "DoesNotExistException" -// Error returned when the ID specified for a resource, such as a Maintenance -// Window or Patch baseline, doesn't exist. -// -// For information about resource limits in Systems Manager, see AWS Systems -// Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). -// -// * ErrCodeInternalServerError "InternalServerError" -// An error occurred on the server side. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaseline -func (c *SSM) UpdatePatchBaseline(input *UpdatePatchBaselineInput) (*UpdatePatchBaselineOutput, error) { - req, out := c.UpdatePatchBaselineRequest(input) - return out, req.Send() -} - -// UpdatePatchBaselineWithContext is the same as UpdatePatchBaseline with the addition of -// the ability to pass a context and additional request options. -// -// See UpdatePatchBaseline for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSM) UpdatePatchBaselineWithContext(ctx aws.Context, input *UpdatePatchBaselineInput, opts ...request.Option) (*UpdatePatchBaselineOutput, error) { - req, out := c.UpdatePatchBaselineRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// An activation registers one or more on-premises servers or virtual machines -// (VMs) with AWS so that you can configure those servers or VMs using Run Command. -// A server or VM that has been registered with AWS is called a managed instance. -type Activation struct { - _ struct{} `type:"structure"` - - // The ID created by Systems Manager when you submitted the activation. - ActivationId *string `type:"string"` - - // The date the activation was created. - CreatedDate *time.Time `type:"timestamp"` - - // A name for the managed instance when it is created. - DefaultInstanceName *string `type:"string"` - - // A user defined description of the activation. - Description *string `type:"string"` - - // The date when this activation can no longer be used to register managed instances. - ExpirationDate *time.Time `type:"timestamp"` - - // Whether or not the activation is expired. - Expired *bool `type:"boolean"` - - // The Amazon Identity and Access Management (IAM) role to assign to the managed - // instance. - IamRole *string `type:"string"` - - // The maximum number of managed instances that can be registered using this - // activation. - RegistrationLimit *int64 `min:"1" type:"integer"` - - // The number of managed instances already registered with this activation. - RegistrationsCount *int64 `min:"1" type:"integer"` -} - -// String returns the string representation -func (s Activation) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s Activation) GoString() string { - return s.String() -} - -// SetActivationId sets the ActivationId field's value. -func (s *Activation) SetActivationId(v string) *Activation { - s.ActivationId = &v - return s -} - -// SetCreatedDate sets the CreatedDate field's value. -func (s *Activation) SetCreatedDate(v time.Time) *Activation { - s.CreatedDate = &v - return s -} - -// SetDefaultInstanceName sets the DefaultInstanceName field's value. -func (s *Activation) SetDefaultInstanceName(v string) *Activation { - s.DefaultInstanceName = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *Activation) SetDescription(v string) *Activation { - s.Description = &v - return s -} - -// SetExpirationDate sets the ExpirationDate field's value. -func (s *Activation) SetExpirationDate(v time.Time) *Activation { - s.ExpirationDate = &v - return s -} - -// SetExpired sets the Expired field's value. -func (s *Activation) SetExpired(v bool) *Activation { - s.Expired = &v - return s -} - -// SetIamRole sets the IamRole field's value. -func (s *Activation) SetIamRole(v string) *Activation { - s.IamRole = &v - return s -} - -// SetRegistrationLimit sets the RegistrationLimit field's value. -func (s *Activation) SetRegistrationLimit(v int64) *Activation { - s.RegistrationLimit = &v - return s -} - -// SetRegistrationsCount sets the RegistrationsCount field's value. -func (s *Activation) SetRegistrationsCount(v int64) *Activation { - s.RegistrationsCount = &v - return s -} - -type AddTagsToResourceInput struct { - _ struct{} `type:"structure"` - - // The resource ID you want to tag. - // - // Use the ID of the resource. Here are some examples: - // - // ManagedInstance: mi-012345abcde - // - // MaintenanceWindow: mw-012345abcde - // - // PatchBaseline: pb-012345abcde - // - // For the Document and Parameter values, use the name of the resource. - // - // The ManagedInstance type for this API action is only for on-premises managed - // instances. You must specify the the name of the managed instance in the following - // format: mi-ID_number. For example, mi-1a2b3c4d5e6f. - // - // ResourceId is a required field - ResourceId *string `type:"string" required:"true"` - - // Specifies the type of resource you are tagging. - // - // The ManagedInstance type for this API action is for on-premises managed instances. - // You must specify the the name of the managed instance in the following format: - // mi-ID_number. For example, mi-1a2b3c4d5e6f. - // - // ResourceType is a required field - ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"` - - // One or more tags. The value parameter is required, but if you don't want - // the tag to have a value, specify the parameter with no value, and we set - // the value to an empty string. - // - // Do not enter personally identifiable information in this field. - // - // Tags is a required field - Tags []*Tag `type:"list" required:"true"` -} - -// String returns the string representation -func (s AddTagsToResourceInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AddTagsToResourceInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *AddTagsToResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"} - if s.ResourceId == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceId")) - } - if s.ResourceType == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceType")) - } - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetResourceId sets the ResourceId field's value. -func (s *AddTagsToResourceInput) SetResourceId(v string) *AddTagsToResourceInput { - s.ResourceId = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *AddTagsToResourceInput) SetResourceType(v string) *AddTagsToResourceInput { - s.ResourceType = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput { - s.Tags = v - return s -} - -type AddTagsToResourceOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s AddTagsToResourceOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AddTagsToResourceOutput) GoString() string { - return s.String() -} - -// Describes an association of a Systems Manager document and an instance. -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 association name. - AssociationName *string `type:"string"` - - // The association version. - AssociationVersion *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"` - - // The name of the Systems Manager 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 -func (s Association) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -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 -} - -// SetAssociationName sets the AssociationName field's value. -func (s *Association) SetAssociationName(v string) *Association { - s.AssociationName = &v - return s -} - -// SetAssociationVersion sets the AssociationVersion field's value. -func (s *Association) SetAssociationVersion(v string) *Association { - s.AssociationVersion = &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 association name. - AssociationName *string `type:"string"` - - // The association version. - AssociationVersion *string `type:"string"` - - // The severity level that is assigned to the association. - ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"` - - // The date when the association was made. - Date *time.Time `type:"timestamp"` - - // 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"` - - // The last date on which the association was successfully run. - LastSuccessfulExecutionDate *time.Time `type:"timestamp"` - - // The date when the association was last updated. - LastUpdateAssociationDate *time.Time `type:"timestamp"` - - // The maximum number of targets allowed to run the association at the same - // time. You can specify a number, for example 10, or a percentage of the target - // set, for example 10%. The default value is 100%, which means all targets - // run the association at the same time. - // - // If a new instance starts and attempts to execute an association while Systems - // Manager is executing MaxConcurrency associations, the association is allowed - // to run. During the next association interval, the new instance will process - // its association within the limit specified for MaxConcurrency. - MaxConcurrency *string `min:"1" type:"string"` - - // The number of errors that are allowed before the system stops sending requests - // to run the association on additional targets. You can specify either an absolute - // number of errors, for example 10, or a percentage of the target set, for - // example 10%. If you specify 3, for example, the system stops sending requests - // when the fourth error is received. If you specify 0, then the system stops - // sending requests after the first error is returned. If you run an association - // on 50 instances and set MaxError to 10%, then the system stops sending the - // request when the sixth error is received. - // - // Executions that are already running an association when MaxErrors is reached - // are allowed to complete, but some of these executions may fail as well. If - // you need to ensure that there won't be more than max-errors failed executions, - // set MaxConcurrency to 1 so that executions proceed one at a time. - MaxErrors *string `min:"1" type:"string"` - - // The name of the Systems Manager 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 -func (s AssociationDescription) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -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 -} - -// SetAssociationName sets the AssociationName field's value. -func (s *AssociationDescription) SetAssociationName(v string) *AssociationDescription { - s.AssociationName = &v - return s -} - -// SetAssociationVersion sets the AssociationVersion field's value. -func (s *AssociationDescription) SetAssociationVersion(v string) *AssociationDescription { - s.AssociationVersion = &v - return s -} - -// SetComplianceSeverity sets the ComplianceSeverity field's value. -func (s *AssociationDescription) SetComplianceSeverity(v string) *AssociationDescription { - s.ComplianceSeverity = &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 -} - -// SetMaxConcurrency sets the MaxConcurrency field's value. -func (s *AssociationDescription) SetMaxConcurrency(v string) *AssociationDescription { - s.MaxConcurrency = &v - return s -} - -// SetMaxErrors sets the MaxErrors field's value. -func (s *AssociationDescription) SetMaxErrors(v string) *AssociationDescription { - s.MaxErrors = &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 -} - -// Includes information about the specified association. -type AssociationExecution struct { - _ struct{} `type:"structure"` - - // The association ID. - AssociationId *string `type:"string"` - - // The association version. - AssociationVersion *string `type:"string"` - - // The time the execution started. - CreatedTime *time.Time `type:"timestamp"` - - // Detailed status information about the execution. - DetailedStatus *string `type:"string"` - - // The execution ID for the association. If the association does not run at - // intervals or according to a schedule, then the ExecutionID is the same as - // the AssociationID. - ExecutionId *string `type:"string"` - - // The date of the last execution. - LastExecutionDate *time.Time `type:"timestamp"` - - // An aggregate status of the resources in the execution based on the status - // type. - ResourceCountByStatus *string `type:"string"` - - // The status of the association execution. - Status *string `type:"string"` -} - -// String returns the string representation -func (s AssociationExecution) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssociationExecution) GoString() string { - return s.String() -} - -// SetAssociationId sets the AssociationId field's value. -func (s *AssociationExecution) SetAssociationId(v string) *AssociationExecution { - s.AssociationId = &v - return s -} - -// SetAssociationVersion sets the AssociationVersion field's value. -func (s *AssociationExecution) SetAssociationVersion(v string) *AssociationExecution { - s.AssociationVersion = &v - return s -} - -// SetCreatedTime sets the CreatedTime field's value. -func (s *AssociationExecution) SetCreatedTime(v time.Time) *AssociationExecution { - s.CreatedTime = &v - return s -} - -// SetDetailedStatus sets the DetailedStatus field's value. -func (s *AssociationExecution) SetDetailedStatus(v string) *AssociationExecution { - s.DetailedStatus = &v - return s -} - -// SetExecutionId sets the ExecutionId field's value. -func (s *AssociationExecution) SetExecutionId(v string) *AssociationExecution { - s.ExecutionId = &v - return s -} - -// SetLastExecutionDate sets the LastExecutionDate field's value. -func (s *AssociationExecution) SetLastExecutionDate(v time.Time) *AssociationExecution { - s.LastExecutionDate = &v - return s -} - -// SetResourceCountByStatus sets the ResourceCountByStatus field's value. -func (s *AssociationExecution) SetResourceCountByStatus(v string) *AssociationExecution { - s.ResourceCountByStatus = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *AssociationExecution) SetStatus(v string) *AssociationExecution { - s.Status = &v - return s -} - -// Filters used in the request. -type AssociationExecutionFilter struct { - _ struct{} `type:"structure"` - - // The key value used in the request. - // - // Key is a required field - Key *string `type:"string" required:"true" enum:"AssociationExecutionFilterKey"` - - // The filter type specified in the request. - // - // Type is a required field - Type *string `type:"string" required:"true" enum:"AssociationFilterOperatorType"` - - // The value specified for the key. - // - // Value is a required field - Value *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s AssociationExecutionFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssociationExecutionFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssociationExecutionFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociationExecutionFilter"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - 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 -} - -// SetKey sets the Key field's value. -func (s *AssociationExecutionFilter) SetKey(v string) *AssociationExecutionFilter { - s.Key = &v - return s -} - -// SetType sets the Type field's value. -func (s *AssociationExecutionFilter) SetType(v string) *AssociationExecutionFilter { - s.Type = &v - return s -} - -// SetValue sets the Value field's value. -func (s *AssociationExecutionFilter) SetValue(v string) *AssociationExecutionFilter { - s.Value = &v - return s -} - -// Includes information about the specified association execution. -type AssociationExecutionTarget struct { - _ struct{} `type:"structure"` - - // The association ID. - AssociationId *string `type:"string"` - - // The association version. - AssociationVersion *string `type:"string"` - - // Detailed information about the execution status. - DetailedStatus *string `type:"string"` - - // The execution ID. If the association does not run at intervals or according - // to a schedule, then the ExecutionID is the same as the AssociationID. - ExecutionId *string `type:"string"` - - // The date of the last execution. - LastExecutionDate *time.Time `type:"timestamp"` - - // The location where the association details are saved. - OutputSource *OutputSource `type:"structure"` - - // The resource ID, for example, the instance ID where the association ran. - ResourceId *string `min:"1" type:"string"` - - // The resource type, for example, instance. - ResourceType *string `min:"1" type:"string"` - - // The association execution status. - Status *string `type:"string"` -} - -// String returns the string representation -func (s AssociationExecutionTarget) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssociationExecutionTarget) GoString() string { - return s.String() -} - -// SetAssociationId sets the AssociationId field's value. -func (s *AssociationExecutionTarget) SetAssociationId(v string) *AssociationExecutionTarget { - s.AssociationId = &v - return s -} - -// SetAssociationVersion sets the AssociationVersion field's value. -func (s *AssociationExecutionTarget) SetAssociationVersion(v string) *AssociationExecutionTarget { - s.AssociationVersion = &v - return s -} - -// SetDetailedStatus sets the DetailedStatus field's value. -func (s *AssociationExecutionTarget) SetDetailedStatus(v string) *AssociationExecutionTarget { - s.DetailedStatus = &v - return s -} - -// SetExecutionId sets the ExecutionId field's value. -func (s *AssociationExecutionTarget) SetExecutionId(v string) *AssociationExecutionTarget { - s.ExecutionId = &v - return s -} - -// SetLastExecutionDate sets the LastExecutionDate field's value. -func (s *AssociationExecutionTarget) SetLastExecutionDate(v time.Time) *AssociationExecutionTarget { - s.LastExecutionDate = &v - return s -} - -// SetOutputSource sets the OutputSource field's value. -func (s *AssociationExecutionTarget) SetOutputSource(v *OutputSource) *AssociationExecutionTarget { - s.OutputSource = v - return s -} - -// SetResourceId sets the ResourceId field's value. -func (s *AssociationExecutionTarget) SetResourceId(v string) *AssociationExecutionTarget { - s.ResourceId = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *AssociationExecutionTarget) SetResourceType(v string) *AssociationExecutionTarget { - s.ResourceType = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *AssociationExecutionTarget) SetStatus(v string) *AssociationExecutionTarget { - s.Status = &v - return s -} - -// Filters for the association execution. -type AssociationExecutionTargetsFilter struct { - _ struct{} `type:"structure"` - - // The key value used in the request. - // - // Key is a required field - Key *string `type:"string" required:"true" enum:"AssociationExecutionTargetsFilterKey"` - - // The value specified for the key. - // - // Value is a required field - Value *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s AssociationExecutionTargetsFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssociationExecutionTargetsFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssociationExecutionTargetsFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociationExecutionTargetsFilter"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - 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 -} - -// SetKey sets the Key field's value. -func (s *AssociationExecutionTargetsFilter) SetKey(v string) *AssociationExecutionTargetsFilter { - s.Key = &v - return s -} - -// SetValue sets the Value field's value. -func (s *AssociationExecutionTargetsFilter) SetValue(v string) *AssociationExecutionTargetsFilter { - s.Value = &v - return s -} - -// Describes a filter. -type AssociationFilter struct { - _ struct{} `type:"structure"` - - // The name of the filter. - // - // Key is a required field - Key *string `locationName:"key" type:"string" required:"true" enum:"AssociationFilterKey"` - - // The filter value. - // - // Value is a required field - Value *string `locationName:"value" min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s AssociationFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssociationFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssociationFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociationFilter"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - 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 -} - -// SetKey sets the Key field's value. -func (s *AssociationFilter) SetKey(v string) *AssociationFilter { - s.Key = &v - return s -} - -// SetValue sets the Value field's value. -func (s *AssociationFilter) SetValue(v string) *AssociationFilter { - s.Value = &v - 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"` - - // A user-defined string. - AdditionalInfo *string `type:"string"` - - // The date when the status changed. - // - // Date is a required field - Date *time.Time `type:"timestamp" required:"true"` - - // The reason for the status. - // - // Message is a required field - Message *string `min:"1" type:"string" required:"true"` - - // The status. - // - // Name is a required field - Name *string `type:"string" required:"true" enum:"AssociationStatusName"` -} - -// String returns the string representation -func (s AssociationStatus) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssociationStatus) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssociationStatus) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociationStatus"} - if s.Date == nil { - invalidParams.Add(request.NewErrParamRequired("Date")) - } - 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")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAdditionalInfo sets the AdditionalInfo field's value. -func (s *AssociationStatus) SetAdditionalInfo(v string) *AssociationStatus { - s.AdditionalInfo = &v - return s -} - -// SetDate sets the Date field's value. -func (s *AssociationStatus) SetDate(v time.Time) *AssociationStatus { - s.Date = &v - return s -} - -// SetMessage sets the Message field's value. -func (s *AssociationStatus) SetMessage(v string) *AssociationStatus { - s.Message = &v - return s -} - -// SetName sets the Name field's value. -func (s *AssociationStatus) SetName(v string) *AssociationStatus { - s.Name = &v - return s -} - -// Information about the association version. -type AssociationVersionInfo struct { - _ struct{} `type:"structure"` - - // The ID created by the system when the association was created. - AssociationId *string `type:"string"` - - // The name specified for the association version when the association version - // was created. - AssociationName *string `type:"string"` - - // The association version. - AssociationVersion *string `type:"string"` - - // The severity level that is assigned to the association. - ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"` - - // The date the association version was created. - CreatedDate *time.Time `type:"timestamp"` - - // The version of a Systems Manager document used when the association version - // was created. - DocumentVersion *string `type:"string"` - - // The maximum number of targets allowed to run the association at the same - // time. You can specify a number, for example 10, or a percentage of the target - // set, for example 10%. The default value is 100%, which means all targets - // run the association at the same time. - // - // If a new instance starts and attempts to execute an association while Systems - // Manager is executing MaxConcurrency associations, the association is allowed - // to run. During the next association interval, the new instance will process - // its association within the limit specified for MaxConcurrency. - MaxConcurrency *string `min:"1" type:"string"` - - // The number of errors that are allowed before the system stops sending requests - // to run the association on additional targets. You can specify either an absolute - // number of errors, for example 10, or a percentage of the target set, for - // example 10%. If you specify 3, for example, the system stops sending requests - // when the fourth error is received. If you specify 0, then the system stops - // sending requests after the first error is returned. If you run an association - // on 50 instances and set MaxError to 10%, then the system stops sending the - // request when the sixth error is received. - // - // Executions that are already running an association when MaxErrors is reached - // are allowed to complete, but some of these executions may fail as well. If - // you need to ensure that there won't be more than max-errors failed executions, - // set MaxConcurrency to 1 so that executions proceed one at a time. - MaxErrors *string `min:"1" type:"string"` - - // The name specified when the association was created. - Name *string `type:"string"` - - // The location in Amazon S3 specified for the association when the association - // version was created. - OutputLocation *InstanceAssociationOutputLocation `type:"structure"` - - // Parameters specified when the association version was created. - Parameters map[string][]*string `type:"map"` - - // The cron or rate schedule specified for the association when the association - // version was created. - ScheduleExpression *string `min:"1" type:"string"` - - // The targets specified for the association when the association version was - // created. - Targets []*Target `type:"list"` -} - -// String returns the string representation -func (s AssociationVersionInfo) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssociationVersionInfo) GoString() string { - return s.String() -} - -// SetAssociationId sets the AssociationId field's value. -func (s *AssociationVersionInfo) SetAssociationId(v string) *AssociationVersionInfo { - s.AssociationId = &v - return s -} - -// SetAssociationName sets the AssociationName field's value. -func (s *AssociationVersionInfo) SetAssociationName(v string) *AssociationVersionInfo { - s.AssociationName = &v - return s -} - -// SetAssociationVersion sets the AssociationVersion field's value. -func (s *AssociationVersionInfo) SetAssociationVersion(v string) *AssociationVersionInfo { - s.AssociationVersion = &v - return s -} - -// SetComplianceSeverity sets the ComplianceSeverity field's value. -func (s *AssociationVersionInfo) SetComplianceSeverity(v string) *AssociationVersionInfo { - s.ComplianceSeverity = &v - return s -} - -// SetCreatedDate sets the CreatedDate field's value. -func (s *AssociationVersionInfo) SetCreatedDate(v time.Time) *AssociationVersionInfo { - s.CreatedDate = &v - return s -} - -// SetDocumentVersion sets the DocumentVersion field's value. -func (s *AssociationVersionInfo) SetDocumentVersion(v string) *AssociationVersionInfo { - s.DocumentVersion = &v - return s -} - -// SetMaxConcurrency sets the MaxConcurrency field's value. -func (s *AssociationVersionInfo) SetMaxConcurrency(v string) *AssociationVersionInfo { - s.MaxConcurrency = &v - return s -} - -// SetMaxErrors sets the MaxErrors field's value. -func (s *AssociationVersionInfo) SetMaxErrors(v string) *AssociationVersionInfo { - s.MaxErrors = &v - return s -} - -// SetName sets the Name field's value. -func (s *AssociationVersionInfo) SetName(v string) *AssociationVersionInfo { - s.Name = &v - return s -} - -// SetOutputLocation sets the OutputLocation field's value. -func (s *AssociationVersionInfo) SetOutputLocation(v *InstanceAssociationOutputLocation) *AssociationVersionInfo { - s.OutputLocation = v - return s -} - -// SetParameters sets the Parameters field's value. -func (s *AssociationVersionInfo) SetParameters(v map[string][]*string) *AssociationVersionInfo { - s.Parameters = v - return s -} - -// SetScheduleExpression sets the ScheduleExpression field's value. -func (s *AssociationVersionInfo) SetScheduleExpression(v string) *AssociationVersionInfo { - s.ScheduleExpression = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *AssociationVersionInfo) SetTargets(v []*Target) *AssociationVersionInfo { - s.Targets = v - return s -} - -// A structure that includes attributes that describe a document attachment. -type AttachmentContent struct { - _ struct{} `type:"structure"` - - // The cryptographic hash value of the document content. - Hash *string `type:"string"` - - // The hash algorithm used to calculate the hash value. - HashType *string `type:"string" enum:"AttachmentHashType"` - - // The name of an attachment. - Name *string `type:"string"` - - // The size of an attachment in bytes. - Size *int64 `type:"long"` - - // The URL location of the attachment content. - Url *string `type:"string"` -} - -// String returns the string representation -func (s AttachmentContent) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AttachmentContent) GoString() string { - return s.String() -} - -// SetHash sets the Hash field's value. -func (s *AttachmentContent) SetHash(v string) *AttachmentContent { - s.Hash = &v - return s -} - -// SetHashType sets the HashType field's value. -func (s *AttachmentContent) SetHashType(v string) *AttachmentContent { - s.HashType = &v - return s -} - -// SetName sets the Name field's value. -func (s *AttachmentContent) SetName(v string) *AttachmentContent { - s.Name = &v - return s -} - -// SetSize sets the Size field's value. -func (s *AttachmentContent) SetSize(v int64) *AttachmentContent { - s.Size = &v - return s -} - -// SetUrl sets the Url field's value. -func (s *AttachmentContent) SetUrl(v string) *AttachmentContent { - s.Url = &v - return s -} - -// An attribute of an attachment, such as the attachment name or size. -type AttachmentInformation struct { - _ struct{} `type:"structure"` - - Name *string `type:"string"` -} - -// String returns the string representation -func (s AttachmentInformation) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AttachmentInformation) GoString() string { - return s.String() -} - -// SetName sets the Name field's value. -func (s *AttachmentInformation) SetName(v string) *AttachmentInformation { - s.Name = &v - return s -} - -// A key and value pair that identifies the location of an attachment to a document. -type AttachmentsSource struct { - _ struct{} `type:"structure"` - - // The key of a key and value pair that identifies the location of an attachment - // to a document. - Key *string `type:"string" enum:"AttachmentsSourceKey"` - - // The URL of the location of a document attachment, such as the URL of an Amazon - // S3 bucket. - Values []*string `min:"1" type:"list"` -} - -// String returns the string representation -func (s AttachmentsSource) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AttachmentsSource) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *AttachmentsSource) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AttachmentsSource"} - 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 *AttachmentsSource) SetKey(v string) *AttachmentsSource { - s.Key = &v - return s -} - -// SetValues sets the Values field's value. -func (s *AttachmentsSource) SetValues(v []*string) *AttachmentsSource { - s.Values = v - 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 action of the currently executing step. - CurrentAction *string `type:"string"` - - // The name of the currently executing step. - CurrentStepName *string `type:"string"` - - // 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 Amazon Resource Name (ARN) of the user who executed the automation. - ExecutedBy *string `type:"string"` - - // The time the execution finished. - ExecutionEndTime *time.Time `type:"timestamp"` - - // The time the execution started. - ExecutionStartTime *time.Time `type:"timestamp"` - - // A message describing why an execution has failed, if the status is set to - // Failed. - FailureMessage *string `type:"string"` - - // The MaxConcurrency value specified by the user when the execution started. - MaxConcurrency *string `min:"1" type:"string"` - - // The MaxErrors value specified by the user when the execution started. - MaxErrors *string `min:"1" type:"string"` - - // The automation execution mode. - Mode *string `type:"string" enum:"ExecutionMode"` - - // 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"` - - // The AutomationExecutionId of the parent automation. - ParentAutomationExecutionId *string `min:"36" type:"string"` - - // An aggregate of step execution statuses displayed in the AWS Console for - // a multi-Region and multi-account Automation execution. - ProgressCounters *ProgressCounters `type:"structure"` - - // A list of resolved targets in the rate control execution. - ResolvedTargets *ResolvedTargets `type:"structure"` - - // 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"` - - // A boolean value that indicates if the response contains the full list of - // the Automation step executions. If true, use the DescribeAutomationStepExecutions - // API action to get the full list of step executions. - StepExecutionsTruncated *bool `type:"boolean"` - - // The target of the execution. - Target *string `type:"string"` - - // The combination of AWS Regions and/or AWS accounts where you want to execute - // the Automation. - TargetLocations []*TargetLocation `min:"1" type:"list"` - - // The specified key-value mapping of document parameters to target resources. - TargetMaps []map[string][]*string `type:"list"` - - // The parameter name. - TargetParameterName *string `min:"1" type:"string"` - - // The specified targets. - Targets []*Target `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 -} - -// SetCurrentAction sets the CurrentAction field's value. -func (s *AutomationExecution) SetCurrentAction(v string) *AutomationExecution { - s.CurrentAction = &v - return s -} - -// SetCurrentStepName sets the CurrentStepName field's value. -func (s *AutomationExecution) SetCurrentStepName(v string) *AutomationExecution { - s.CurrentStepName = &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 -} - -// SetExecutedBy sets the ExecutedBy field's value. -func (s *AutomationExecution) SetExecutedBy(v string) *AutomationExecution { - s.ExecutedBy = &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 -} - -// SetMaxConcurrency sets the MaxConcurrency field's value. -func (s *AutomationExecution) SetMaxConcurrency(v string) *AutomationExecution { - s.MaxConcurrency = &v - return s -} - -// SetMaxErrors sets the MaxErrors field's value. -func (s *AutomationExecution) SetMaxErrors(v string) *AutomationExecution { - s.MaxErrors = &v - return s -} - -// SetMode sets the Mode field's value. -func (s *AutomationExecution) SetMode(v string) *AutomationExecution { - s.Mode = &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 -} - -// SetParentAutomationExecutionId sets the ParentAutomationExecutionId field's value. -func (s *AutomationExecution) SetParentAutomationExecutionId(v string) *AutomationExecution { - s.ParentAutomationExecutionId = &v - return s -} - -// SetProgressCounters sets the ProgressCounters field's value. -func (s *AutomationExecution) SetProgressCounters(v *ProgressCounters) *AutomationExecution { - s.ProgressCounters = v - return s -} - -// SetResolvedTargets sets the ResolvedTargets field's value. -func (s *AutomationExecution) SetResolvedTargets(v *ResolvedTargets) *AutomationExecution { - s.ResolvedTargets = v - return s -} - -// SetStepExecutions sets the StepExecutions field's value. -func (s *AutomationExecution) SetStepExecutions(v []*StepExecution) *AutomationExecution { - s.StepExecutions = v - return s -} - -// SetStepExecutionsTruncated sets the StepExecutionsTruncated field's value. -func (s *AutomationExecution) SetStepExecutionsTruncated(v bool) *AutomationExecution { - s.StepExecutionsTruncated = &v - return s -} - -// SetTarget sets the Target field's value. -func (s *AutomationExecution) SetTarget(v string) *AutomationExecution { - s.Target = &v - return s -} - -// SetTargetLocations sets the TargetLocations field's value. -func (s *AutomationExecution) SetTargetLocations(v []*TargetLocation) *AutomationExecution { - s.TargetLocations = v - return s -} - -// SetTargetMaps sets the TargetMaps field's value. -func (s *AutomationExecution) SetTargetMaps(v []map[string][]*string) *AutomationExecution { - s.TargetMaps = v - return s -} - -// SetTargetParameterName sets the TargetParameterName field's value. -func (s *AutomationExecution) SetTargetParameterName(v string) *AutomationExecution { - s.TargetParameterName = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *AutomationExecution) SetTargets(v []*Target) *AutomationExecution { - s.Targets = 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"` - - // One or more keys to limit the results. Valid filter keys include the following: - // DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction, - // StartTimeBefore, StartTimeAfter. - // - // 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"` - - // Use this filter with DescribeAutomationExecution. Specify either Local of - // CrossAccount. CrossAccount is an Automation that executes in multiple AWS - // Regions and accounts. For more information, see Concurrently Executing Automations - // in Multiple AWS Regions and Accounts (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html) - // in the AWS Systems Manager User Guide. - AutomationType *string `type:"string" enum:"AutomationType"` - - // The action of the currently executing step. - CurrentAction *string `type:"string"` - - // The name of the currently executing step. - CurrentStepName *string `type:"string"` - - // 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"` - - // The time the execution started.> - ExecutionStartTime *time.Time `type:"timestamp"` - - // The list of execution outputs as defined in the Automation document. - FailureMessage *string `type:"string"` - - // An Amazon S3 bucket where execution information is stored. - LogFile *string `type:"string"` - - // The MaxConcurrency value specified by the user when starting the Automation. - MaxConcurrency *string `min:"1" type:"string"` - - // The MaxErrors value specified by the user when starting the Automation. - MaxErrors *string `min:"1" type:"string"` - - // The Automation execution mode. - Mode *string `type:"string" enum:"ExecutionMode"` - - // The list of execution outputs as defined in the Automation document. - Outputs map[string][]*string `min:"1" type:"map"` - - // The ExecutionId of the parent Automation. - ParentAutomationExecutionId *string `min:"36" type:"string"` - - // A list of targets that resolved during the execution. - ResolvedTargets *ResolvedTargets `type:"structure"` - - // The list of execution outputs as defined in the Automation document. - Target *string `type:"string"` - - // The specified key-value mapping of document parameters to target resources. - TargetMaps []map[string][]*string `type:"list"` - - // The list of execution outputs as defined in the Automation document. - TargetParameterName *string `min:"1" type:"string"` - - // The targets defined by the user when starting the Automation. - Targets []*Target `type:"list"` -} - -// 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 -} - -// SetAutomationType sets the AutomationType field's value. -func (s *AutomationExecutionMetadata) SetAutomationType(v string) *AutomationExecutionMetadata { - s.AutomationType = &v - return s -} - -// SetCurrentAction sets the CurrentAction field's value. -func (s *AutomationExecutionMetadata) SetCurrentAction(v string) *AutomationExecutionMetadata { - s.CurrentAction = &v - return s -} - -// SetCurrentStepName sets the CurrentStepName field's value. -func (s *AutomationExecutionMetadata) SetCurrentStepName(v string) *AutomationExecutionMetadata { - s.CurrentStepName = &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 -} - -// SetFailureMessage sets the FailureMessage field's value. -func (s *AutomationExecutionMetadata) SetFailureMessage(v string) *AutomationExecutionMetadata { - s.FailureMessage = &v - return s -} - -// SetLogFile sets the LogFile field's value. -func (s *AutomationExecutionMetadata) SetLogFile(v string) *AutomationExecutionMetadata { - s.LogFile = &v - return s -} - -// SetMaxConcurrency sets the MaxConcurrency field's value. -func (s *AutomationExecutionMetadata) SetMaxConcurrency(v string) *AutomationExecutionMetadata { - s.MaxConcurrency = &v - return s -} - -// SetMaxErrors sets the MaxErrors field's value. -func (s *AutomationExecutionMetadata) SetMaxErrors(v string) *AutomationExecutionMetadata { - s.MaxErrors = &v - return s -} - -// SetMode sets the Mode field's value. -func (s *AutomationExecutionMetadata) SetMode(v string) *AutomationExecutionMetadata { - s.Mode = &v - return s -} - -// SetOutputs sets the Outputs field's value. -func (s *AutomationExecutionMetadata) SetOutputs(v map[string][]*string) *AutomationExecutionMetadata { - s.Outputs = v - return s -} - -// SetParentAutomationExecutionId sets the ParentAutomationExecutionId field's value. -func (s *AutomationExecutionMetadata) SetParentAutomationExecutionId(v string) *AutomationExecutionMetadata { - s.ParentAutomationExecutionId = &v - return s -} - -// SetResolvedTargets sets the ResolvedTargets field's value. -func (s *AutomationExecutionMetadata) SetResolvedTargets(v *ResolvedTargets) *AutomationExecutionMetadata { - s.ResolvedTargets = v - return s -} - -// SetTarget sets the Target field's value. -func (s *AutomationExecutionMetadata) SetTarget(v string) *AutomationExecutionMetadata { - s.Target = &v - return s -} - -// SetTargetMaps sets the TargetMaps field's value. -func (s *AutomationExecutionMetadata) SetTargetMaps(v []map[string][]*string) *AutomationExecutionMetadata { - s.TargetMaps = v - return s -} - -// SetTargetParameterName sets the TargetParameterName field's value. -func (s *AutomationExecutionMetadata) SetTargetParameterName(v string) *AutomationExecutionMetadata { - s.TargetParameterName = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *AutomationExecutionMetadata) SetTargets(v []*Target) *AutomationExecutionMetadata { - s.Targets = v - return s -} - -type CancelCommandInput struct { - _ struct{} `type:"structure"` - - // The ID of the command you want to cancel. - // - // CommandId is a required field - CommandId *string `min:"36" type:"string" required:"true"` - - // (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 `type:"list"` -} - -// String returns the string representation -func (s CancelCommandInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CancelCommandInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CancelCommandInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelCommandInput"} - if s.CommandId == nil { - invalidParams.Add(request.NewErrParamRequired("CommandId")) - } - if s.CommandId != nil && len(*s.CommandId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CommandId", 36)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetCommandId sets the CommandId field's value. -func (s *CancelCommandInput) SetCommandId(v string) *CancelCommandInput { - s.CommandId = &v - return s -} - -// SetInstanceIds sets the InstanceIds field's value. -func (s *CancelCommandInput) SetInstanceIds(v []*string) *CancelCommandInput { - s.InstanceIds = v - return s -} - -// Whether or not the command was successfully canceled. There is no guarantee -// that a request can be canceled. -type CancelCommandOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s CancelCommandOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CancelCommandOutput) GoString() string { - return s.String() -} - -type CancelMaintenanceWindowExecutionInput struct { - _ struct{} `type:"structure"` - - // The ID of the Maintenance Window execution to stop. - // - // WindowExecutionId is a required field - WindowExecutionId *string `min:"36" type:"string" required:"true"` -} - -// String returns the string representation -func (s CancelMaintenanceWindowExecutionInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CancelMaintenanceWindowExecutionInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CancelMaintenanceWindowExecutionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelMaintenanceWindowExecutionInput"} - 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 *CancelMaintenanceWindowExecutionInput) SetWindowExecutionId(v string) *CancelMaintenanceWindowExecutionInput { - s.WindowExecutionId = &v - return s -} - -type CancelMaintenanceWindowExecutionOutput struct { - _ struct{} `type:"structure"` - - // The ID of the Maintenance Window execution that has been stopped. - WindowExecutionId *string `min:"36" type:"string"` -} - -// String returns the string representation -func (s CancelMaintenanceWindowExecutionOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CancelMaintenanceWindowExecutionOutput) GoString() string { - return s.String() -} - -// SetWindowExecutionId sets the WindowExecutionId field's value. -func (s *CancelMaintenanceWindowExecutionOutput) SetWindowExecutionId(v string) *CancelMaintenanceWindowExecutionOutput { - s.WindowExecutionId = &v - return s -} - -// Configuration options for sending command output to CloudWatch Logs. -type CloudWatchOutputConfig struct { - _ struct{} `type:"structure"` - - // The name of the CloudWatch log group where you want to send command output. - // If you don't specify a group name, Systems Manager automatically creates - // a log group for you. The log group uses the following naming format: aws/ssm/SystemsManagerDocumentName. - CloudWatchLogGroupName *string `min:"1" type:"string"` - - // Enables Systems Manager to send command output to CloudWatch Logs. - CloudWatchOutputEnabled *bool `type:"boolean"` -} - -// String returns the string representation -func (s CloudWatchOutputConfig) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CloudWatchOutputConfig) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CloudWatchOutputConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CloudWatchOutputConfig"} - if s.CloudWatchLogGroupName != nil && len(*s.CloudWatchLogGroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CloudWatchLogGroupName", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetCloudWatchLogGroupName sets the CloudWatchLogGroupName field's value. -func (s *CloudWatchOutputConfig) SetCloudWatchLogGroupName(v string) *CloudWatchOutputConfig { - s.CloudWatchLogGroupName = &v - return s -} - -// SetCloudWatchOutputEnabled sets the CloudWatchOutputEnabled field's value. -func (s *CloudWatchOutputConfig) SetCloudWatchOutputEnabled(v bool) *CloudWatchOutputConfig { - s.CloudWatchOutputEnabled = &v - return s -} - -// Describes a command request. -type Command struct { - _ struct{} `type:"structure"` - - // CloudWatch Logs information where you want Systems Manager to send the command - // output. - CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"` - - // A unique identifier for this command. - CommandId *string `min:"36" type:"string"` - - // User-specified information about the command, such as a brief description - // 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 number of targets for which the status is Delivery Timed Out. - DeliveryTimedOutCount *int64 `type:"integer"` - - // The name of the document requested for execution. - DocumentName *string `type:"string"` - - // The SSM document version. - DocumentVersion *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 run. Calculated based on the ExpiresAfter user input provided - // as part of the SendCommand API. - ExpiresAfter *time.Time `type:"timestamp"` - - // The instance IDs against which this command was requested. - 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 Commands Using Systems Manager - // Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) - // in the AWS Systems Manager User Guide. - 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 0. For more - // information about how to use MaxErrors, see Executing Commands Using Systems - // Manager Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) - // in the AWS Systems Manager User Guide. - MaxErrors *string `min:"1" type:"string"` - - // Configurations for sending notifications about command status changes. - NotificationConfig *NotificationConfig `type:"structure"` - - // The S3 bucket where the responses to the command executions should be stored. - // This was requested when issuing the command. - 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. - OutputS3KeyPrefix *string `type:"string"` - - // (Deprecated) You can no longer specify this parameter. The system ignores - // it. Instead, Systems Manager automatically determines the Amazon S3 bucket - // region. - OutputS3Region *string `min:"3" type:"string"` - - // The parameter values to be inserted in the document when executing the command. - Parameters map[string][]*string `type:"map"` - - // The date and time the command was requested. - RequestedDateTime *time.Time `type:"timestamp"` - - // 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 Understanding Command Statuses - // (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html) - // in the AWS Systems Manager User Guide. 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 -func (s Command) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s Command) GoString() string { - return s.String() -} - -// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value. -func (s *Command) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *Command { - s.CloudWatchOutputConfig = v - return s -} - -// SetCommandId sets the CommandId field's value. -func (s *Command) SetCommandId(v string) *Command { - s.CommandId = &v - return s -} - -// SetComment sets the Comment field's value. -func (s *Command) SetComment(v string) *Command { - s.Comment = &v - return s -} - -// SetCompletedCount sets the CompletedCount field's value. -func (s *Command) SetCompletedCount(v int64) *Command { - s.CompletedCount = &v - return s -} - -// SetDeliveryTimedOutCount sets the DeliveryTimedOutCount field's value. -func (s *Command) SetDeliveryTimedOutCount(v int64) *Command { - s.DeliveryTimedOutCount = &v - return s -} - -// SetDocumentName sets the DocumentName field's value. -func (s *Command) SetDocumentName(v string) *Command { - s.DocumentName = &v - return s -} - -// SetDocumentVersion sets the DocumentVersion field's value. -func (s *Command) SetDocumentVersion(v string) *Command { - s.DocumentVersion = &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 - return s -} - -// SetInstanceIds sets the InstanceIds field's value. -func (s *Command) SetInstanceIds(v []*string) *Command { - s.InstanceIds = v - 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 - return s -} - -// SetOutputS3BucketName sets the OutputS3BucketName field's value. -func (s *Command) SetOutputS3BucketName(v string) *Command { - s.OutputS3BucketName = &v - return s -} - -// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value. -func (s *Command) SetOutputS3KeyPrefix(v string) *Command { - s.OutputS3KeyPrefix = &v - 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 - return s -} - -// SetRequestedDateTime sets the RequestedDateTime field's value. -func (s *Command) SetRequestedDateTime(v time.Time) *Command { - s.RequestedDateTime = &v - return s -} - -// SetServiceRole sets the ServiceRole field's value. -func (s *Command) SetServiceRole(v string) *Command { - s.ServiceRole = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *Command) SetStatus(v string) *Command { - s.Status = &v - 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"` - - // The name of the filter. - // - // Key is a required field - Key *string `locationName:"key" type:"string" required:"true" enum:"CommandFilterKey"` - - // The filter value. Valid values for each filter key are as follows: - // - // * InvokedAfter: Specify a timestamp to limit your results. For example, - // specify 2018-07-07T00:00:00Z to see a list of command executions occurring - // July 7, 2018, and later. - // - // * InvokedBefore: Specify a timestamp to limit your results. For example, - // specify 2018-07-07T00:00:00Z to see a list of command executions from - // before July 7, 2018. - // - // * Status: Specify a valid command status to see a list of all command - // executions with that status. Status values you can specify include: - // - // Pending - // - // InProgress - // - // Success - // - // Cancelled - // - // Failed - // - // TimedOut - // - // Cancelling - // - // * DocumentName: Specify name of the SSM document for which you want to - // see command execution results. For example, specify AWS-RunPatchBaseline - // to see command executions that used this SSM document to perform security - // patching operations on instances. - // - // * ExecutionStage: Specify one of the following values: - // - // Executing: Returns a list of command executions that are currently still - // running. - // - // Complete: Returns a list of command executions that have already completed. - // - // Value is a required field - Value *string `locationName:"value" min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s CommandFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CommandFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CommandFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CommandFilter"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - 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 -} - -// SetKey sets the Key field's value. -func (s *CommandFilter) SetKey(v string) *CommandFilter { - s.Key = &v - return s -} - -// SetValue sets the Value field's value. -func (s *CommandFilter) SetValue(v string) *CommandFilter { - s.Value = &v - return s -} - -// 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. -// For example, if a user executes SendCommand against three instances, then -// a command invocation is created for each requested instance ID. A command -// invocation returns status and detail information about a command you executed. -type CommandInvocation struct { - _ struct{} `type:"structure"` - - // CloudWatch Logs information where you want Systems Manager to send the command - // output. - CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"` - - // The command against which this invocation was requested. - CommandId *string `min:"36" type:"string"` - - CommandPlugins []*CommandPlugin `type:"list"` - - // User-specified information about the command, such as a brief description - // of what the command should do. - Comment *string `type:"string"` - - // The document name that was requested for execution. - DocumentName *string `type:"string"` - - // The SSM document version. - DocumentVersion *string `type:"string"` - - // 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"` - - // The time and date the request was sent to this instance. - RequestedDateTime *time.Time `type:"timestamp"` - - // 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 Understanding Command Statuses (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html) - // in the AWS Systems Manager User Guide. 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"` -} - -// String returns the string representation -func (s CommandInvocation) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CommandInvocation) GoString() string { - return s.String() -} - -// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value. -func (s *CommandInvocation) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *CommandInvocation { - s.CloudWatchOutputConfig = v - return s -} - -// SetCommandId sets the CommandId field's value. -func (s *CommandInvocation) SetCommandId(v string) *CommandInvocation { - s.CommandId = &v - return s -} - -// SetCommandPlugins sets the CommandPlugins field's value. -func (s *CommandInvocation) SetCommandPlugins(v []*CommandPlugin) *CommandInvocation { - s.CommandPlugins = v - return s -} - -// SetComment sets the Comment field's value. -func (s *CommandInvocation) SetComment(v string) *CommandInvocation { - s.Comment = &v - return s -} - -// SetDocumentName sets the DocumentName field's value. -func (s *CommandInvocation) SetDocumentName(v string) *CommandInvocation { - s.DocumentName = &v - return s -} - -// SetDocumentVersion sets the DocumentVersion field's value. -func (s *CommandInvocation) SetDocumentVersion(v string) *CommandInvocation { - s.DocumentVersion = &v - return s -} - -// SetInstanceId sets the InstanceId field's value. -func (s *CommandInvocation) SetInstanceId(v string) *CommandInvocation { - s.InstanceId = &v - 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 - return s -} - -// SetRequestedDateTime sets the RequestedDateTime field's value. -func (s *CommandInvocation) SetRequestedDateTime(v time.Time) *CommandInvocation { - s.RequestedDateTime = &v - return s -} - -// SetServiceRole sets the ServiceRole field's value. -func (s *CommandInvocation) SetServiceRole(v string) *CommandInvocation { - s.ServiceRole = &v - 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 - return s -} - -// Describes plugin details. -type CommandPlugin struct { - _ struct{} `type:"structure"` - - // The name of the plugin. Must be one of the following: aws:updateAgent, aws:domainjoin, - // aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch, - // aws:runShellScript, or aws:updateSSMAgent. - Name *string `min:"4" type:"string"` - - // Output of the plugin execution. - Output *string `type:"string"` - - // The S3 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. - 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"` - - // (Deprecated) You can no longer specify this parameter. The system ignores - // it. Instead, Systems Manager automatically determines the Amazon S3 bucket - // region. - OutputS3Region *string `min:"3" type:"string"` - - // A numeric response code generated after executing the plugin. - ResponseCode *int64 `type:"integer"` - - // The time the plugin stopped executing. Could stop prematurely if, for example, - // a cancel command was sent. - ResponseFinishDateTime *time.Time `type:"timestamp"` - - // The time the plugin started executing. - ResponseStartDateTime *time.Time `type:"timestamp"` - - // 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 Understanding Command Statuses - // (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html) - // in the AWS Systems Manager User Guide. 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 -func (s CommandPlugin) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CommandPlugin) GoString() string { - return s.String() -} - -// SetName sets the Name field's value. -func (s *CommandPlugin) SetName(v string) *CommandPlugin { - s.Name = &v - return s -} - -// SetOutput sets the Output field's value. -func (s *CommandPlugin) SetOutput(v string) *CommandPlugin { - s.Output = &v - return s -} - -// SetOutputS3BucketName sets the OutputS3BucketName field's value. -func (s *CommandPlugin) SetOutputS3BucketName(v string) *CommandPlugin { - s.OutputS3BucketName = &v - return s -} - -// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value. -func (s *CommandPlugin) SetOutputS3KeyPrefix(v string) *CommandPlugin { - s.OutputS3KeyPrefix = &v - 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 - return s -} - -// SetResponseFinishDateTime sets the ResponseFinishDateTime field's value. -func (s *CommandPlugin) SetResponseFinishDateTime(v time.Time) *CommandPlugin { - s.ResponseFinishDateTime = &v - return s -} - -// SetResponseStartDateTime sets the ResponseStartDateTime field's value. -func (s *CommandPlugin) SetResponseStartDateTime(v time.Time) *CommandPlugin { - s.ResponseStartDateTime = &v - 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 -} - -// A summary of the call execution that includes an execution ID, the type of -// execution (for example, Command), and the date/time of the execution using -// a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'. -type ComplianceExecutionSummary struct { - _ struct{} `type:"structure"` - - // An ID created by the system when PutComplianceItems was called. For example, - // CommandID is a valid execution ID. You can use this ID in subsequent calls. - ExecutionId *string `type:"string"` - - // The time the execution ran as a datetime object that is saved in the following - // format: yyyy-MM-dd'T'HH:mm:ss'Z'. - // - // ExecutionTime is a required field - ExecutionTime *time.Time `type:"timestamp" required:"true"` - - // The type of execution. For example, Command is a valid execution type. - ExecutionType *string `type:"string"` -} - -// String returns the string representation -func (s ComplianceExecutionSummary) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ComplianceExecutionSummary) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ComplianceExecutionSummary) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ComplianceExecutionSummary"} - if s.ExecutionTime == nil { - invalidParams.Add(request.NewErrParamRequired("ExecutionTime")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetExecutionId sets the ExecutionId field's value. -func (s *ComplianceExecutionSummary) SetExecutionId(v string) *ComplianceExecutionSummary { - s.ExecutionId = &v - return s -} - -// SetExecutionTime sets the ExecutionTime field's value. -func (s *ComplianceExecutionSummary) SetExecutionTime(v time.Time) *ComplianceExecutionSummary { - s.ExecutionTime = &v - return s -} - -// SetExecutionType sets the ExecutionType field's value. -func (s *ComplianceExecutionSummary) SetExecutionType(v string) *ComplianceExecutionSummary { - s.ExecutionType = &v - return s -} - -// Information about the compliance as defined by the resource type. For example, -// for a patch resource type, Items includes information about the PatchSeverity, -// Classification, etc. -type ComplianceItem struct { - _ struct{} `type:"structure"` - - // The compliance type. For example, Association (for a State Manager association), - // Patch, or Custom:string are all valid compliance types. - ComplianceType *string `min:"1" type:"string"` - - // A "Key": "Value" tag combination for the compliance item. - Details map[string]*string `type:"map"` - - // A summary for the compliance item. The summary includes an execution ID, - // the execution type (for example, command), and the execution time. - ExecutionSummary *ComplianceExecutionSummary `type:"structure"` - - // An ID for the compliance item. For example, if the compliance item is a Windows - // patch, the ID could be the number of the KB article; for example: KB4010320. - Id *string `min:"1" type:"string"` - - // An ID for the resource. For a managed instance, this is the instance ID. - ResourceId *string `min:"1" type:"string"` - - // The type of resource. ManagedInstance is currently the only supported resource - // type. - ResourceType *string `min:"1" type:"string"` - - // The severity of the compliance status. Severity can be one of the following: - // Critical, High, Medium, Low, Informational, Unspecified. - Severity *string `type:"string" enum:"ComplianceSeverity"` - - // The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT. - Status *string `type:"string" enum:"ComplianceStatus"` - - // A title for the compliance item. For example, if the compliance item is a - // Windows patch, the title could be the title of the KB article for the patch; - // for example: Security Update for Active Directory Federation Services. - Title *string `type:"string"` -} - -// String returns the string representation -func (s ComplianceItem) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ComplianceItem) GoString() string { - return s.String() -} - -// SetComplianceType sets the ComplianceType field's value. -func (s *ComplianceItem) SetComplianceType(v string) *ComplianceItem { - s.ComplianceType = &v - return s -} - -// SetDetails sets the Details field's value. -func (s *ComplianceItem) SetDetails(v map[string]*string) *ComplianceItem { - s.Details = v - return s -} - -// SetExecutionSummary sets the ExecutionSummary field's value. -func (s *ComplianceItem) SetExecutionSummary(v *ComplianceExecutionSummary) *ComplianceItem { - s.ExecutionSummary = v - return s -} - -// SetId sets the Id field's value. -func (s *ComplianceItem) SetId(v string) *ComplianceItem { - s.Id = &v - return s -} - -// SetResourceId sets the ResourceId field's value. -func (s *ComplianceItem) SetResourceId(v string) *ComplianceItem { - s.ResourceId = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *ComplianceItem) SetResourceType(v string) *ComplianceItem { - s.ResourceType = &v - return s -} - -// SetSeverity sets the Severity field's value. -func (s *ComplianceItem) SetSeverity(v string) *ComplianceItem { - s.Severity = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *ComplianceItem) SetStatus(v string) *ComplianceItem { - s.Status = &v - return s -} - -// SetTitle sets the Title field's value. -func (s *ComplianceItem) SetTitle(v string) *ComplianceItem { - s.Title = &v - return s -} - -// Information about a compliance item. -type ComplianceItemEntry struct { - _ struct{} `type:"structure"` - - // A "Key": "Value" tag combination for the compliance item. - Details map[string]*string `type:"map"` - - // The compliance item ID. For example, if the compliance item is a Windows - // patch, the ID could be the number of the KB article. - Id *string `min:"1" type:"string"` - - // The severity of the compliance status. Severity can be one of the following: - // Critical, High, Medium, Low, Informational, Unspecified. - // - // Severity is a required field - Severity *string `type:"string" required:"true" enum:"ComplianceSeverity"` - - // The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT. - // - // Status is a required field - Status *string `type:"string" required:"true" enum:"ComplianceStatus"` - - // The title of the compliance item. For example, if the compliance item is - // a Windows patch, the title could be the title of the KB article for the patch; - // for example: Security Update for Active Directory Federation Services. - Title *string `type:"string"` -} - -// String returns the string representation -func (s ComplianceItemEntry) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ComplianceItemEntry) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ComplianceItemEntry) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ComplianceItemEntry"} - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) - } - if s.Severity == nil { - invalidParams.Add(request.NewErrParamRequired("Severity")) - } - if s.Status == nil { - invalidParams.Add(request.NewErrParamRequired("Status")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDetails sets the Details field's value. -func (s *ComplianceItemEntry) SetDetails(v map[string]*string) *ComplianceItemEntry { - s.Details = v - return s -} - -// SetId sets the Id field's value. -func (s *ComplianceItemEntry) SetId(v string) *ComplianceItemEntry { - s.Id = &v - return s -} - -// SetSeverity sets the Severity field's value. -func (s *ComplianceItemEntry) SetSeverity(v string) *ComplianceItemEntry { - s.Severity = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *ComplianceItemEntry) SetStatus(v string) *ComplianceItemEntry { - s.Status = &v - return s -} - -// SetTitle sets the Title field's value. -func (s *ComplianceItemEntry) SetTitle(v string) *ComplianceItemEntry { - s.Title = &v - return s -} - -// One or more filters. Use a filter to return a more specific list of results. -type ComplianceStringFilter struct { - _ struct{} `type:"structure"` - - // The name of the filter. - Key *string `min:"1" type:"string"` - - // The type of comparison that should be performed for the value: Equal, NotEqual, - // BeginWith, LessThan, or GreaterThan. - Type *string `type:"string" enum:"ComplianceQueryOperatorType"` - - // The value for which to search. - Values []*string `min:"1" type:"list"` -} - -// String returns the string representation -func (s ComplianceStringFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ComplianceStringFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ComplianceStringFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ComplianceStringFilter"} - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) - } - 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 *ComplianceStringFilter) SetKey(v string) *ComplianceStringFilter { - s.Key = &v - return s -} - -// SetType sets the Type field's value. -func (s *ComplianceStringFilter) SetType(v string) *ComplianceStringFilter { - s.Type = &v - return s -} - -// SetValues sets the Values field's value. -func (s *ComplianceStringFilter) SetValues(v []*string) *ComplianceStringFilter { - s.Values = v - return s -} - -// A summary of compliance information by compliance type. -type ComplianceSummaryItem struct { - _ struct{} `type:"structure"` - - // The type of compliance item. For example, the compliance type can be Association, - // Patch, or Custom:string. - ComplianceType *string `min:"1" type:"string"` - - // A list of COMPLIANT items for the specified compliance type. - CompliantSummary *CompliantSummary `type:"structure"` - - // A list of NON_COMPLIANT items for the specified compliance type. - NonCompliantSummary *NonCompliantSummary `type:"structure"` -} - -// String returns the string representation -func (s ComplianceSummaryItem) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ComplianceSummaryItem) GoString() string { - return s.String() -} - -// SetComplianceType sets the ComplianceType field's value. -func (s *ComplianceSummaryItem) SetComplianceType(v string) *ComplianceSummaryItem { - s.ComplianceType = &v - return s -} - -// SetCompliantSummary sets the CompliantSummary field's value. -func (s *ComplianceSummaryItem) SetCompliantSummary(v *CompliantSummary) *ComplianceSummaryItem { - s.CompliantSummary = v - return s -} - -// SetNonCompliantSummary sets the NonCompliantSummary field's value. -func (s *ComplianceSummaryItem) SetNonCompliantSummary(v *NonCompliantSummary) *ComplianceSummaryItem { - s.NonCompliantSummary = v - return s -} - -// A summary of resources that are compliant. The summary is organized according -// to the resource count for each compliance type. -type CompliantSummary struct { - _ struct{} `type:"structure"` - - // The total number of resources that are compliant. - CompliantCount *int64 `type:"integer"` - - // A summary of the compliance severity by compliance type. - SeveritySummary *SeveritySummary `type:"structure"` -} - -// String returns the string representation -func (s CompliantSummary) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CompliantSummary) GoString() string { - return s.String() -} - -// SetCompliantCount sets the CompliantCount field's value. -func (s *CompliantSummary) SetCompliantCount(v int64) *CompliantSummary { - s.CompliantCount = &v - return s -} - -// SetSeveritySummary sets the SeveritySummary field's value. -func (s *CompliantSummary) SetSeveritySummary(v *SeveritySummary) *CompliantSummary { - s.SeveritySummary = v - return s -} - -type CreateActivationInput struct { - _ struct{} `type:"structure"` - - // The name of the registered, managed instance as it will appear in the Amazon - // EC2 console or when you use the AWS command line tools to list EC2 resources. - // - // Do not enter personally identifiable information in this field. - DefaultInstanceName *string `type:"string"` - - // A user-defined description of the resource that you want to register with - // Amazon EC2. - // - // Do not enter personally identifiable information in this field. - Description *string `type:"string"` - - // The date by which this activation request should expire. The default value - // is 24 hours. - ExpirationDate *time.Time `type:"timestamp"` - - // The Amazon Identity and Access Management (IAM) role that you want to assign - // to the managed instance. - // - // IamRole is a required field - IamRole *string `type:"string" required:"true"` - - // Specify the maximum number of managed instances you want to register. The - // default value is 1 instance. - RegistrationLimit *int64 `min:"1" type:"integer"` -} - -// String returns the string representation -func (s CreateActivationInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateActivationInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateActivationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateActivationInput"} - if s.IamRole == nil { - invalidParams.Add(request.NewErrParamRequired("IamRole")) - } - if s.RegistrationLimit != nil && *s.RegistrationLimit < 1 { - invalidParams.Add(request.NewErrParamMinValue("RegistrationLimit", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDefaultInstanceName sets the DefaultInstanceName field's value. -func (s *CreateActivationInput) SetDefaultInstanceName(v string) *CreateActivationInput { - s.DefaultInstanceName = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateActivationInput) SetDescription(v string) *CreateActivationInput { - s.Description = &v - return s -} - -// SetExpirationDate sets the ExpirationDate field's value. -func (s *CreateActivationInput) SetExpirationDate(v time.Time) *CreateActivationInput { - s.ExpirationDate = &v - return s -} - -// SetIamRole sets the IamRole field's value. -func (s *CreateActivationInput) SetIamRole(v string) *CreateActivationInput { - s.IamRole = &v - return s -} - -// SetRegistrationLimit sets the RegistrationLimit field's value. -func (s *CreateActivationInput) SetRegistrationLimit(v int64) *CreateActivationInput { - s.RegistrationLimit = &v - return s -} - -type CreateActivationOutput struct { - _ struct{} `type:"structure"` - - // The code the system generates when it processes the activation. The activation - // code functions like a password to validate the activation ID. - ActivationCode *string `min:"20" type:"string"` - - // The ID number generated by the system when it processed the activation. The - // activation ID functions like a user name. - ActivationId *string `type:"string"` -} - -// String returns the string representation -func (s CreateActivationOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateActivationOutput) GoString() string { - return s.String() -} - -// SetActivationCode sets the ActivationCode field's value. -func (s *CreateActivationOutput) SetActivationCode(v string) *CreateActivationOutput { - s.ActivationCode = &v - return s -} - -// SetActivationId sets the ActivationId field's value. -func (s *CreateActivationOutput) SetActivationId(v string) *CreateActivationOutput { - s.ActivationId = &v - return s -} - -type CreateAssociationBatchInput struct { - _ struct{} `type:"structure"` - - // One or more associations. - // - // Entries is a required field - Entries []*CreateAssociationBatchRequestEntry `min:"1" type:"list" required:"true"` -} - -// String returns the string representation -func (s CreateAssociationBatchInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateAssociationBatchInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateAssociationBatchInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateAssociationBatchInput"} - 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 - } - return nil -} - -// SetEntries sets the Entries field's value. -func (s *CreateAssociationBatchInput) SetEntries(v []*CreateAssociationBatchRequestEntry) *CreateAssociationBatchInput { - s.Entries = v - return s -} - -type CreateAssociationBatchOutput struct { - _ struct{} `type:"structure"` - - // Information about the associations that failed. - Failed []*FailedCreateAssociation `type:"list"` - - // Information about the associations that succeeded. - Successful []*AssociationDescription `type:"list"` -} - -// String returns the string representation -func (s CreateAssociationBatchOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateAssociationBatchOutput) GoString() string { - return s.String() -} - -// SetFailed sets the Failed field's value. -func (s *CreateAssociationBatchOutput) SetFailed(v []*FailedCreateAssociation) *CreateAssociationBatchOutput { - s.Failed = v - return s -} - -// SetSuccessful sets the Successful field's value. -func (s *CreateAssociationBatchOutput) SetSuccessful(v []*AssociationDescription) *CreateAssociationBatchOutput { - s.Successful = v - return s -} - -// Describes the association of a Systems Manager SSM document and an instance. -type CreateAssociationBatchRequestEntry struct { - _ struct{} `type:"structure"` - - // Specify a descriptive name for the association. - AssociationName *string `type:"string"` - - // The severity level to assign to the association. - ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"` - - // The document version. - DocumentVersion *string `type:"string"` - - // The ID of the instance. - InstanceId *string `type:"string"` - - // The maximum number of targets allowed to run the association at the same - // time. You can specify a number, for example 10, or a percentage of the target - // set, for example 10%. The default value is 100%, which means all targets - // run the association at the same time. - // - // If a new instance starts and attempts to execute an association while Systems - // Manager is executing MaxConcurrency associations, the association is allowed - // to run. During the next association interval, the new instance will process - // its association within the limit specified for MaxConcurrency. - MaxConcurrency *string `min:"1" type:"string"` - - // The number of errors that are allowed before the system stops sending requests - // to run the association on additional targets. You can specify either an absolute - // number of errors, for example 10, or a percentage of the target set, for - // example 10%. If you specify 3, for example, the system stops sending requests - // when the fourth error is received. If you specify 0, then the system stops - // sending requests after the first error is returned. If you run an association - // on 50 instances and set MaxError to 10%, then the system stops sending the - // request when the sixth error is received. - // - // Executions that are already running an association when MaxErrors is reached - // are allowed to complete, but some of these executions may fail as well. If - // you need to ensure that there won't be more than max-errors failed executions, - // set MaxConcurrency to 1 so that executions proceed one at a time. - MaxErrors *string `min:"1" type:"string"` - - // The name of the configuration document. - // - // 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 -func (s CreateAssociationBatchRequestEntry) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -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.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) - } - if s.MaxErrors != nil && len(*s.MaxErrors) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1)) - } - 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 -} - -// SetAssociationName sets the AssociationName field's value. -func (s *CreateAssociationBatchRequestEntry) SetAssociationName(v string) *CreateAssociationBatchRequestEntry { - s.AssociationName = &v - return s -} - -// SetComplianceSeverity sets the ComplianceSeverity field's value. -func (s *CreateAssociationBatchRequestEntry) SetComplianceSeverity(v string) *CreateAssociationBatchRequestEntry { - s.ComplianceSeverity = &v - return s -} - -// 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 - return s -} - -// SetMaxConcurrency sets the MaxConcurrency field's value. -func (s *CreateAssociationBatchRequestEntry) SetMaxConcurrency(v string) *CreateAssociationBatchRequestEntry { - s.MaxConcurrency = &v - return s -} - -// SetMaxErrors sets the MaxErrors field's value. -func (s *CreateAssociationBatchRequestEntry) SetMaxErrors(v string) *CreateAssociationBatchRequestEntry { - s.MaxErrors = &v - return s -} - -// SetName sets the Name field's value. -func (s *CreateAssociationBatchRequestEntry) SetName(v string) *CreateAssociationBatchRequestEntry { - s.Name = &v - 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"` - - // Specify a descriptive name for the association. - AssociationName *string `type:"string"` - - // The severity level to assign to the association. - ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"` - - // 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 *string `type:"string"` - - // The maximum number of targets allowed to run the association at the same - // time. You can specify a number, for example 10, or a percentage of the target - // set, for example 10%. The default value is 100%, which means all targets - // run the association at the same time. - // - // If a new instance starts and attempts to execute an association while Systems - // Manager is executing MaxConcurrency associations, the association is allowed - // to run. During the next association interval, the new instance will process - // its association within the limit specified for MaxConcurrency. - MaxConcurrency *string `min:"1" type:"string"` - - // The number of errors that are allowed before the system stops sending requests - // to run the association on additional targets. You can specify either an absolute - // number of errors, for example 10, or a percentage of the target set, for - // example 10%. If you specify 3, for example, the system stops sending requests - // when the fourth error is received. If you specify 0, then the system stops - // sending requests after the first error is returned. If you run an association - // on 50 instances and set MaxError to 10%, then the system stops sending the - // request when the sixth error is received. - // - // Executions that are already running an association when MaxErrors is reached - // are allowed to complete, but some of these executions may fail as well. If - // you need to ensure that there won't be more than max-errors failed executions, - // set MaxConcurrency to 1 so that executions proceed one at a time. - MaxErrors *string `min:"1" type:"string"` - - // The name of the Systems Manager 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. - 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). - ScheduleExpression *string `min:"1" type:"string"` - - // The targets (either instances or tags) for the association. - Targets []*Target `type:"list"` -} - -// String returns the string representation -func (s CreateAssociationInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateAssociationInput) GoString() string { - return s.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.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) - } - if s.MaxErrors != nil && len(*s.MaxErrors) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1)) - } - 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 -} - -// SetAssociationName sets the AssociationName field's value. -func (s *CreateAssociationInput) SetAssociationName(v string) *CreateAssociationInput { - s.AssociationName = &v - return s -} - -// SetComplianceSeverity sets the ComplianceSeverity field's value. -func (s *CreateAssociationInput) SetComplianceSeverity(v string) *CreateAssociationInput { - s.ComplianceSeverity = &v - return s -} - -// 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 - return s -} - -// SetMaxConcurrency sets the MaxConcurrency field's value. -func (s *CreateAssociationInput) SetMaxConcurrency(v string) *CreateAssociationInput { - s.MaxConcurrency = &v - return s -} - -// SetMaxErrors sets the MaxErrors field's value. -func (s *CreateAssociationInput) SetMaxErrors(v string) *CreateAssociationInput { - s.MaxErrors = &v - return s -} - -// SetName sets the Name field's value. -func (s *CreateAssociationInput) SetName(v string) *CreateAssociationInput { - s.Name = &v - 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"` - - // Information about the association. - AssociationDescription *AssociationDescription `type:"structure"` -} - -// String returns the string representation -func (s CreateAssociationOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateAssociationOutput) GoString() string { - return s.String() -} - -// SetAssociationDescription sets the AssociationDescription field's value. -func (s *CreateAssociationOutput) SetAssociationDescription(v *AssociationDescription) *CreateAssociationOutput { - s.AssociationDescription = v - return s -} - -type CreateDocumentInput struct { - _ struct{} `type:"structure"` - - // A list of key and value pairs that describe attachments to a version of a - // document. - Attachments []*AttachmentsSource `type:"list"` - - // A valid JSON or YAML string. - // - // Content is a required field - Content *string `min:"1" type:"string" required:"true"` - - // Specify the document format for the request. The document format can be either - // JSON or YAML. JSON is the default format. - DocumentFormat *string `type:"string" enum:"DocumentFormat"` - - // The type of document to create. Valid document types include: Command, Policy, - // Automation, Session, and Package. - DocumentType *string `type:"string" enum:"DocumentType"` - - // A name for the Systems Manager document. - // - // Do not use the following to begin the names of documents you create. They - // are reserved by AWS for use as document prefixes: - // - // aws - // - // amazon - // - // amzn - // - // Name is a required field - Name *string `type:"string" required:"true"` - - // Specify a target type to define the kinds of resources the document can run - // on. For example, to run a document on EC2 instances, specify the following - // value: /AWS::EC2::Instance. If you specify a value of '/' the document can - // run on all types of resources. If you don't specify a value, the document - // can't run on any resources. For a list of valid resource types, see AWS Resource - // Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) - // in the AWS CloudFormation User Guide. - TargetType *string `type:"string"` - - // An optional field specifying the version of the artifact you are creating - // with the document. For example, "Release 12, Update 6". This value is unique - // across all versions of a document, and cannot be changed. - VersionName *string `type:"string"` -} - -// String returns the string representation -func (s CreateDocumentInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateDocumentInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDocumentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDocumentInput"} - 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 s.Attachments != nil { - for i, v := range s.Attachments { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAttachments sets the Attachments field's value. -func (s *CreateDocumentInput) SetAttachments(v []*AttachmentsSource) *CreateDocumentInput { - s.Attachments = v - return s -} - -// SetContent sets the Content field's value. -func (s *CreateDocumentInput) SetContent(v string) *CreateDocumentInput { - s.Content = &v - return s -} - -// SetDocumentFormat sets the DocumentFormat field's value. -func (s *CreateDocumentInput) SetDocumentFormat(v string) *CreateDocumentInput { - s.DocumentFormat = &v - 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 - return s -} - -// SetTargetType sets the TargetType field's value. -func (s *CreateDocumentInput) SetTargetType(v string) *CreateDocumentInput { - s.TargetType = &v - return s -} - -// SetVersionName sets the VersionName field's value. -func (s *CreateDocumentInput) SetVersionName(v string) *CreateDocumentInput { - s.VersionName = &v - return s -} - -type CreateDocumentOutput struct { - _ struct{} `type:"structure"` - - // Information about the Systems Manager document. - DocumentDescription *DocumentDescription `type:"structure"` -} - -// String returns the string representation -func (s CreateDocumentOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateDocumentOutput) GoString() string { - return s.String() -} - -// SetDocumentDescription sets the DocumentDescription field's value. -func (s *CreateDocumentOutput) SetDocumentDescription(v *DocumentDescription) *CreateDocumentOutput { - s.DocumentDescription = v - return s -} - -type CreateMaintenanceWindowInput struct { - _ struct{} `type:"structure"` - - // Enables a Maintenance Window task to execute on managed instances, even if - // you have not registered those instances as targets. If enabled, then you - // must specify the unregistered instances (by instance ID) when you register - // a task with the Maintenance Window - // - // If you don't enable this option, then you must specify previously-registered - // targets when you register a task with the Maintenance Window. - // - // 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"` - - // An optional description for the Maintenance Window. We recommend specifying - // a description to help you organize your Maintenance Windows. - Description *string `min:"1" type:"string" sensitive:"true"` - - // The duration of the Maintenance Window in hours. - // - // Duration is a required field - Duration *int64 `min:"1" type:"integer" required:"true"` - - // The date and time, in ISO-8601 Extended format, for when you want the Maintenance - // Window to become inactive. EndDate allows you to set a date and time in the - // future when the Maintenance Window will no longer run. - EndDate *string `type:"string"` - - // 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"` - - // The time zone that the scheduled Maintenance Window executions are based - // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", - // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database - // (https://www.iana.org/time-zones) on the IANA website. - ScheduleTimezone *string `type:"string"` - - // The date and time, in ISO-8601 Extended format, for when you want the Maintenance - // Window to become active. StartDate allows you to delay activation of the - // Maintenance Window until the specified future date. - StartDate *string `type:"string"` -} - -// 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.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - 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 -} - -// SetDescription sets the Description field's value. -func (s *CreateMaintenanceWindowInput) SetDescription(v string) *CreateMaintenanceWindowInput { - s.Description = &v - return s -} - -// SetDuration sets the Duration field's value. -func (s *CreateMaintenanceWindowInput) SetDuration(v int64) *CreateMaintenanceWindowInput { - s.Duration = &v - return s -} - -// SetEndDate sets the EndDate field's value. -func (s *CreateMaintenanceWindowInput) SetEndDate(v string) *CreateMaintenanceWindowInput { - s.EndDate = &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 -} - -// SetScheduleTimezone sets the ScheduleTimezone field's value. -func (s *CreateMaintenanceWindowInput) SetScheduleTimezone(v string) *CreateMaintenanceWindowInput { - s.ScheduleTimezone = &v - return s -} - -// SetStartDate sets the StartDate field's value. -func (s *CreateMaintenanceWindowInput) SetStartDate(v string) *CreateMaintenanceWindowInput { - s.StartDate = &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 CreatePatchBaselineInput struct { - _ struct{} `type:"structure"` - - // A set of rules used to include patches in the baseline. - ApprovalRules *PatchRuleGroup `type:"structure"` - - // A list of explicitly approved patches for the baseline. - // - // For information about accepted formats for lists of approved patches and - // rejected patches, see Package Name Formats for Approved and Rejected Patch - // Lists (http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) - // in the AWS Systems Manager User Guide. - ApprovedPatches []*string `type:"list"` - - // Defines the compliance level for approved patches. This means that if an - // approved patch is reported as missing, this is the severity of the compliance - // violation. The default value is UNSPECIFIED. - ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"` - - // Indicates whether the list of approved patches includes non-security updates - // that should be applied to the instances. The default value is 'false'. Applies - // to Linux instances only. - ApprovedPatchesEnableNonSecurity *bool `type:"boolean"` - - // User-provided idempotency token. - ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` - - // A description of the patch baseline. - Description *string `min:"1" type:"string"` - - // A set of global filters used to exclude patches from the baseline. - GlobalFilters *PatchFilterGroup `type:"structure"` - - // The name of the patch baseline. - // - // Name is a required field - Name *string `min:"3" type:"string" required:"true"` - - // Defines the operating system the patch baseline applies to. The Default value - // is WINDOWS. - OperatingSystem *string `type:"string" enum:"OperatingSystem"` - - // A list of explicitly rejected patches for the baseline. - // - // For information about accepted formats for lists of approved patches and - // rejected patches, see Package Name Formats for Approved and Rejected Patch - // Lists (http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) - // in the AWS Systems Manager User Guide. - RejectedPatches []*string `type:"list"` - - // The action for Patch Manager to take on patches included in the RejectedPackages - // list. - // - // * ALLOW_AS_DEPENDENCY: A package in the Rejected patches list is installed - // only if it is a dependency of another package. It is considered compliant - // with the patch baseline, and its status is reported as InstalledOther. - // This is the default action if no option is specified. - // - // * BLOCK: Packages in the RejectedPatches list, and packages that include - // them as dependencies, are not installed under any circumstances. If a - // package was installed before it was added to the Rejected patches list, - // it is considered non-compliant with the patch baseline, and its status - // is reported as InstalledRejected. - RejectedPatchesAction *string `type:"string" enum:"PatchAction"` - - // Information about the patches to use to update the instances, including target - // operating systems and source repositories. Applies to Linux instances only. - Sources []*PatchSource `type:"list"` -} - -// String returns the string representation -func (s CreatePatchBaselineInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreatePatchBaselineInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreatePatchBaselineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreatePatchBaselineInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 3 { - invalidParams.Add(request.NewErrParamMinLen("Name", 3)) - } - if s.ApprovalRules != nil { - if err := s.ApprovalRules.Validate(); err != nil { - invalidParams.AddNested("ApprovalRules", err.(request.ErrInvalidParams)) - } - } - if s.GlobalFilters != nil { - if err := s.GlobalFilters.Validate(); err != nil { - invalidParams.AddNested("GlobalFilters", err.(request.ErrInvalidParams)) - } - } - if s.Sources != nil { - for i, v := range s.Sources { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetApprovalRules sets the ApprovalRules field's value. -func (s *CreatePatchBaselineInput) SetApprovalRules(v *PatchRuleGroup) *CreatePatchBaselineInput { - s.ApprovalRules = v - return s -} - -// SetApprovedPatches sets the ApprovedPatches field's value. -func (s *CreatePatchBaselineInput) SetApprovedPatches(v []*string) *CreatePatchBaselineInput { - s.ApprovedPatches = v - return s -} - -// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value. -func (s *CreatePatchBaselineInput) SetApprovedPatchesComplianceLevel(v string) *CreatePatchBaselineInput { - s.ApprovedPatchesComplianceLevel = &v - return s -} - -// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value. -func (s *CreatePatchBaselineInput) SetApprovedPatchesEnableNonSecurity(v bool) *CreatePatchBaselineInput { - s.ApprovedPatchesEnableNonSecurity = &v - return s -} - -// SetClientToken sets the ClientToken field's value. -func (s *CreatePatchBaselineInput) SetClientToken(v string) *CreatePatchBaselineInput { - s.ClientToken = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreatePatchBaselineInput) SetDescription(v string) *CreatePatchBaselineInput { - s.Description = &v - return s -} - -// SetGlobalFilters sets the GlobalFilters field's value. -func (s *CreatePatchBaselineInput) SetGlobalFilters(v *PatchFilterGroup) *CreatePatchBaselineInput { - s.GlobalFilters = v - return s -} - -// SetName sets the Name field's value. -func (s *CreatePatchBaselineInput) SetName(v string) *CreatePatchBaselineInput { - s.Name = &v - return s -} - -// SetOperatingSystem sets the OperatingSystem field's value. -func (s *CreatePatchBaselineInput) SetOperatingSystem(v string) *CreatePatchBaselineInput { - s.OperatingSystem = &v - return s -} - -// SetRejectedPatches sets the RejectedPatches field's value. -func (s *CreatePatchBaselineInput) SetRejectedPatches(v []*string) *CreatePatchBaselineInput { - s.RejectedPatches = v - return s -} - -// SetRejectedPatchesAction sets the RejectedPatchesAction field's value. -func (s *CreatePatchBaselineInput) SetRejectedPatchesAction(v string) *CreatePatchBaselineInput { - s.RejectedPatchesAction = &v - return s -} - -// SetSources sets the Sources field's value. -func (s *CreatePatchBaselineInput) SetSources(v []*PatchSource) *CreatePatchBaselineInput { - s.Sources = v - return s -} - -type CreatePatchBaselineOutput struct { - _ struct{} `type:"structure"` - - // The ID of the created patch baseline. - BaselineId *string `min:"20" type:"string"` -} - -// String returns the string representation -func (s CreatePatchBaselineOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreatePatchBaselineOutput) GoString() string { - return s.String() -} - -// SetBaselineId sets the BaselineId field's value. -func (s *CreatePatchBaselineOutput) SetBaselineId(v string) *CreatePatchBaselineOutput { - s.BaselineId = &v - return s -} - -type CreateResourceDataSyncInput struct { - _ struct{} `type:"structure"` - - // Amazon S3 configuration details for the sync. - // - // S3Destination is a required field - S3Destination *ResourceDataSyncS3Destination `type:"structure" required:"true"` - - // A name for the configuration. - // - // SyncName is a required field - SyncName *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s CreateResourceDataSyncInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateResourceDataSyncInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateResourceDataSyncInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateResourceDataSyncInput"} - if s.S3Destination == nil { - invalidParams.Add(request.NewErrParamRequired("S3Destination")) - } - if s.SyncName == nil { - invalidParams.Add(request.NewErrParamRequired("SyncName")) - } - if s.SyncName != nil && len(*s.SyncName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SyncName", 1)) - } - if s.S3Destination != nil { - if err := s.S3Destination.Validate(); err != nil { - invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetS3Destination sets the S3Destination field's value. -func (s *CreateResourceDataSyncInput) SetS3Destination(v *ResourceDataSyncS3Destination) *CreateResourceDataSyncInput { - s.S3Destination = v - return s -} - -// SetSyncName sets the SyncName field's value. -func (s *CreateResourceDataSyncInput) SetSyncName(v string) *CreateResourceDataSyncInput { - s.SyncName = &v - return s -} - -type CreateResourceDataSyncOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s CreateResourceDataSyncOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateResourceDataSyncOutput) GoString() string { - return s.String() -} - -type DeleteActivationInput struct { - _ struct{} `type:"structure"` - - // The ID of the activation that you want to delete. - // - // ActivationId is a required field - ActivationId *string `type:"string" required:"true"` -} - -// String returns the string representation -func (s DeleteActivationInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteActivationInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteActivationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteActivationInput"} - if s.ActivationId == nil { - invalidParams.Add(request.NewErrParamRequired("ActivationId")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetActivationId sets the ActivationId field's value. -func (s *DeleteActivationInput) SetActivationId(v string) *DeleteActivationInput { - s.ActivationId = &v - return s -} - -type DeleteActivationOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteActivationOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteActivationOutput) GoString() string { - return s.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 *string `type:"string"` - - // The name of the Systems Manager document. - Name *string `type:"string"` -} - -// String returns the string representation -func (s DeleteAssociationInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteAssociationInput) GoString() string { - return s.String() -} - -// 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. -func (s *DeleteAssociationInput) SetInstanceId(v string) *DeleteAssociationInput { - s.InstanceId = &v - return s -} - -// SetName sets the Name field's value. -func (s *DeleteAssociationInput) SetName(v string) *DeleteAssociationInput { - s.Name = &v - return s -} - -type DeleteAssociationOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteAssociationOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteAssociationOutput) GoString() string { - return s.String() -} - -type DeleteDocumentInput struct { - _ struct{} `type:"structure"` - - // The name of the document. - // - // Name is a required field - Name *string `type:"string" required:"true"` -} - -// String returns the string representation -func (s DeleteDocumentInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteDocumentInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDocumentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetName sets the Name field's value. -func (s *DeleteDocumentInput) SetName(v string) *DeleteDocumentInput { - s.Name = &v - return s -} - -type DeleteDocumentOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteDocumentOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteDocumentOutput) GoString() string { - return s.String() -} - -type DeleteInventoryInput struct { - _ struct{} `type:"structure"` - - // User-provided idempotency token. - ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` - - // Use this option to view a summary of the deletion request without deleting - // any data or the data type. This option is useful when you only want to understand - // what will be deleted. Once you validate that the data to be deleted is what - // you intend to delete, you can run the same command without specifying the - // DryRun option. - DryRun *bool `type:"boolean"` - - // Use the SchemaDeleteOption to delete a custom inventory type (schema). If - // you don't choose this option, the system only deletes existing inventory - // data associated with the custom inventory type. Choose one of the following - // options: - // - // DisableSchema: If you choose this option, the system ignores all inventory - // data for the specified version, and any earlier versions. To enable this - // schema again, you must call the PutInventory action for a version greater - // than the disbled version. - // - // DeleteSchema: This option deletes the specified custom type from the Inventory - // service. You can recreate the schema later, if you want. - SchemaDeleteOption *string `type:"string" enum:"InventorySchemaDeleteOption"` - - // The name of the custom inventory type for which you want to delete either - // all previously collected data, or the inventory type itself. - // - // TypeName is a required field - TypeName *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s DeleteInventoryInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteInventoryInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteInventoryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteInventoryInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 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 invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetClientToken sets the ClientToken field's value. -func (s *DeleteInventoryInput) SetClientToken(v string) *DeleteInventoryInput { - s.ClientToken = &v - return s -} - -// SetDryRun sets the DryRun field's value. -func (s *DeleteInventoryInput) SetDryRun(v bool) *DeleteInventoryInput { - s.DryRun = &v - return s -} - -// SetSchemaDeleteOption sets the SchemaDeleteOption field's value. -func (s *DeleteInventoryInput) SetSchemaDeleteOption(v string) *DeleteInventoryInput { - s.SchemaDeleteOption = &v - return s -} - -// SetTypeName sets the TypeName field's value. -func (s *DeleteInventoryInput) SetTypeName(v string) *DeleteInventoryInput { - s.TypeName = &v - return s -} - -type DeleteInventoryOutput struct { - _ struct{} `type:"structure"` - - // Every DeleteInventory action is assigned a unique ID. This option returns - // a unique ID. You can use this ID to query the status of a delete operation. - // This option is useful for ensuring that a delete operation has completed - // before you begin other actions. - DeletionId *string `type:"string"` - - // A summary of the delete operation. For more information about this summary, - // see Understanding the Delete Inventory Summary (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-delete.html#sysman-inventory-delete-summary) - // in the AWS Systems Manager User Guide. - DeletionSummary *InventoryDeletionSummary `type:"structure"` - - // The name of the inventory data type specified in the request. - TypeName *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s DeleteInventoryOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteInventoryOutput) GoString() string { - return s.String() -} - -// SetDeletionId sets the DeletionId field's value. -func (s *DeleteInventoryOutput) SetDeletionId(v string) *DeleteInventoryOutput { - s.DeletionId = &v - return s -} - -// SetDeletionSummary sets the DeletionSummary field's value. -func (s *DeleteInventoryOutput) SetDeletionSummary(v *InventoryDeletionSummary) *DeleteInventoryOutput { - s.DeletionSummary = v - return s -} - -// SetTypeName sets the TypeName field's value. -func (s *DeleteInventoryOutput) SetTypeName(v string) *DeleteInventoryOutput { - s.TypeName = &v - return s -} - -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 DeleteParametersInput struct { - _ struct{} `type:"structure"` - - // The names of the parameters to delete. - // - // Names is a required field - Names []*string `min:"1" type:"list" required:"true"` -} - -// String returns the string representation -func (s DeleteParametersInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteParametersInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteParametersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteParametersInput"} - 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 *DeleteParametersInput) SetNames(v []*string) *DeleteParametersInput { - s.Names = v - return s -} - -type DeleteParametersOutput struct { - _ struct{} `type:"structure"` - - // The names of the deleted parameters. - DeletedParameters []*string `min:"1" type:"list"` - - // The names of parameters that weren't deleted because the parameters are not - // valid. - InvalidParameters []*string `min:"1" type:"list"` -} - -// String returns the string representation -func (s DeleteParametersOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteParametersOutput) GoString() string { - return s.String() -} - -// SetDeletedParameters sets the DeletedParameters field's value. -func (s *DeleteParametersOutput) SetDeletedParameters(v []*string) *DeleteParametersOutput { - s.DeletedParameters = v - return s -} - -// SetInvalidParameters sets the InvalidParameters field's value. -func (s *DeleteParametersOutput) SetInvalidParameters(v []*string) *DeleteParametersOutput { - s.InvalidParameters = v - return s -} - -type DeletePatchBaselineInput struct { - _ struct{} `type:"structure"` - - // The ID of the patch baseline to delete. - // - // BaselineId is a required field - BaselineId *string `min:"20" type:"string" required:"true"` -} - -// String returns the string representation -func (s DeletePatchBaselineInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeletePatchBaselineInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeletePatchBaselineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeletePatchBaselineInput"} - if s.BaselineId == nil { - invalidParams.Add(request.NewErrParamRequired("BaselineId")) - } - if s.BaselineId != nil && len(*s.BaselineId) < 20 { - invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetBaselineId sets the BaselineId field's value. -func (s *DeletePatchBaselineInput) SetBaselineId(v string) *DeletePatchBaselineInput { - s.BaselineId = &v - return s -} - -type DeletePatchBaselineOutput struct { - _ struct{} `type:"structure"` - - // The ID of the deleted patch baseline. - BaselineId *string `min:"20" type:"string"` -} - -// String returns the string representation -func (s DeletePatchBaselineOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeletePatchBaselineOutput) GoString() string { - return s.String() -} - -// SetBaselineId sets the BaselineId field's value. -func (s *DeletePatchBaselineOutput) SetBaselineId(v string) *DeletePatchBaselineOutput { - s.BaselineId = &v - return s -} - -type DeleteResourceDataSyncInput struct { - _ struct{} `type:"structure"` - - // The name of the configuration to delete. - // - // SyncName is a required field - SyncName *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s DeleteResourceDataSyncInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteResourceDataSyncInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteResourceDataSyncInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteResourceDataSyncInput"} - if s.SyncName == nil { - invalidParams.Add(request.NewErrParamRequired("SyncName")) - } - if s.SyncName != nil && len(*s.SyncName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SyncName", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetSyncName sets the SyncName field's value. -func (s *DeleteResourceDataSyncInput) SetSyncName(v string) *DeleteResourceDataSyncInput { - s.SyncName = &v - return s -} - -type DeleteResourceDataSyncOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteResourceDataSyncOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteResourceDataSyncOutput) GoString() string { - return s.String() -} - -type DeregisterManagedInstanceInput struct { - _ struct{} `type:"structure"` - - // The ID assigned to the managed instance when you registered it using the - // activation process. - // - // InstanceId is a required field - InstanceId *string `type:"string" required:"true"` -} - -// String returns the string representation -func (s DeregisterManagedInstanceInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeregisterManagedInstanceInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeregisterManagedInstanceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeregisterManagedInstanceInput"} - if s.InstanceId == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceId")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetInstanceId sets the InstanceId field's value. -func (s *DeregisterManagedInstanceInput) SetInstanceId(v string) *DeregisterManagedInstanceInput { - s.InstanceId = &v - return s -} - -type DeregisterManagedInstanceOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeregisterManagedInstanceOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeregisterManagedInstanceOutput) GoString() string { - return s.String() -} - -type DeregisterPatchBaselineForPatchGroupInput struct { - _ struct{} `type:"structure"` - - // The ID of the patch baseline to deregister the patch group from. - // - // BaselineId is a required field - BaselineId *string `min:"20" type:"string" required:"true"` - - // The name of the patch group that should be deregistered from the patch baseline. - // - // PatchGroup is a required field - PatchGroup *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s DeregisterPatchBaselineForPatchGroupInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeregisterPatchBaselineForPatchGroupInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeregisterPatchBaselineForPatchGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeregisterPatchBaselineForPatchGroupInput"} - if s.BaselineId == nil { - invalidParams.Add(request.NewErrParamRequired("BaselineId")) - } - if s.BaselineId != nil && len(*s.BaselineId) < 20 { - invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20)) - } - if s.PatchGroup == nil { - invalidParams.Add(request.NewErrParamRequired("PatchGroup")) - } - if s.PatchGroup != nil && len(*s.PatchGroup) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetBaselineId sets the BaselineId field's value. -func (s *DeregisterPatchBaselineForPatchGroupInput) SetBaselineId(v string) *DeregisterPatchBaselineForPatchGroupInput { - s.BaselineId = &v - return s -} - -// SetPatchGroup sets the PatchGroup field's value. -func (s *DeregisterPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *DeregisterPatchBaselineForPatchGroupInput { - s.PatchGroup = &v - return s -} - -type DeregisterPatchBaselineForPatchGroupOutput struct { - _ struct{} `type:"structure"` - - // The ID of the patch baseline the patch group was deregistered from. - BaselineId *string `min:"20" type:"string"` - - // The name of the patch group deregistered from the patch baseline. - PatchGroup *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s DeregisterPatchBaselineForPatchGroupOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeregisterPatchBaselineForPatchGroupOutput) GoString() string { - return s.String() -} - -// SetBaselineId sets the BaselineId field's value. -func (s *DeregisterPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *DeregisterPatchBaselineForPatchGroupOutput { - s.BaselineId = &v - return s -} - -// SetPatchGroup sets the PatchGroup field's value. -func (s *DeregisterPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *DeregisterPatchBaselineForPatchGroupOutput { - s.PatchGroup = &v - return s -} - -type DeregisterTargetFromMaintenanceWindowInput struct { - _ struct{} `type:"structure"` - - // The system checks if the target is being referenced by a task. If the target - // is being referenced, the system returns an error and does not deregister - // the target from the Maintenance Window. - Safe *bool `type:"boolean"` - - // 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 -} - -// SetSafe sets the Safe field's value. -func (s *DeregisterTargetFromMaintenanceWindowInput) SetSafe(v bool) *DeregisterTargetFromMaintenanceWindowInput { - s.Safe = &v - return s -} - -// 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"` - - // The name of the filter. - FilterKey *string `type:"string" enum:"DescribeActivationsFilterKeys"` - - // The filter values. - FilterValues []*string `type:"list"` -} - -// String returns the string representation -func (s DescribeActivationsFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeActivationsFilter) GoString() string { - return s.String() -} - -// SetFilterKey sets the FilterKey field's value. -func (s *DescribeActivationsFilter) SetFilterKey(v string) *DescribeActivationsFilter { - s.FilterKey = &v - return s -} - -// SetFilterValues sets the FilterValues field's value. -func (s *DescribeActivationsFilter) SetFilterValues(v []*string) *DescribeActivationsFilter { - s.FilterValues = v - return s -} - -type DescribeActivationsInput struct { - _ struct{} `type:"structure"` - - // A filter to view information about your activations. - Filters []*DescribeActivationsFilter `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"` - - // A token to start the list. Use this token to get the next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s DescribeActivationsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeActivationsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeActivationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeActivationsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetFilters sets the Filters field's value. -func (s *DescribeActivationsInput) SetFilters(v []*DescribeActivationsFilter) *DescribeActivationsInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeActivationsInput) SetMaxResults(v int64) *DescribeActivationsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeActivationsInput) SetNextToken(v string) *DescribeActivationsInput { - s.NextToken = &v - return s -} - -type DescribeActivationsOutput struct { - _ struct{} `type:"structure"` - - // A list of activations for your AWS account. - ActivationList []*Activation `type:"list"` - - // The token for the next set of items to return. Use this token to get the - // next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s DescribeActivationsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeActivationsOutput) GoString() string { - return s.String() -} - -// SetActivationList sets the ActivationList field's value. -func (s *DescribeActivationsOutput) SetActivationList(v []*Activation) *DescribeActivationsOutput { - s.ActivationList = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeActivationsOutput) SetNextToken(v string) *DescribeActivationsOutput { - s.NextToken = &v - return s -} - -type DescribeAssociationExecutionTargetsInput struct { - _ struct{} `type:"structure"` - - // The association ID that includes the execution for which you want to view - // details. - // - // AssociationId is a required field - AssociationId *string `type:"string" required:"true"` - - // The execution ID for which you want to view details. - // - // ExecutionId is a required field - ExecutionId *string `type:"string" required:"true"` - - // Filters for the request. You can specify the following filters and values. - // - // Status (EQUAL) - // - // ResourceId (EQUAL) - // - // ResourceType (EQUAL) - Filters []*AssociationExecutionTargetsFilter `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"` - - // A token to start the list. Use this token to get the next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s DescribeAssociationExecutionTargetsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeAssociationExecutionTargetsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAssociationExecutionTargetsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAssociationExecutionTargetsInput"} - if s.AssociationId == nil { - invalidParams.Add(request.NewErrParamRequired("AssociationId")) - } - if s.ExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("ExecutionId")) - } - 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 -} - -// SetAssociationId sets the AssociationId field's value. -func (s *DescribeAssociationExecutionTargetsInput) SetAssociationId(v string) *DescribeAssociationExecutionTargetsInput { - s.AssociationId = &v - return s -} - -// SetExecutionId sets the ExecutionId field's value. -func (s *DescribeAssociationExecutionTargetsInput) SetExecutionId(v string) *DescribeAssociationExecutionTargetsInput { - s.ExecutionId = &v - return s -} - -// SetFilters sets the Filters field's value. -func (s *DescribeAssociationExecutionTargetsInput) SetFilters(v []*AssociationExecutionTargetsFilter) *DescribeAssociationExecutionTargetsInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeAssociationExecutionTargetsInput) SetMaxResults(v int64) *DescribeAssociationExecutionTargetsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeAssociationExecutionTargetsInput) SetNextToken(v string) *DescribeAssociationExecutionTargetsInput { - s.NextToken = &v - return s -} - -type DescribeAssociationExecutionTargetsOutput struct { - _ struct{} `type:"structure"` - - // Information about the execution. - AssociationExecutionTargets []*AssociationExecutionTarget `type:"list"` - - // The token for the next set of items to return. Use this token to get the - // next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s DescribeAssociationExecutionTargetsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeAssociationExecutionTargetsOutput) GoString() string { - return s.String() -} - -// SetAssociationExecutionTargets sets the AssociationExecutionTargets field's value. -func (s *DescribeAssociationExecutionTargetsOutput) SetAssociationExecutionTargets(v []*AssociationExecutionTarget) *DescribeAssociationExecutionTargetsOutput { - s.AssociationExecutionTargets = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeAssociationExecutionTargetsOutput) SetNextToken(v string) *DescribeAssociationExecutionTargetsOutput { - s.NextToken = &v - return s -} - -type DescribeAssociationExecutionsInput struct { - _ struct{} `type:"structure"` - - // The association ID for which you want to view execution history details. - // - // AssociationId is a required field - AssociationId *string `type:"string" required:"true"` - - // Filters for the request. You can specify the following filters and values. - // - // ExecutionId (EQUAL) - // - // Status (EQUAL) - // - // CreatedTime (EQUAL, GREATER_THAN, LESS_THAN) - Filters []*AssociationExecutionFilter `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"` - - // A token to start the list. Use this token to get the next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s DescribeAssociationExecutionsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeAssociationExecutionsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAssociationExecutionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAssociationExecutionsInput"} - if s.AssociationId == nil { - invalidParams.Add(request.NewErrParamRequired("AssociationId")) - } - 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 -} - -// SetAssociationId sets the AssociationId field's value. -func (s *DescribeAssociationExecutionsInput) SetAssociationId(v string) *DescribeAssociationExecutionsInput { - s.AssociationId = &v - return s -} - -// SetFilters sets the Filters field's value. -func (s *DescribeAssociationExecutionsInput) SetFilters(v []*AssociationExecutionFilter) *DescribeAssociationExecutionsInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeAssociationExecutionsInput) SetMaxResults(v int64) *DescribeAssociationExecutionsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeAssociationExecutionsInput) SetNextToken(v string) *DescribeAssociationExecutionsInput { - s.NextToken = &v - return s -} - -type DescribeAssociationExecutionsOutput struct { - _ struct{} `type:"structure"` - - // A list of the executions for the specified association ID. - AssociationExecutions []*AssociationExecution `type:"list"` - - // The token for the next set of items to return. Use this token to get the - // next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s DescribeAssociationExecutionsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeAssociationExecutionsOutput) GoString() string { - return s.String() -} - -// SetAssociationExecutions sets the AssociationExecutions field's value. -func (s *DescribeAssociationExecutionsOutput) SetAssociationExecutions(v []*AssociationExecution) *DescribeAssociationExecutionsOutput { - s.AssociationExecutions = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeAssociationExecutionsOutput) SetNextToken(v string) *DescribeAssociationExecutionsOutput { - s.NextToken = &v - return s -} - -type DescribeAssociationInput struct { - _ struct{} `type:"structure"` - - // The association ID for which you want information. - AssociationId *string `type:"string"` - - // Specify the association version to retrieve. To view the latest version, - // either specify $LATEST for this parameter, or omit this parameter. To view - // a list of all associations for an instance, use ListInstanceAssociations. - // To get a list of versions for a specific association, use ListAssociationVersions. - AssociationVersion *string `type:"string"` - - // The instance ID. - InstanceId *string `type:"string"` - - // The name of the Systems Manager document. - Name *string `type:"string"` -} - -// String returns the string representation -func (s DescribeAssociationInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeAssociationInput) GoString() string { - return s.String() -} - -// SetAssociationId sets the AssociationId field's value. -func (s *DescribeAssociationInput) SetAssociationId(v string) *DescribeAssociationInput { - s.AssociationId = &v - return s -} - -// SetAssociationVersion sets the AssociationVersion field's value. -func (s *DescribeAssociationInput) SetAssociationVersion(v string) *DescribeAssociationInput { - s.AssociationVersion = &v - return s -} - -// SetInstanceId sets the InstanceId field's value. -func (s *DescribeAssociationInput) SetInstanceId(v string) *DescribeAssociationInput { - s.InstanceId = &v - return s -} - -// SetName sets the Name field's value. -func (s *DescribeAssociationInput) SetName(v string) *DescribeAssociationInput { - s.Name = &v - return s -} - -type DescribeAssociationOutput struct { - _ struct{} `type:"structure"` - - // Information about the association. - AssociationDescription *AssociationDescription `type:"structure"` -} - -// String returns the string representation -func (s DescribeAssociationOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeAssociationOutput) GoString() string { - return s.String() -} - -// SetAssociationDescription sets the AssociationDescription field's value. -func (s *DescribeAssociationOutput) SetAssociationDescription(v *AssociationDescription) *DescribeAssociationOutput { - s.AssociationDescription = v - 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 DescribeAutomationStepExecutionsInput struct { - _ struct{} `type:"structure"` - - // The Automation execution ID for which you want step execution descriptions. - // - // AutomationExecutionId is a required field - AutomationExecutionId *string `min:"36" type:"string" required:"true"` - - // One or more filters to limit the number of step executions returned by the - // request. - Filters []*StepExecutionFilter `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"` - - // A boolean that indicates whether to list step executions in reverse order - // by start time. The default value is false. - ReverseOrder *bool `type:"boolean"` -} - -// String returns the string representation -func (s DescribeAutomationStepExecutionsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeAutomationStepExecutionsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAutomationStepExecutionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAutomationStepExecutionsInput"} - if s.AutomationExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId")) - } - if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36)) - } - 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 -} - -// SetAutomationExecutionId sets the AutomationExecutionId field's value. -func (s *DescribeAutomationStepExecutionsInput) SetAutomationExecutionId(v string) *DescribeAutomationStepExecutionsInput { - s.AutomationExecutionId = &v - return s -} - -// SetFilters sets the Filters field's value. -func (s *DescribeAutomationStepExecutionsInput) SetFilters(v []*StepExecutionFilter) *DescribeAutomationStepExecutionsInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeAutomationStepExecutionsInput) SetMaxResults(v int64) *DescribeAutomationStepExecutionsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeAutomationStepExecutionsInput) SetNextToken(v string) *DescribeAutomationStepExecutionsInput { - s.NextToken = &v - return s -} - -// SetReverseOrder sets the ReverseOrder field's value. -func (s *DescribeAutomationStepExecutionsInput) SetReverseOrder(v bool) *DescribeAutomationStepExecutionsInput { - s.ReverseOrder = &v - return s -} - -type DescribeAutomationStepExecutionsOutput 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 details about the current state of all steps that make up an execution. - StepExecutions []*StepExecution `type:"list"` -} - -// String returns the string representation -func (s DescribeAutomationStepExecutionsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeAutomationStepExecutionsOutput) GoString() string { - return s.String() -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeAutomationStepExecutionsOutput) SetNextToken(v string) *DescribeAutomationStepExecutionsOutput { - s.NextToken = &v - return s -} - -// SetStepExecutions sets the StepExecutions field's value. -func (s *DescribeAutomationStepExecutionsOutput) SetStepExecutions(v []*StepExecution) *DescribeAutomationStepExecutionsOutput { - s.StepExecutions = v - return s -} - -type DescribeAvailablePatchesInput struct { - _ struct{} `type:"structure"` - - // Filters used to scope down the returned patches. - Filters []*PatchOrchestratorFilter `type:"list"` - - // The maximum number of patches to return (per page). - 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 DescribeAvailablePatchesInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeAvailablePatchesInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAvailablePatchesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAvailablePatchesInput"} - 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 *DescribeAvailablePatchesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeAvailablePatchesInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeAvailablePatchesInput) SetMaxResults(v int64) *DescribeAvailablePatchesInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeAvailablePatchesInput) SetNextToken(v string) *DescribeAvailablePatchesInput { - s.NextToken = &v - return s -} - -type DescribeAvailablePatchesOutput 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"` - - // An array of patches. Each entry in the array is a patch structure. - Patches []*Patch `type:"list"` -} - -// String returns the string representation -func (s DescribeAvailablePatchesOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeAvailablePatchesOutput) GoString() string { - return s.String() -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeAvailablePatchesOutput) SetNextToken(v string) *DescribeAvailablePatchesOutput { - s.NextToken = &v - return s -} - -// SetPatches sets the Patches field's value. -func (s *DescribeAvailablePatchesOutput) SetPatches(v []*Patch) *DescribeAvailablePatchesOutput { - s.Patches = 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 Systems Manager document. - // - // Name is a required field - Name *string `type:"string" required:"true"` - - // An optional field specifying the version of the artifact associated with - // the document. For example, "Release 12, Update 6". This value is unique across - // all versions of a document, and cannot be changed. - VersionName *string `type:"string"` -} - -// String returns the string representation -func (s DescribeDocumentInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeDocumentInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDocumentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentInput"} - 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 *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 - return s -} - -// SetVersionName sets the VersionName field's value. -func (s *DescribeDocumentInput) SetVersionName(v string) *DescribeDocumentInput { - s.VersionName = &v - return s -} - -type DescribeDocumentOutput struct { - _ struct{} `type:"structure"` - - // Information about the Systems Manager document. - Document *DocumentDescription `type:"structure"` -} - -// String returns the string representation -func (s DescribeDocumentOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeDocumentOutput) GoString() string { - return s.String() -} - -// SetDocument sets the Document field's value. -func (s *DescribeDocumentOutput) SetDocument(v *DocumentDescription) *DescribeDocumentOutput { - s.Document = v - return s -} - -type DescribeDocumentPermissionInput struct { - _ struct{} `type:"structure"` - - // The name of the document for which you are the owner. - // - // Name is a required field - Name *string `type:"string" required:"true"` - - // The permission type for the document. The permission type can be Share. - // - // PermissionType is a required field - PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"` -} - -// String returns the string representation -func (s DescribeDocumentPermissionInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeDocumentPermissionInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDocumentPermissionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentPermissionInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.PermissionType == nil { - invalidParams.Add(request.NewErrParamRequired("PermissionType")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetName sets the Name field's value. -func (s *DescribeDocumentPermissionInput) SetName(v string) *DescribeDocumentPermissionInput { - s.Name = &v - return s -} - -// SetPermissionType sets the PermissionType field's value. -func (s *DescribeDocumentPermissionInput) SetPermissionType(v string) *DescribeDocumentPermissionInput { - s.PermissionType = &v - return s -} - -type DescribeDocumentPermissionOutput struct { - _ struct{} `type:"structure"` - - // The account IDs that have permission to use this document. The ID can be - // either an AWS account or All. - AccountIds []*string `type:"list"` -} - -// String returns the string representation -func (s DescribeDocumentPermissionOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeDocumentPermissionOutput) GoString() string { - return s.String() -} - -// SetAccountIds sets the AccountIds field's value. -func (s *DescribeDocumentPermissionOutput) SetAccountIds(v []*string) *DescribeDocumentPermissionOutput { - s.AccountIds = v - 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 DescribeEffectivePatchesForPatchBaselineInput struct { - _ struct{} `type:"structure"` - - // The ID of the patch baseline to retrieve the effective patches for. - // - // BaselineId is a required field - BaselineId *string `min:"20" type:"string" required:"true"` - - // The maximum number of patches to return (per page). - 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 DescribeEffectivePatchesForPatchBaselineInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeEffectivePatchesForPatchBaselineInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeEffectivePatchesForPatchBaselineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeEffectivePatchesForPatchBaselineInput"} - if s.BaselineId == nil { - invalidParams.Add(request.NewErrParamRequired("BaselineId")) - } - if s.BaselineId != nil && len(*s.BaselineId) < 20 { - invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetBaselineId sets the BaselineId field's value. -func (s *DescribeEffectivePatchesForPatchBaselineInput) SetBaselineId(v string) *DescribeEffectivePatchesForPatchBaselineInput { - s.BaselineId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeEffectivePatchesForPatchBaselineInput) SetMaxResults(v int64) *DescribeEffectivePatchesForPatchBaselineInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeEffectivePatchesForPatchBaselineInput) SetNextToken(v string) *DescribeEffectivePatchesForPatchBaselineInput { - s.NextToken = &v - return s -} - -type DescribeEffectivePatchesForPatchBaselineOutput struct { - _ struct{} `type:"structure"` - - // An array of patches and patch status. - EffectivePatches []*EffectivePatch `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 DescribeEffectivePatchesForPatchBaselineOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeEffectivePatchesForPatchBaselineOutput) GoString() string { - return s.String() -} - -// SetEffectivePatches sets the EffectivePatches field's value. -func (s *DescribeEffectivePatchesForPatchBaselineOutput) SetEffectivePatches(v []*EffectivePatch) *DescribeEffectivePatchesForPatchBaselineOutput { - s.EffectivePatches = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeEffectivePatchesForPatchBaselineOutput) SetNextToken(v string) *DescribeEffectivePatchesForPatchBaselineOutput { - 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. - // You can filter on Amazon EC2 tag. Specify tags by using a key-value mapping. - Filters []*InstanceInformationStringFilter `type:"list"` - - // This is a legacy method. We recommend that you don't use this method. Instead, - // use the InstanceInformationFilter action. The InstanceInformationFilter action - // enables you to return instance information by using tags that are specified - // as a key-value mapping. - // - // If you do use this method, then you can't use the InstanceInformationFilter - // action. Using this method and the InstanceInformationFilter action causes - // an exception error. - InstanceInformationFilterList []*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 - // results. - MaxResults *int64 `min:"5" 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 DescribeInstanceInformationInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeInstanceInformationInput) GoString() string { - return s.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.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 { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceInformationFilterList", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - 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 - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeInstanceInformationInput) SetMaxResults(v int64) *DescribeInstanceInformationInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeInstanceInformationInput) SetNextToken(v string) *DescribeInstanceInformationInput { - s.NextToken = &v - return s -} - -type DescribeInstanceInformationOutput struct { - _ struct{} `type:"structure"` - - // The instance information list. - InstanceInformationList []*InstanceInformation `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 DescribeInstanceInformationOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeInstanceInformationOutput) GoString() string { - return s.String() -} - -// SetInstanceInformationList sets the InstanceInformationList field's value. -func (s *DescribeInstanceInformationOutput) SetInstanceInformationList(v []*InstanceInformation) *DescribeInstanceInformationOutput { - s.InstanceInformationList = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeInstanceInformationOutput) SetNextToken(v string) *DescribeInstanceInformationOutput { - s.NextToken = &v - return s -} - -type DescribeInstancePatchStatesForPatchGroupInput struct { - _ struct{} `type:"structure"` - - // Each entry in the array is a structure containing: - // - // Key (string between 1 and 200 characters) - // - // Values (array containing a single string) - // - // Type (string "Equal", "NotEqual", "LessThan", "GreaterThan") - Filters []*InstancePatchStateFilter `type:"list"` - - // The maximum number of patches to return (per page). - 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 name of the patch group for which the patch state information should - // be retrieved. - // - // PatchGroup is a required field - PatchGroup *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s DescribeInstancePatchStatesForPatchGroupInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeInstancePatchStatesForPatchGroupInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeInstancePatchStatesForPatchGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchStatesForPatchGroupInput"} - if s.MaxResults != nil && *s.MaxResults < 10 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10)) - } - if s.PatchGroup == nil { - invalidParams.Add(request.NewErrParamRequired("PatchGroup")) - } - if s.PatchGroup != nil && len(*s.PatchGroup) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 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 *DescribeInstancePatchStatesForPatchGroupInput) SetFilters(v []*InstancePatchStateFilter) *DescribeInstancePatchStatesForPatchGroupInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeInstancePatchStatesForPatchGroupInput) SetMaxResults(v int64) *DescribeInstancePatchStatesForPatchGroupInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeInstancePatchStatesForPatchGroupInput) SetNextToken(v string) *DescribeInstancePatchStatesForPatchGroupInput { - s.NextToken = &v - return s -} - -// SetPatchGroup sets the PatchGroup field's value. -func (s *DescribeInstancePatchStatesForPatchGroupInput) SetPatchGroup(v string) *DescribeInstancePatchStatesForPatchGroupInput { - s.PatchGroup = &v - return s -} - -type DescribeInstancePatchStatesForPatchGroupOutput struct { - _ struct{} `type:"structure"` - - // The high-level patch state for the requested instances. - InstancePatchStates []*InstancePatchState `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 DescribeInstancePatchStatesForPatchGroupOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeInstancePatchStatesForPatchGroupOutput) GoString() string { - return s.String() -} - -// SetInstancePatchStates sets the InstancePatchStates field's value. -func (s *DescribeInstancePatchStatesForPatchGroupOutput) SetInstancePatchStates(v []*InstancePatchState) *DescribeInstancePatchStatesForPatchGroupOutput { - s.InstancePatchStates = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeInstancePatchStatesForPatchGroupOutput) SetNextToken(v string) *DescribeInstancePatchStatesForPatchGroupOutput { - s.NextToken = &v - return s -} - -type DescribeInstancePatchStatesInput struct { - _ struct{} `type:"structure"` - - // The ID of the instance whose patch state information should be retrieved. - // - // InstanceIds is a required field - InstanceIds []*string `type:"list" required:"true"` - - // The maximum number of instances to return (per page). - 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 DescribeInstancePatchStatesInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeInstancePatchStatesInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeInstancePatchStatesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchStatesInput"} - if s.InstanceIds == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceIds")) - } - if s.MaxResults != nil && *s.MaxResults < 10 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetInstanceIds sets the InstanceIds field's value. -func (s *DescribeInstancePatchStatesInput) SetInstanceIds(v []*string) *DescribeInstancePatchStatesInput { - s.InstanceIds = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeInstancePatchStatesInput) SetMaxResults(v int64) *DescribeInstancePatchStatesInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeInstancePatchStatesInput) SetNextToken(v string) *DescribeInstancePatchStatesInput { - s.NextToken = &v - return s -} - -type DescribeInstancePatchStatesOutput struct { - _ struct{} `type:"structure"` - - // The high-level patch state for the requested instances. - InstancePatchStates []*InstancePatchState `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 DescribeInstancePatchStatesOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeInstancePatchStatesOutput) GoString() string { - return s.String() -} - -// SetInstancePatchStates sets the InstancePatchStates field's value. -func (s *DescribeInstancePatchStatesOutput) SetInstancePatchStates(v []*InstancePatchState) *DescribeInstancePatchStatesOutput { - s.InstancePatchStates = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeInstancePatchStatesOutput) SetNextToken(v string) *DescribeInstancePatchStatesOutput { - s.NextToken = &v - return s -} - -type DescribeInstancePatchesInput struct { - _ struct{} `type:"structure"` - - // Each entry in the array is a structure containing: - // - // Key (string, between 1 and 128 characters) - // - // Values (array of strings, each string between 1 and 256 characters) - Filters []*PatchOrchestratorFilter `type:"list"` - - // The ID of the instance whose patch state information should be retrieved. - // - // InstanceId is a required field - InstanceId *string `type:"string" required:"true"` - - // The maximum number of patches to return (per page). - 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 DescribeInstancePatchesInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeInstancePatchesInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeInstancePatchesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchesInput"} - if s.InstanceId == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceId")) - } - 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 *DescribeInstancePatchesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeInstancePatchesInput { - s.Filters = v - return s -} - -// SetInstanceId sets the InstanceId field's value. -func (s *DescribeInstancePatchesInput) SetInstanceId(v string) *DescribeInstancePatchesInput { - s.InstanceId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeInstancePatchesInput) SetMaxResults(v int64) *DescribeInstancePatchesInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeInstancePatchesInput) SetNextToken(v string) *DescribeInstancePatchesInput { - s.NextToken = &v - return s -} - -type DescribeInstancePatchesOutput 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"` - - // Each entry in the array is a structure containing: - // - // Title (string) - // - // KBId (string) - // - // Classification (string) - // - // Severity (string) - // - // State (string, such as "INSTALLED" or "FAILED") - // - // InstalledTime (DateTime) - // - // InstalledBy (string) - Patches []*PatchComplianceData `type:"list"` -} - -// String returns the string representation -func (s DescribeInstancePatchesOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeInstancePatchesOutput) GoString() string { - return s.String() -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeInstancePatchesOutput) SetNextToken(v string) *DescribeInstancePatchesOutput { - s.NextToken = &v - return s -} - -// SetPatches sets the Patches field's value. -func (s *DescribeInstancePatchesOutput) SetPatches(v []*PatchComplianceData) *DescribeInstancePatchesOutput { - s.Patches = v - return s -} - -type DescribeInventoryDeletionsInput struct { - _ struct{} `type:"structure"` - - // Specify the delete inventory ID for which you want information. This ID was - // returned by the DeleteInventory action. - DeletionId *string `type:"string"` - - // 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"` - - // A token to start the list. Use this token to get the next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s DescribeInventoryDeletionsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeInventoryDeletionsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeInventoryDeletionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeInventoryDeletionsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDeletionId sets the DeletionId field's value. -func (s *DescribeInventoryDeletionsInput) SetDeletionId(v string) *DescribeInventoryDeletionsInput { - s.DeletionId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeInventoryDeletionsInput) SetMaxResults(v int64) *DescribeInventoryDeletionsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeInventoryDeletionsInput) SetNextToken(v string) *DescribeInventoryDeletionsInput { - s.NextToken = &v - return s -} - -type DescribeInventoryDeletionsOutput struct { - _ struct{} `type:"structure"` - - // A list of status items for deleted inventory. - InventoryDeletions []*InventoryDeletionStatusItem `type:"list"` - - // The token for the next set of items to return. Use this token to get the - // next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s DescribeInventoryDeletionsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeInventoryDeletionsOutput) GoString() string { - return s.String() -} - -// SetInventoryDeletions sets the InventoryDeletions field's value. -func (s *DescribeInventoryDeletionsOutput) SetInventoryDeletions(v []*InventoryDeletionStatusItem) *DescribeInventoryDeletionsOutput { - s.InventoryDeletions = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeInventoryDeletionsOutput) SetNextToken(v string) *DescribeInventoryDeletionsOutput { - s.NextToken = &v - 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, between 1 and 128 characters) - // - // Values (array of strings, each string is between 1 and 256 characters) - // - // 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 DescribeMaintenanceWindowScheduleInput struct { - _ struct{} `type:"structure"` - - // Filters used to limit the range of results. For example, you can limit Maintenance - // Window executions to only those scheduled before or after a certain date - // and time. - Filters []*PatchOrchestratorFilter `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 type of resource you want to retrieve information about. For example, - // "INSTANCE". - ResourceType *string `type:"string" enum:"MaintenanceWindowResourceType"` - - // The instance ID or key/value pair to retrieve information about. - Targets []*Target `type:"list"` - - // The ID of the Maintenance Window to retrieve information about. - WindowId *string `min:"20" type:"string"` -} - -// String returns the string representation -func (s DescribeMaintenanceWindowScheduleInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeMaintenanceWindowScheduleInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeMaintenanceWindowScheduleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowScheduleInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - 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 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 -} - -// SetFilters sets the Filters field's value. -func (s *DescribeMaintenanceWindowScheduleInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeMaintenanceWindowScheduleInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeMaintenanceWindowScheduleInput) SetMaxResults(v int64) *DescribeMaintenanceWindowScheduleInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeMaintenanceWindowScheduleInput) SetNextToken(v string) *DescribeMaintenanceWindowScheduleInput { - s.NextToken = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *DescribeMaintenanceWindowScheduleInput) SetResourceType(v string) *DescribeMaintenanceWindowScheduleInput { - s.ResourceType = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *DescribeMaintenanceWindowScheduleInput) SetTargets(v []*Target) *DescribeMaintenanceWindowScheduleInput { - s.Targets = v - return s -} - -// SetWindowId sets the WindowId field's value. -func (s *DescribeMaintenanceWindowScheduleInput) SetWindowId(v string) *DescribeMaintenanceWindowScheduleInput { - s.WindowId = &v - return s -} - -type DescribeMaintenanceWindowScheduleOutput struct { - _ struct{} `type:"structure"` - - // The token for the next set of items to return. (You use this token in the - // next call.) - NextToken *string `type:"string"` - - // Information about Maintenance Window executions scheduled for the specified - // time range. - ScheduledWindowExecutions []*ScheduledWindowExecution `type:"list"` -} - -// String returns the string representation -func (s DescribeMaintenanceWindowScheduleOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeMaintenanceWindowScheduleOutput) GoString() string { - return s.String() -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeMaintenanceWindowScheduleOutput) SetNextToken(v string) *DescribeMaintenanceWindowScheduleOutput { - s.NextToken = &v - return s -} - -// SetScheduledWindowExecutions sets the ScheduledWindowExecutions field's value. -func (s *DescribeMaintenanceWindowScheduleOutput) SetScheduledWindowExecutions(v []*ScheduledWindowExecution) *DescribeMaintenanceWindowScheduleOutput { - s.ScheduledWindowExecutions = 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 DescribeMaintenanceWindowsForTargetInput 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 token for the next set of items to return. (You received this token from - // a previous call.) - NextToken *string `type:"string"` - - // The type of resource you want to retrieve information about. For example, - // "INSTANCE". - // - // ResourceType is a required field - ResourceType *string `type:"string" required:"true" enum:"MaintenanceWindowResourceType"` - - // The instance ID or key/value pair to retrieve information about. - // - // Targets is a required field - Targets []*Target `type:"list" required:"true"` -} - -// String returns the string representation -func (s DescribeMaintenanceWindowsForTargetInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeMaintenanceWindowsForTargetInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeMaintenanceWindowsForTargetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowsForTargetInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.ResourceType == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceType")) - } - if s.Targets == nil { - invalidParams.Add(request.NewErrParamRequired("Targets")) - } - 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 -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeMaintenanceWindowsForTargetInput) SetMaxResults(v int64) *DescribeMaintenanceWindowsForTargetInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeMaintenanceWindowsForTargetInput) SetNextToken(v string) *DescribeMaintenanceWindowsForTargetInput { - s.NextToken = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *DescribeMaintenanceWindowsForTargetInput) SetResourceType(v string) *DescribeMaintenanceWindowsForTargetInput { - s.ResourceType = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *DescribeMaintenanceWindowsForTargetInput) SetTargets(v []*Target) *DescribeMaintenanceWindowsForTargetInput { - s.Targets = v - return s -} - -type DescribeMaintenanceWindowsForTargetOutput struct { - _ struct{} `type:"structure"` - - // The token for the next set of items to return. (You use this token in the - // next call.) - NextToken *string `type:"string"` - - // Information about the Maintenance Window targets and tasks an instance is - // associated with. - WindowIdentities []*MaintenanceWindowIdentityForTarget `type:"list"` -} - -// String returns the string representation -func (s DescribeMaintenanceWindowsForTargetOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeMaintenanceWindowsForTargetOutput) GoString() string { - return s.String() -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeMaintenanceWindowsForTargetOutput) SetNextToken(v string) *DescribeMaintenanceWindowsForTargetOutput { - s.NextToken = &v - return s -} - -// SetWindowIdentities sets the WindowIdentities field's value. -func (s *DescribeMaintenanceWindowsForTargetOutput) SetWindowIdentities(v []*MaintenanceWindowIdentityForTarget) *DescribeMaintenanceWindowsForTargetOutput { - s.WindowIdentities = 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"` - - // Filters to limit the request results. - ParameterFilters []*ParameterStringFilter `type:"list"` -} - -// 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 s.ParameterFilters != nil { - for i, v := range s.ParameterFilters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterFilters", 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 -} - -// SetParameterFilters sets the ParameterFilters field's value. -func (s *DescribeParametersInput) SetParameterFilters(v []*ParameterStringFilter) *DescribeParametersInput { - s.ParameterFilters = 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 -} - -type DescribePatchBaselinesInput struct { - _ struct{} `type:"structure"` - - // Each element in the array is a structure containing: - // - // Key: (string, "NAME_PREFIX" or "OWNER") - // - // Value: (array of strings, exactly 1 entry, between 1 and 255 characters) - Filters []*PatchOrchestratorFilter `type:"list"` - - // The maximum number of patch baselines to return (per page). - 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 DescribePatchBaselinesInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribePatchBaselinesInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribePatchBaselinesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribePatchBaselinesInput"} - 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 *DescribePatchBaselinesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribePatchBaselinesInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribePatchBaselinesInput) SetMaxResults(v int64) *DescribePatchBaselinesInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribePatchBaselinesInput) SetNextToken(v string) *DescribePatchBaselinesInput { - s.NextToken = &v - return s -} - -type DescribePatchBaselinesOutput struct { - _ struct{} `type:"structure"` - - // An array of PatchBaselineIdentity elements. - BaselineIdentities []*PatchBaselineIdentity `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 DescribePatchBaselinesOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribePatchBaselinesOutput) GoString() string { - return s.String() -} - -// SetBaselineIdentities sets the BaselineIdentities field's value. -func (s *DescribePatchBaselinesOutput) SetBaselineIdentities(v []*PatchBaselineIdentity) *DescribePatchBaselinesOutput { - s.BaselineIdentities = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribePatchBaselinesOutput) SetNextToken(v string) *DescribePatchBaselinesOutput { - s.NextToken = &v - return s -} - -type DescribePatchGroupStateInput struct { - _ struct{} `type:"structure"` - - // The name of the patch group whose patch snapshot should be retrieved. - // - // PatchGroup is a required field - PatchGroup *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s DescribePatchGroupStateInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribePatchGroupStateInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribePatchGroupStateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribePatchGroupStateInput"} - if s.PatchGroup == nil { - invalidParams.Add(request.NewErrParamRequired("PatchGroup")) - } - if s.PatchGroup != nil && len(*s.PatchGroup) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetPatchGroup sets the PatchGroup field's value. -func (s *DescribePatchGroupStateInput) SetPatchGroup(v string) *DescribePatchGroupStateInput { - s.PatchGroup = &v - return s -} - -type DescribePatchGroupStateOutput struct { - _ struct{} `type:"structure"` - - // The number of instances in the patch group. - Instances *int64 `type:"integer"` - - // The number of instances with patches from the patch baseline that failed - // to install. - InstancesWithFailedPatches *int64 `type:"integer"` - - // The number of instances with patches installed that aren't defined in the - // patch baseline. - InstancesWithInstalledOtherPatches *int64 `type:"integer"` - - // The number of instances with installed patches. - InstancesWithInstalledPatches *int64 `type:"integer"` - - // The number of instances with patches installed that are specified in a RejectedPatches - // list. Patches with a status of INSTALLED_REJECTED were typically installed - // before they were added to a RejectedPatches list. - // - // If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction, - // the value of InstancesWithInstalledRejectedPatches will always be 0 (zero). - InstancesWithInstalledRejectedPatches *int64 `type:"integer"` - - // The number of instances with missing patches from the patch baseline. - InstancesWithMissingPatches *int64 `type:"integer"` - - // The number of instances with patches that aren't applicable. - InstancesWithNotApplicablePatches *int64 `type:"integer"` -} - -// String returns the string representation -func (s DescribePatchGroupStateOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribePatchGroupStateOutput) GoString() string { - return s.String() -} - -// SetInstances sets the Instances field's value. -func (s *DescribePatchGroupStateOutput) SetInstances(v int64) *DescribePatchGroupStateOutput { - s.Instances = &v - return s -} - -// SetInstancesWithFailedPatches sets the InstancesWithFailedPatches field's value. -func (s *DescribePatchGroupStateOutput) SetInstancesWithFailedPatches(v int64) *DescribePatchGroupStateOutput { - s.InstancesWithFailedPatches = &v - return s -} - -// SetInstancesWithInstalledOtherPatches sets the InstancesWithInstalledOtherPatches field's value. -func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledOtherPatches(v int64) *DescribePatchGroupStateOutput { - s.InstancesWithInstalledOtherPatches = &v - return s -} - -// SetInstancesWithInstalledPatches sets the InstancesWithInstalledPatches field's value. -func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledPatches(v int64) *DescribePatchGroupStateOutput { - s.InstancesWithInstalledPatches = &v - return s -} - -// SetInstancesWithInstalledRejectedPatches sets the InstancesWithInstalledRejectedPatches field's value. -func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledRejectedPatches(v int64) *DescribePatchGroupStateOutput { - s.InstancesWithInstalledRejectedPatches = &v - return s -} - -// SetInstancesWithMissingPatches sets the InstancesWithMissingPatches field's value. -func (s *DescribePatchGroupStateOutput) SetInstancesWithMissingPatches(v int64) *DescribePatchGroupStateOutput { - s.InstancesWithMissingPatches = &v - return s -} - -// SetInstancesWithNotApplicablePatches sets the InstancesWithNotApplicablePatches field's value. -func (s *DescribePatchGroupStateOutput) SetInstancesWithNotApplicablePatches(v int64) *DescribePatchGroupStateOutput { - s.InstancesWithNotApplicablePatches = &v - return s -} - -type DescribePatchGroupsInput struct { - _ struct{} `type:"structure"` - - // One or more filters. Use a filter to return a more specific list of results. - Filters []*PatchOrchestratorFilter `type:"list"` - - // The maximum number of patch groups to return (per page). - 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 DescribePatchGroupsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribePatchGroupsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribePatchGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribePatchGroupsInput"} - 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 *DescribePatchGroupsInput) SetFilters(v []*PatchOrchestratorFilter) *DescribePatchGroupsInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribePatchGroupsInput) SetMaxResults(v int64) *DescribePatchGroupsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribePatchGroupsInput) SetNextToken(v string) *DescribePatchGroupsInput { - s.NextToken = &v - return s -} - -type DescribePatchGroupsOutput struct { - _ struct{} `type:"structure"` - - // Each entry in the array contains: - // - // PatchGroup: string (between 1 and 256 characters, Regex: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$) - // - // PatchBaselineIdentity: A PatchBaselineIdentity element. - Mappings []*PatchGroupPatchBaselineMapping `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 DescribePatchGroupsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribePatchGroupsOutput) GoString() string { - return s.String() -} - -// SetMappings sets the Mappings field's value. -func (s *DescribePatchGroupsOutput) SetMappings(v []*PatchGroupPatchBaselineMapping) *DescribePatchGroupsOutput { - s.Mappings = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribePatchGroupsOutput) SetNextToken(v string) *DescribePatchGroupsOutput { - s.NextToken = &v - return s -} - -type DescribeSessionsInput struct { - _ struct{} `type:"structure"` - - // One or more filters to limit the type of sessions returned by the request. - Filters []*SessionFilter `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 session status to retrieve a list of sessions for. For example, "Active". - // - // State is a required field - State *string `type:"string" required:"true" enum:"SessionState"` -} - -// String returns the string representation -func (s DescribeSessionsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeSessionsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeSessionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeSessionsInput"} - 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.State == nil { - invalidParams.Add(request.NewErrParamRequired("State")) - } - 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 *DescribeSessionsInput) SetFilters(v []*SessionFilter) *DescribeSessionsInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeSessionsInput) SetMaxResults(v int64) *DescribeSessionsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeSessionsInput) SetNextToken(v string) *DescribeSessionsInput { - s.NextToken = &v - return s -} - -// SetState sets the State field's value. -func (s *DescribeSessionsInput) SetState(v string) *DescribeSessionsInput { - s.State = &v - return s -} - -type DescribeSessionsOutput struct { - _ struct{} `type:"structure"` - - // The token for the next set of items to return. (You received this token from - // a previous call.) - NextToken *string `type:"string"` - - // A list of sessions meeting the request parameters. - Sessions []*Session `type:"list"` -} - -// String returns the string representation -func (s DescribeSessionsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DescribeSessionsOutput) GoString() string { - return s.String() -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeSessionsOutput) SetNextToken(v string) *DescribeSessionsOutput { - s.NextToken = &v - return s -} - -// SetSessions sets the Sessions field's value. -func (s *DescribeSessionsOutput) SetSessions(v []*Session) *DescribeSessionsOutput { - s.Sessions = 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 default version of the artifact associated with the document. - DefaultVersionName *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 -} - -// SetDefaultVersionName sets the DefaultVersionName field's value. -func (s *DocumentDefaultVersionDescription) SetDefaultVersionName(v string) *DocumentDefaultVersionDescription { - s.DefaultVersionName = &v - return s -} - -// SetName sets the Name field's value. -func (s *DocumentDefaultVersionDescription) SetName(v string) *DocumentDefaultVersionDescription { - s.Name = &v - return s -} - -// Describes a Systems Manager document. -type DocumentDescription struct { - _ struct{} `type:"structure"` - - // Details about the document attachments, including names, locations, sizes, - // etc. - AttachmentsInformation []*AttachmentInformation `type:"list"` - - // The date when the document was created. - CreatedDate *time.Time `type:"timestamp"` - - // The default version. - DefaultVersion *string `type:"string"` - - // A description of the document. - Description *string `type:"string"` - - // The document format, either JSON or YAML. - DocumentFormat *string `type:"string" enum:"DocumentFormat"` - - // 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. - Hash *string `type:"string"` - - // The hash type of the document. Valid values include Sha256 or Sha1. - // - // 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 Systems Manager document. - Name *string `type:"string"` - - // The AWS user account that created the document. - Owner *string `type:"string"` - - // A description of the parameters for a document. - Parameters []*DocumentParameter `type:"list"` - - // The list of OS platforms compatible with this Systems Manager document. - PlatformTypes []*string `type:"list"` - - // The schema version. - SchemaVersion *string `type:"string"` - - // The SHA1 hash of the document, which you can use for verification. - Sha1 *string `type:"string"` - - // The status of the Systems Manager document. - Status *string `type:"string" enum:"DocumentStatus"` - - // A message returned by AWS Systems Manager that explains the Status value. - // For example, a Failed status might be explained by the StatusInformation - // message, "The specified S3 bucket does not exist. Verify that the URL of - // the S3 bucket is correct." - StatusInformation *string `type:"string"` - - // The tags, or metadata, that have been applied to the document. - Tags []*Tag `type:"list"` - - // The target type which defines the kinds of resources the document can run - // on. For example, /AWS::EC2::Instance. For a list of valid resource types, - // see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) - // in the AWS CloudFormation User Guide. - TargetType *string `type:"string"` - - // The version of the artifact associated with the document. - VersionName *string `type:"string"` -} - -// String returns the string representation -func (s DocumentDescription) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DocumentDescription) GoString() string { - return s.String() -} - -// SetAttachmentsInformation sets the AttachmentsInformation field's value. -func (s *DocumentDescription) SetAttachmentsInformation(v []*AttachmentInformation) *DocumentDescription { - s.AttachmentsInformation = v - return s -} - -// SetCreatedDate sets the CreatedDate field's value. -func (s *DocumentDescription) SetCreatedDate(v time.Time) *DocumentDescription { - s.CreatedDate = &v - 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 -} - -// SetDocumentFormat sets the DocumentFormat field's value. -func (s *DocumentDescription) SetDocumentFormat(v string) *DocumentDescription { - s.DocumentFormat = &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 - return s -} - -// SetHashType sets the HashType field's value. -func (s *DocumentDescription) SetHashType(v string) *DocumentDescription { - s.HashType = &v - 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 - return s -} - -// SetOwner sets the Owner field's value. -func (s *DocumentDescription) SetOwner(v string) *DocumentDescription { - s.Owner = &v - return s -} - -// SetParameters sets the Parameters field's value. -func (s *DocumentDescription) SetParameters(v []*DocumentParameter) *DocumentDescription { - s.Parameters = v - return s -} - -// SetPlatformTypes sets the PlatformTypes field's value. -func (s *DocumentDescription) SetPlatformTypes(v []*string) *DocumentDescription { - s.PlatformTypes = v - 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 - return s -} - -// SetStatus sets the Status field's value. -func (s *DocumentDescription) SetStatus(v string) *DocumentDescription { - s.Status = &v - return s -} - -// SetStatusInformation sets the StatusInformation field's value. -func (s *DocumentDescription) SetStatusInformation(v string) *DocumentDescription { - s.StatusInformation = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *DocumentDescription) SetTags(v []*Tag) *DocumentDescription { - s.Tags = v - return s -} - -// SetTargetType sets the TargetType field's value. -func (s *DocumentDescription) SetTargetType(v string) *DocumentDescription { - s.TargetType = &v - return s -} - -// SetVersionName sets the VersionName field's value. -func (s *DocumentDescription) SetVersionName(v string) *DocumentDescription { - s.VersionName = &v - return s -} - -// Describes a filter. -type DocumentFilter struct { - _ struct{} `type:"structure"` - - // The name of the filter. - // - // Key is a required field - Key *string `locationName:"key" type:"string" required:"true" enum:"DocumentFilterKey"` - - // The value of the filter. - // - // Value is a required field - Value *string `locationName:"value" min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s DocumentFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DocumentFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DocumentFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DocumentFilter"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - 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 -} - -// SetKey sets the Key field's value. -func (s *DocumentFilter) SetKey(v string) *DocumentFilter { - s.Key = &v - return s -} - -// SetValue sets the Value field's value. -func (s *DocumentFilter) SetValue(v string) *DocumentFilter { - s.Value = &v - return s -} - -// Describes the name of a Systems Manager document. -type DocumentIdentifier struct { - _ struct{} `type:"structure"` - - // The document format, either JSON or YAML. - DocumentFormat *string `type:"string" enum:"DocumentFormat"` - - // The document type. - DocumentType *string `type:"string" enum:"DocumentType"` - - // The document version. - DocumentVersion *string `type:"string"` - - // The name of the Systems Manager document. - Name *string `type:"string"` - - // The AWS user account that created the document. - Owner *string `type:"string"` - - // The operating system platform. - PlatformTypes []*string `type:"list"` - - // The schema version. - SchemaVersion *string `type:"string"` - - // The tags, or metadata, that have been applied to the document. - Tags []*Tag `type:"list"` - - // The target type which defines the kinds of resources the document can run - // on. For example, /AWS::EC2::Instance. For a list of valid resource types, - // see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) - // in the AWS CloudFormation User Guide. - TargetType *string `type:"string"` - - // An optional field specifying the version of the artifact associated with - // the document. For example, "Release 12, Update 6". This value is unique across - // all versions of a document, and cannot be changed. - VersionName *string `type:"string"` -} - -// String returns the string representation -func (s DocumentIdentifier) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DocumentIdentifier) GoString() string { - return s.String() -} - -// SetDocumentFormat sets the DocumentFormat field's value. -func (s *DocumentIdentifier) SetDocumentFormat(v string) *DocumentIdentifier { - s.DocumentFormat = &v - return s -} - -// 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 - return s -} - -// SetOwner sets the Owner field's value. -func (s *DocumentIdentifier) SetOwner(v string) *DocumentIdentifier { - s.Owner = &v - return s -} - -// SetPlatformTypes sets the PlatformTypes field's value. -func (s *DocumentIdentifier) SetPlatformTypes(v []*string) *DocumentIdentifier { - s.PlatformTypes = v - return s -} - -// SetSchemaVersion sets the SchemaVersion field's value. -func (s *DocumentIdentifier) SetSchemaVersion(v string) *DocumentIdentifier { - s.SchemaVersion = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *DocumentIdentifier) SetTags(v []*Tag) *DocumentIdentifier { - s.Tags = v - return s -} - -// SetTargetType sets the TargetType field's value. -func (s *DocumentIdentifier) SetTargetType(v string) *DocumentIdentifier { - s.TargetType = &v - return s -} - -// SetVersionName sets the VersionName field's value. -func (s *DocumentIdentifier) SetVersionName(v string) *DocumentIdentifier { - s.VersionName = &v - return s -} - -// One or more filters. Use a filter to return a more specific list of documents. -// -// For keys, you can specify one or more tags that have been applied to a document. -// -// Other valid values include Owner, Name, PlatformTypes, and DocumentType. -// -// Note that only one Owner can be specified in a request. For example: Key=Owner,Values=Self. -// -// If you use Name as a key, you can use a name prefix to return a list of documents. -// For example, in the AWS CLI, to return a list of all documents that begin -// with Te, run the following command: -// -// aws ssm list-documents --filters Key=Name,Values=Te -// -// If you specify more than two keys, only documents that are identified by -// all the tags are returned in the results. If you specify more than two values -// for a key, documents that are identified by any of the values are returned -// in the results. -// -// To specify a custom key and value pair, use the format Key=tag:[tagName],Values=[valueName]. -// -// For example, if you created a Key called region and are using the AWS CLI -// to call the list-documents command: -// -// aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self -type DocumentKeyValuesFilter struct { - _ struct{} `type:"structure"` - - // The name of the filter key. - Key *string `min:"1" type:"string"` - - // The value for the filter key. - Values []*string `type:"list"` -} - -// String returns the string representation -func (s DocumentKeyValuesFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DocumentKeyValuesFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DocumentKeyValuesFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DocumentKeyValuesFilter"} - 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 *DocumentKeyValuesFilter) SetKey(v string) *DocumentKeyValuesFilter { - s.Key = &v - return s -} - -// SetValues sets the Values field's value. -func (s *DocumentKeyValuesFilter) SetValues(v []*string) *DocumentKeyValuesFilter { - s.Values = v - return s -} - -// Parameters specified in a System Manager document that execute on the server -// when the command is run. -type DocumentParameter struct { - _ struct{} `type:"structure"` - - // If specified, the default values for the parameters. Parameters without a - // default value are required. Parameters with a default value are optional. - DefaultValue *string `type:"string"` - - // A description of what the parameter does, how to use it, the default value, - // and whether or not the parameter is optional. - Description *string `type:"string"` - - // The name of the parameter. - Name *string `type:"string"` - - // The type of parameter. The type can be either String or StringList. - Type *string `type:"string" enum:"DocumentParameterType"` -} - -// String returns the string representation -func (s DocumentParameter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DocumentParameter) GoString() string { - return s.String() -} - -// SetDefaultValue sets the DefaultValue field's value. -func (s *DocumentParameter) SetDefaultValue(v string) *DocumentParameter { - s.DefaultValue = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *DocumentParameter) SetDescription(v string) *DocumentParameter { - s.Description = &v - return s -} - -// SetName sets the Name field's value. -func (s *DocumentParameter) SetName(v string) *DocumentParameter { - s.Name = &v - return s -} - -// SetType sets the Type field's value. -func (s *DocumentParameter) SetType(v string) *DocumentParameter { - s.Type = &v - return s -} - -// Version information about the document. -type DocumentVersionInfo struct { - _ struct{} `type:"structure"` - - // The date the document was created. - CreatedDate *time.Time `type:"timestamp"` - - // The document format, either JSON or YAML. - DocumentFormat *string `type:"string" enum:"DocumentFormat"` - - // 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"` - - // The status of the Systems Manager document, such as Creating, Active, Failed, - // and Deleting. - Status *string `type:"string" enum:"DocumentStatus"` - - // A message returned by AWS Systems Manager that explains the Status value. - // For example, a Failed status might be explained by the StatusInformation - // message, "The specified S3 bucket does not exist. Verify that the URL of - // the S3 bucket is correct." - StatusInformation *string `type:"string"` - - // The version of the artifact associated with the document. For example, "Release - // 12, Update 6". This value is unique across all versions of a document, and - // cannot be changed. - VersionName *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 -} - -// SetDocumentFormat sets the DocumentFormat field's value. -func (s *DocumentVersionInfo) SetDocumentFormat(v string) *DocumentVersionInfo { - s.DocumentFormat = &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 -} - -// SetStatus sets the Status field's value. -func (s *DocumentVersionInfo) SetStatus(v string) *DocumentVersionInfo { - s.Status = &v - return s -} - -// SetStatusInformation sets the StatusInformation field's value. -func (s *DocumentVersionInfo) SetStatusInformation(v string) *DocumentVersionInfo { - s.StatusInformation = &v - return s -} - -// SetVersionName sets the VersionName field's value. -func (s *DocumentVersionInfo) SetVersionName(v string) *DocumentVersionInfo { - s.VersionName = &v - return s -} - -// The EffectivePatch structure defines metadata about a patch along with the -// approval state of the patch in a particular patch baseline. The approval -// state includes information about whether the patch is currently approved, -// due to be approved by a rule, explicitly approved, or explicitly rejected -// and the date the patch was or will be approved. -type EffectivePatch struct { - _ struct{} `type:"structure"` - - // Provides metadata for a patch, including information such as the KB ID, severity, - // classification and a URL for where more information can be obtained about - // the patch. - Patch *Patch `type:"structure"` - - // The status of the patch in a patch baseline. This includes information about - // whether the patch is currently approved, due to be approved by a rule, explicitly - // approved, or explicitly rejected and the date the patch was or will be approved. - PatchStatus *PatchStatus `type:"structure"` -} - -// String returns the string representation -func (s EffectivePatch) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s EffectivePatch) GoString() string { - return s.String() -} - -// SetPatch sets the Patch field's value. -func (s *EffectivePatch) SetPatch(v *Patch) *EffectivePatch { - s.Patch = v - return s -} - -// SetPatchStatus sets the PatchStatus field's value. -func (s *EffectivePatch) SetPatchStatus(v *PatchStatus) *EffectivePatch { - s.PatchStatus = v - return s -} - -// Describes a failed association. -type FailedCreateAssociation struct { - _ struct{} `type:"structure"` - - // The association. - Entry *CreateAssociationBatchRequestEntry `type:"structure"` - - // The source of the failure. - Fault *string `type:"string" enum:"Fault"` - - // A description of the failure. - Message *string `type:"string"` -} - -// String returns the string representation -func (s FailedCreateAssociation) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s FailedCreateAssociation) GoString() string { - return s.String() -} - -// SetEntry sets the Entry field's value. -func (s *FailedCreateAssociation) SetEntry(v *CreateAssociationBatchRequestEntry) *FailedCreateAssociation { - s.Entry = v - return s -} - -// SetFault sets the Fault field's value. -func (s *FailedCreateAssociation) SetFault(v string) *FailedCreateAssociation { - s.Fault = &v - return s -} - -// SetMessage sets the Message field's value. -func (s *FailedCreateAssociation) SetMessage(v string) *FailedCreateAssociation { - s.Message = &v - return s -} - -// Information about an Automation failure. -type FailureDetails struct { - _ struct{} `type:"structure"` - - // Detailed information about the Automation step failure. - Details map[string][]*string `min:"1" type:"map"` - - // The stage of the Automation execution when the failure occurred. The stages - // include the following: InputValidation, PreVerification, Invocation, PostVerification. - FailureStage *string `type:"string"` - - // The type of Automation failure. Failure types include the following: Action, - // Permission, Throttling, Verification, Internal. - FailureType *string `type:"string"` -} - -// String returns the string representation -func (s FailureDetails) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s FailureDetails) GoString() string { - return s.String() -} - -// SetDetails sets the Details field's value. -func (s *FailureDetails) SetDetails(v map[string][]*string) *FailureDetails { - s.Details = v - return s -} - -// SetFailureStage sets the FailureStage field's value. -func (s *FailureDetails) SetFailureStage(v string) *FailureDetails { - s.FailureStage = &v - return s -} - -// SetFailureType sets the FailureType field's value. -func (s *FailureDetails) SetFailureType(v string) *FailureDetails { - s.FailureType = &v - 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 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"` - - // CloudWatch Logs information where Systems Manager sent the command output. - CloudWatchOutputConfig *CloudWatchOutputConfig `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 document that was executed. For example, AWS-RunShellScript. - DocumentName *string `type:"string"` - - // The SSM document version used in the request. - DocumentVersion *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, June 7, 2017 is represented as 2017-06-7. - // The following sample AWS CLI command uses the InvokedAfter filter. - // - // aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z - // - // 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, June 7, 2017 is represented as 2017-06-7. - // The following sample AWS CLI command uses the InvokedBefore filter. - // - // aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z - // - // 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 this invocation plugin. 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 Understanding - // Command Statuses (http://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html) - // in the AWS Systems Manager User Guide. 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() -} - -// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value. -func (s *GetCommandInvocationOutput) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *GetCommandInvocationOutput { - s.CloudWatchOutputConfig = v - return s -} - -// 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 -} - -// SetDocumentVersion sets the DocumentVersion field's value. -func (s *GetCommandInvocationOutput) SetDocumentVersion(v string) *GetCommandInvocationOutput { - s.DocumentVersion = &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 GetConnectionStatusInput struct { - _ struct{} `type:"structure"` - - // The ID of the instance. - // - // Target is a required field - Target *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s GetConnectionStatusInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetConnectionStatusInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetConnectionStatusInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetConnectionStatusInput"} - if s.Target == nil { - invalidParams.Add(request.NewErrParamRequired("Target")) - } - if s.Target != nil && len(*s.Target) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Target", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetTarget sets the Target field's value. -func (s *GetConnectionStatusInput) SetTarget(v string) *GetConnectionStatusInput { - s.Target = &v - return s -} - -type GetConnectionStatusOutput struct { - _ struct{} `type:"structure"` - - // The status of the connection to the instance. For example, 'Connected' or - // 'Not Connected'. - Status *string `type:"string" enum:"ConnectionStatus"` - - // The ID of the instance to check connection status. - Target *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s GetConnectionStatusOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetConnectionStatusOutput) GoString() string { - return s.String() -} - -// SetStatus sets the Status field's value. -func (s *GetConnectionStatusOutput) SetStatus(v string) *GetConnectionStatusOutput { - s.Status = &v - return s -} - -// SetTarget sets the Target field's value. -func (s *GetConnectionStatusOutput) SetTarget(v string) *GetConnectionStatusOutput { - s.Target = &v - return s -} - -type GetDefaultPatchBaselineInput struct { - _ struct{} `type:"structure"` - - // Returns the default patch baseline for the specified operating system. - OperatingSystem *string `type:"string" enum:"OperatingSystem"` -} - -// String returns the string representation -func (s GetDefaultPatchBaselineInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDefaultPatchBaselineInput) GoString() string { - return s.String() -} - -// SetOperatingSystem sets the OperatingSystem field's value. -func (s *GetDefaultPatchBaselineInput) SetOperatingSystem(v string) *GetDefaultPatchBaselineInput { - s.OperatingSystem = &v - return s -} - -type GetDefaultPatchBaselineOutput struct { - _ struct{} `type:"structure"` - - // The ID of the default patch baseline. - BaselineId *string `min:"20" type:"string"` - - // The operating system for the returned patch baseline. - OperatingSystem *string `type:"string" enum:"OperatingSystem"` -} - -// String returns the string representation -func (s GetDefaultPatchBaselineOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDefaultPatchBaselineOutput) GoString() string { - return s.String() -} - -// SetBaselineId sets the BaselineId field's value. -func (s *GetDefaultPatchBaselineOutput) SetBaselineId(v string) *GetDefaultPatchBaselineOutput { - s.BaselineId = &v - return s -} - -// SetOperatingSystem sets the OperatingSystem field's value. -func (s *GetDefaultPatchBaselineOutput) SetOperatingSystem(v string) *GetDefaultPatchBaselineOutput { - s.OperatingSystem = &v - return s -} - -type GetDeployablePatchSnapshotForInstanceInput struct { - _ struct{} `type:"structure"` - - // The ID of the instance for which the appropriate patch snapshot should be - // retrieved. - // - // InstanceId is a required field - InstanceId *string `type:"string" required:"true"` - - // The user-defined snapshot ID. - // - // SnapshotId is a required field - SnapshotId *string `min:"36" type:"string" required:"true"` -} - -// String returns the string representation -func (s GetDeployablePatchSnapshotForInstanceInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDeployablePatchSnapshotForInstanceInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetDeployablePatchSnapshotForInstanceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDeployablePatchSnapshotForInstanceInput"} - if s.InstanceId == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceId")) - } - if s.SnapshotId == nil { - invalidParams.Add(request.NewErrParamRequired("SnapshotId")) - } - if s.SnapshotId != nil && len(*s.SnapshotId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 36)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetInstanceId sets the InstanceId field's value. -func (s *GetDeployablePatchSnapshotForInstanceInput) SetInstanceId(v string) *GetDeployablePatchSnapshotForInstanceInput { - s.InstanceId = &v - return s -} - -// SetSnapshotId sets the SnapshotId field's value. -func (s *GetDeployablePatchSnapshotForInstanceInput) SetSnapshotId(v string) *GetDeployablePatchSnapshotForInstanceInput { - s.SnapshotId = &v - return s -} - -type GetDeployablePatchSnapshotForInstanceOutput struct { - _ struct{} `type:"structure"` - - // The ID of the instance. - InstanceId *string `type:"string"` - - // Returns the specific operating system (for example Windows Server 2012 or - // Amazon Linux 2015.09) on the instance for the specified patch snapshot. - Product *string `type:"string"` - - // A pre-signed Amazon S3 URL that can be used to download the patch snapshot. - SnapshotDownloadUrl *string `type:"string"` - - // The user-defined snapshot ID. - SnapshotId *string `min:"36" type:"string"` -} - -// String returns the string representation -func (s GetDeployablePatchSnapshotForInstanceOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDeployablePatchSnapshotForInstanceOutput) GoString() string { - return s.String() -} - -// SetInstanceId sets the InstanceId field's value. -func (s *GetDeployablePatchSnapshotForInstanceOutput) SetInstanceId(v string) *GetDeployablePatchSnapshotForInstanceOutput { - s.InstanceId = &v - return s -} - -// SetProduct sets the Product field's value. -func (s *GetDeployablePatchSnapshotForInstanceOutput) SetProduct(v string) *GetDeployablePatchSnapshotForInstanceOutput { - s.Product = &v - return s -} - -// SetSnapshotDownloadUrl sets the SnapshotDownloadUrl field's value. -func (s *GetDeployablePatchSnapshotForInstanceOutput) SetSnapshotDownloadUrl(v string) *GetDeployablePatchSnapshotForInstanceOutput { - s.SnapshotDownloadUrl = &v - return s -} - -// SetSnapshotId sets the SnapshotId field's value. -func (s *GetDeployablePatchSnapshotForInstanceOutput) SetSnapshotId(v string) *GetDeployablePatchSnapshotForInstanceOutput { - s.SnapshotId = &v - return s -} - -type GetDocumentInput struct { - _ struct{} `type:"structure"` - - // Returns the document in the specified format. The document format can be - // either JSON or YAML. JSON is the default format. - DocumentFormat *string `type:"string" enum:"DocumentFormat"` - - // The document version for which you want information. - DocumentVersion *string `type:"string"` - - // The name of the Systems Manager document. - // - // Name is a required field - Name *string `type:"string" required:"true"` - - // An optional field specifying the version of the artifact associated with - // the document. For example, "Release 12, Update 6". This value is unique across - // all versions of a document, and cannot be changed. - VersionName *string `type:"string"` -} - -// String returns the string representation -func (s GetDocumentInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDocumentInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetDocumentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDocumentInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDocumentFormat sets the DocumentFormat field's value. -func (s *GetDocumentInput) SetDocumentFormat(v string) *GetDocumentInput { - s.DocumentFormat = &v - return s -} - -// 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 - return s -} - -// SetVersionName sets the VersionName field's value. -func (s *GetDocumentInput) SetVersionName(v string) *GetDocumentInput { - s.VersionName = &v - return s -} - -type GetDocumentOutput struct { - _ struct{} `type:"structure"` - - // A description of the document attachments, including names, locations, sizes, - // etc. - AttachmentsContent []*AttachmentContent `type:"list"` - - // The contents of the Systems Manager document. - Content *string `min:"1" type:"string"` - - // The document format, either JSON or YAML. - DocumentFormat *string `type:"string" enum:"DocumentFormat"` - - // The document type. - DocumentType *string `type:"string" enum:"DocumentType"` - - // The document version. - DocumentVersion *string `type:"string"` - - // The name of the Systems Manager document. - Name *string `type:"string"` - - // The status of the Systems Manager document, such as Creating, Active, Updating, - // Failed, and Deleting. - Status *string `type:"string" enum:"DocumentStatus"` - - // A message returned by AWS Systems Manager that explains the Status value. - // For example, a Failed status might be explained by the StatusInformation - // message, "The specified S3 bucket does not exist. Verify that the URL of - // the S3 bucket is correct." - StatusInformation *string `type:"string"` - - // The version of the artifact associated with the document. For example, "Release - // 12, Update 6". This value is unique across all versions of a document, and - // cannot be changed. - VersionName *string `type:"string"` -} - -// String returns the string representation -func (s GetDocumentOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDocumentOutput) GoString() string { - return s.String() -} - -// SetAttachmentsContent sets the AttachmentsContent field's value. -func (s *GetDocumentOutput) SetAttachmentsContent(v []*AttachmentContent) *GetDocumentOutput { - s.AttachmentsContent = v - return s -} - -// SetContent sets the Content field's value. -func (s *GetDocumentOutput) SetContent(v string) *GetDocumentOutput { - s.Content = &v - return s -} - -// SetDocumentFormat sets the DocumentFormat field's value. -func (s *GetDocumentOutput) SetDocumentFormat(v string) *GetDocumentOutput { - s.DocumentFormat = &v - 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 -} - -// SetStatus sets the Status field's value. -func (s *GetDocumentOutput) SetStatus(v string) *GetDocumentOutput { - s.Status = &v - return s -} - -// SetStatusInformation sets the StatusInformation field's value. -func (s *GetDocumentOutput) SetStatusInformation(v string) *GetDocumentOutput { - s.StatusInformation = &v - return s -} - -// SetVersionName sets the VersionName field's value. -func (s *GetDocumentOutput) SetVersionName(v string) *GetDocumentOutput { - s.VersionName = &v - return s -} - -type GetInventoryInput struct { - _ struct{} `type:"structure"` - - // Returns counts of inventory types based on one or more expressions. For example, - // if you aggregate by using an expression that uses the AWS:InstanceInformation.PlatformType - // type, you can see a count of how many Windows and Linux instances exist in - // your inventoried fleet. - Aggregators []*InventoryAggregator `min:"1" type:"list"` - - // One or more filters. Use a filter to return a more specific list of results. - Filters []*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 `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.Aggregators != nil && len(s.Aggregators) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1)) - } - 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.Aggregators != nil { - for i, v := range s.Aggregators { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams)) - } - } - } - 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 -} - -// SetAggregators sets the Aggregators field's value. -func (s *GetInventoryInput) SetAggregators(v []*InventoryAggregator) *GetInventoryInput { - s.Aggregators = v - return s -} - -// 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 `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"` - - // Returns inventory schemas that support aggregation. For example, this call - // returns the AWS:InstanceInformation type, because it supports aggregation - // based on the PlatformName, PlatformType, and PlatformVersion attributes. - Aggregator *bool `type:"boolean"` - - // 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"` - - // Returns the sub-type schema for a specified inventory type. - SubType *bool `type:"boolean"` - - // 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 -} - -// SetAggregator sets the Aggregator field's value. -func (s *GetInventorySchemaInput) SetAggregator(v bool) *GetInventorySchemaInput { - s.Aggregator = &v - return s -} - -// 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 -} - -// SetSubType sets the SubType field's value. -func (s *GetInventorySchemaInput) SetSubType(v bool) *GetInventorySchemaInput { - s.SubType = &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"` - - // The time the Maintenance Window started executing. - StartTime *time.Time `type:"timestamp"` - - // 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 GetMaintenanceWindowExecutionTaskInvocationInput struct { - _ struct{} `type:"structure"` - - // The invocation ID to retrieve. - // - // InvocationId is a required field - InvocationId *string `min:"36" type:"string" required:"true"` - - // 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 for which the task is a part. - // - // WindowExecutionId is a required field - WindowExecutionId *string `min:"36" type:"string" required:"true"` -} - -// String returns the string representation -func (s GetMaintenanceWindowExecutionTaskInvocationInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetMaintenanceWindowExecutionTaskInvocationInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetMaintenanceWindowExecutionTaskInvocationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionTaskInvocationInput"} - if s.InvocationId == nil { - invalidParams.Add(request.NewErrParamRequired("InvocationId")) - } - if s.InvocationId != nil && len(*s.InvocationId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("InvocationId", 36)) - } - 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 -} - -// SetInvocationId sets the InvocationId field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetInvocationId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput { - s.InvocationId = &v - return s -} - -// SetTaskId sets the TaskId field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetTaskId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput { - s.TaskId = &v - return s -} - -// SetWindowExecutionId sets the WindowExecutionId field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput { - s.WindowExecutionId = &v - return s -} - -type GetMaintenanceWindowExecutionTaskInvocationOutput struct { - _ struct{} `type:"structure"` - - // The time that the task finished executing on the target. - EndTime *time.Time `type:"timestamp"` - - // The execution ID. - ExecutionId *string `type:"string"` - - // The invocation ID. - InvocationId *string `min:"36" type:"string"` - - // User-provided value to be included in any CloudWatch events raised while - // running tasks for these targets in this Maintenance Window. - OwnerInformation *string `min:"1" type:"string" sensitive:"true"` - - // The parameters used at the time that the task executed. - Parameters *string `type:"string" sensitive:"true"` - - // The time that the task started executing on the target. - StartTime *time.Time `type:"timestamp"` - - // The task status for an invocation. - Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"` - - // The details explaining the status. Details are only available for certain - // status values. - StatusDetails *string `type:"string"` - - // The task execution ID. - TaskExecutionId *string `min:"36" type:"string"` - - // Retrieves the task type for a Maintenance Window. Task types include the - // following: LAMBDA, STEP_FUNCTION, AUTOMATION, RUN_COMMAND. - TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"` - - // The Maintenance Window execution ID. - WindowExecutionId *string `min:"36" type:"string"` - - // The Maintenance Window target ID. - WindowTargetId *string `type:"string"` -} - -// String returns the string representation -func (s GetMaintenanceWindowExecutionTaskInvocationOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetMaintenanceWindowExecutionTaskInvocationOutput) GoString() string { - return s.String() -} - -// SetEndTime sets the EndTime field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionTaskInvocationOutput { - s.EndTime = &v - return s -} - -// SetExecutionId sets the ExecutionId field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { - s.ExecutionId = &v - return s -} - -// SetInvocationId sets the InvocationId field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetInvocationId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { - s.InvocationId = &v - return s -} - -// SetOwnerInformation sets the OwnerInformation field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetOwnerInformation(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { - s.OwnerInformation = &v - return s -} - -// SetParameters sets the Parameters field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetParameters(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { - s.Parameters = &v - return s -} - -// SetStartTime sets the StartTime field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionTaskInvocationOutput { - s.StartTime = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStatus(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { - s.Status = &v - return s -} - -// SetStatusDetails sets the StatusDetails field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { - s.StatusDetails = &v - return s -} - -// SetTaskExecutionId sets the TaskExecutionId field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetTaskExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { - s.TaskExecutionId = &v - return s -} - -// SetTaskType sets the TaskType field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetTaskType(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { - s.TaskType = &v - return s -} - -// SetWindowExecutionId sets the WindowExecutionId field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { - s.WindowExecutionId = &v - return s -} - -// SetWindowTargetId sets the WindowTargetId field's value. -func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetWindowTargetId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput { - s.WindowTargetId = &v - return s -} - -type GetMaintenanceWindowExecutionTaskOutput struct { - _ struct{} `type:"structure"` - - // The time the task execution completed. - EndTime *time.Time `type:"timestamp"` - - // 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"` - - // 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. - // - // TaskParameters has been deprecated. To specify parameters to pass to a task - // when it runs, instead use the Parameters option in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - // - // The map has the following format: - // - // Key: string, between 1 and 255 characters - // - // Value: an array of strings, each string is between 1 and 255 characters - TaskParameters []map[string]*MaintenanceWindowTaskParameterValueExpression `type:"list" sensitive:"true"` - - // 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"` - - // 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 description of the Maintenance Window. - Description *string `min:"1" type:"string" sensitive:"true"` - - // 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 and time, in ISO-8601 Extended format, for when the Maintenance - // Window is scheduled to become inactive. The Maintenance Window will not run - // after this specified time. - EndDate *string `type:"string"` - - // The date the Maintenance Window was last modified. - ModifiedDate *time.Time `type:"timestamp"` - - // The name of the Maintenance Window. - Name *string `min:"3" type:"string"` - - // The next time the Maintenance Window will actually run, taking into account - // any specified times for the Maintenance Window to become active or inactive. - NextExecutionTime *string `type:"string"` - - // The schedule of the Maintenance Window in the form of a cron or rate expression. - Schedule *string `min:"1" type:"string"` - - // The time zone that the scheduled Maintenance Window executions are based - // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", - // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database - // (https://www.iana.org/time-zones) on the IANA website. - ScheduleTimezone *string `type:"string"` - - // The date and time, in ISO-8601 Extended format, for when the Maintenance - // Window is scheduled to become active. The Maintenance Window will not run - // before this specified time. - StartDate *string `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 -} - -// SetDescription sets the Description field's value. -func (s *GetMaintenanceWindowOutput) SetDescription(v string) *GetMaintenanceWindowOutput { - s.Description = &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 -} - -// SetEndDate sets the EndDate field's value. -func (s *GetMaintenanceWindowOutput) SetEndDate(v string) *GetMaintenanceWindowOutput { - s.EndDate = &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 -} - -// SetNextExecutionTime sets the NextExecutionTime field's value. -func (s *GetMaintenanceWindowOutput) SetNextExecutionTime(v string) *GetMaintenanceWindowOutput { - s.NextExecutionTime = &v - return s -} - -// SetSchedule sets the Schedule field's value. -func (s *GetMaintenanceWindowOutput) SetSchedule(v string) *GetMaintenanceWindowOutput { - s.Schedule = &v - return s -} - -// SetScheduleTimezone sets the ScheduleTimezone field's value. -func (s *GetMaintenanceWindowOutput) SetScheduleTimezone(v string) *GetMaintenanceWindowOutput { - s.ScheduleTimezone = &v - return s -} - -// SetStartDate sets the StartDate field's value. -func (s *GetMaintenanceWindowOutput) SetStartDate(v string) *GetMaintenanceWindowOutput { - s.StartDate = &v - return s -} - -// SetWindowId sets the WindowId field's value. -func (s *GetMaintenanceWindowOutput) SetWindowId(v string) *GetMaintenanceWindowOutput { - s.WindowId = &v - return s -} - -type GetMaintenanceWindowTaskInput struct { - _ struct{} `type:"structure"` - - // The Maintenance Window ID that includes the task to retrieve. - // - // WindowId is a required field - WindowId *string `min:"20" type:"string" required:"true"` - - // The Maintenance Window task ID to retrieve. - // - // WindowTaskId is a required field - WindowTaskId *string `min:"36" type:"string" required:"true"` -} - -// String returns the string representation -func (s GetMaintenanceWindowTaskInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetMaintenanceWindowTaskInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetMaintenanceWindowTaskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowTaskInput"} - 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 *GetMaintenanceWindowTaskInput) SetWindowId(v string) *GetMaintenanceWindowTaskInput { - s.WindowId = &v - return s -} - -// SetWindowTaskId sets the WindowTaskId field's value. -func (s *GetMaintenanceWindowTaskInput) SetWindowTaskId(v string) *GetMaintenanceWindowTaskInput { - s.WindowTaskId = &v - return s -} - -type GetMaintenanceWindowTaskOutput struct { - _ struct{} `type:"structure"` - - // The retrieved task description. - Description *string `min:"1" type:"string" sensitive:"true"` - - // The location in Amazon S3 where the task results are logged. - // - // LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, - // instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - LoggingInfo *LoggingInfo `type:"structure"` - - // The maximum number of targets allowed to run this task in parallel. - MaxConcurrency *string `min:"1" type:"string"` - - // The maximum number of errors allowed before the task stops being scheduled. - MaxErrors *string `min:"1" type:"string"` - - // The retrieved task name. - Name *string `min:"3" type:"string"` - - // The priority of the task when it executes. The lower the number, the higher - // the priority. Tasks that have the same priority are scheduled in parallel. - Priority *int64 `type:"integer"` - - // The IAM service role to assume during task execution. - ServiceRoleArn *string `type:"string"` - - // The targets where the task should execute. - Targets []*Target `type:"list"` - - // The resource that the task used during execution. For RUN_COMMAND and AUTOMATION - // task types, the TaskArn is the Systems Manager Document name/ARN. For LAMBDA - // tasks, the value is the function name/ARN. For STEP_FUNCTION tasks, the value - // is the state machine ARN. - TaskArn *string `min:"1" type:"string"` - - // The parameters to pass to the task when it executes. - TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"` - - // The parameters to pass to the task when it executes. - // - // TaskParameters has been deprecated. To specify parameters to pass to a task - // when it runs, instead use the Parameters option in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"` - - // The type of task to execute. - TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"` - - // The retrieved Maintenance Window ID. - WindowId *string `min:"20" type:"string"` - - // The retrieved Maintenance Window task ID. - WindowTaskId *string `min:"36" type:"string"` -} - -// String returns the string representation -func (s GetMaintenanceWindowTaskOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetMaintenanceWindowTaskOutput) GoString() string { - return s.String() -} - -// SetDescription sets the Description field's value. -func (s *GetMaintenanceWindowTaskOutput) SetDescription(v string) *GetMaintenanceWindowTaskOutput { - s.Description = &v - return s -} - -// SetLoggingInfo sets the LoggingInfo field's value. -func (s *GetMaintenanceWindowTaskOutput) SetLoggingInfo(v *LoggingInfo) *GetMaintenanceWindowTaskOutput { - s.LoggingInfo = v - return s -} - -// SetMaxConcurrency sets the MaxConcurrency field's value. -func (s *GetMaintenanceWindowTaskOutput) SetMaxConcurrency(v string) *GetMaintenanceWindowTaskOutput { - s.MaxConcurrency = &v - return s -} - -// SetMaxErrors sets the MaxErrors field's value. -func (s *GetMaintenanceWindowTaskOutput) SetMaxErrors(v string) *GetMaintenanceWindowTaskOutput { - s.MaxErrors = &v - return s -} - -// SetName sets the Name field's value. -func (s *GetMaintenanceWindowTaskOutput) SetName(v string) *GetMaintenanceWindowTaskOutput { - s.Name = &v - return s -} - -// SetPriority sets the Priority field's value. -func (s *GetMaintenanceWindowTaskOutput) SetPriority(v int64) *GetMaintenanceWindowTaskOutput { - s.Priority = &v - return s -} - -// SetServiceRoleArn sets the ServiceRoleArn field's value. -func (s *GetMaintenanceWindowTaskOutput) SetServiceRoleArn(v string) *GetMaintenanceWindowTaskOutput { - s.ServiceRoleArn = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *GetMaintenanceWindowTaskOutput) SetTargets(v []*Target) *GetMaintenanceWindowTaskOutput { - s.Targets = v - return s -} - -// SetTaskArn sets the TaskArn field's value. -func (s *GetMaintenanceWindowTaskOutput) SetTaskArn(v string) *GetMaintenanceWindowTaskOutput { - s.TaskArn = &v - return s -} - -// SetTaskInvocationParameters sets the TaskInvocationParameters field's value. -func (s *GetMaintenanceWindowTaskOutput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *GetMaintenanceWindowTaskOutput { - s.TaskInvocationParameters = v - return s -} - -// SetTaskParameters sets the TaskParameters field's value. -func (s *GetMaintenanceWindowTaskOutput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *GetMaintenanceWindowTaskOutput { - s.TaskParameters = v - return s -} - -// SetTaskType sets the TaskType field's value. -func (s *GetMaintenanceWindowTaskOutput) SetTaskType(v string) *GetMaintenanceWindowTaskOutput { - s.TaskType = &v - return s -} - -// SetWindowId sets the WindowId field's value. -func (s *GetMaintenanceWindowTaskOutput) SetWindowId(v string) *GetMaintenanceWindowTaskOutput { - s.WindowId = &v - return s -} - -// SetWindowTaskId sets the WindowTaskId field's value. -func (s *GetMaintenanceWindowTaskOutput) SetWindowTaskId(v string) *GetMaintenanceWindowTaskOutput { - s.WindowTaskId = &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 GetParameterInput struct { - _ struct{} `type:"structure"` - - // The name of the parameter you want to query. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // 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 GetParameterInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetParameterInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetParameterInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetParameterInput"} - 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 *GetParameterInput) SetName(v string) *GetParameterInput { - s.Name = &v - return s -} - -// SetWithDecryption sets the WithDecryption field's value. -func (s *GetParameterInput) SetWithDecryption(v bool) *GetParameterInput { - s.WithDecryption = &v - return s -} - -type GetParameterOutput struct { - _ struct{} `type:"structure"` - - // Information about a parameter. - Parameter *Parameter `type:"structure"` -} - -// String returns the string representation -func (s GetParameterOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetParameterOutput) GoString() string { - return s.String() -} - -// SetParameter sets the Parameter field's value. -func (s *GetParameterOutput) SetParameter(v *Parameter) *GetParameterOutput { - s.Parameter = v - return s -} - -type GetParametersByPathInput 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"` - - // A token to start the list. Use this token to get the next set of results. - NextToken *string `type:"string"` - - // Filters to limit the request results. - // - // You can't filter using the parameter name. - ParameterFilters []*ParameterStringFilter `type:"list"` - - // The hierarchy for the parameter. Hierarchies start with a forward slash (/) - // and end with the parameter name. A parameter name hierarchy can have a maximum - // of 15 levels. Here is an example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 - // - // Path is a required field - Path *string `min:"1" type:"string" required:"true"` - - // Retrieve all parameters within a hierarchy. - // - // If a user has access to a path, then the user can access all levels of that - // path. For example, if a user has permission to access path /a, then the user - // can also access /a/b. Even if a user has explicitly been denied access in - // IAM for parameter /a, they can still call the GetParametersByPath API action - // recursively and view /a/b. - Recursive *bool `type:"boolean"` - - // Retrieve all parameters in a hierarchy with their value decrypted. - WithDecryption *bool `type:"boolean"` -} - -// String returns the string representation -func (s GetParametersByPathInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetParametersByPathInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetParametersByPathInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetParametersByPathInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.Path == nil { - invalidParams.Add(request.NewErrParamRequired("Path")) - } - if s.Path != nil && len(*s.Path) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Path", 1)) - } - if s.ParameterFilters != nil { - for i, v := range s.ParameterFilters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterFilters", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetMaxResults sets the MaxResults field's value. -func (s *GetParametersByPathInput) SetMaxResults(v int64) *GetParametersByPathInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *GetParametersByPathInput) SetNextToken(v string) *GetParametersByPathInput { - s.NextToken = &v - return s -} - -// SetParameterFilters sets the ParameterFilters field's value. -func (s *GetParametersByPathInput) SetParameterFilters(v []*ParameterStringFilter) *GetParametersByPathInput { - s.ParameterFilters = v - return s -} - -// SetPath sets the Path field's value. -func (s *GetParametersByPathInput) SetPath(v string) *GetParametersByPathInput { - s.Path = &v - return s -} - -// SetRecursive sets the Recursive field's value. -func (s *GetParametersByPathInput) SetRecursive(v bool) *GetParametersByPathInput { - s.Recursive = &v - return s -} - -// SetWithDecryption sets the WithDecryption field's value. -func (s *GetParametersByPathInput) SetWithDecryption(v bool) *GetParametersByPathInput { - s.WithDecryption = &v - return s -} - -type GetParametersByPathOutput struct { - _ struct{} `type:"structure"` - - // The token for the next set of items to return. Use this token to get the - // next set of results. - NextToken *string `type:"string"` - - // A list of parameters found in the specified hierarchy. - Parameters []*Parameter `type:"list"` -} - -// String returns the string representation -func (s GetParametersByPathOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetParametersByPathOutput) GoString() string { - return s.String() -} - -// SetNextToken sets the NextToken field's value. -func (s *GetParametersByPathOutput) SetNextToken(v string) *GetParametersByPathOutput { - s.NextToken = &v - return s -} - -// SetParameters sets the Parameters field's value. -func (s *GetParametersByPathOutput) SetParameters(v []*Parameter) *GetParametersByPathOutput { - 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 details for a parameter. - 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 -} - -type GetPatchBaselineForPatchGroupInput struct { - _ struct{} `type:"structure"` - - // Returns he operating system rule specified for patch groups using the patch - // baseline. - OperatingSystem *string `type:"string" enum:"OperatingSystem"` - - // The name of the patch group whose patch baseline should be retrieved. - // - // PatchGroup is a required field - PatchGroup *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s GetPatchBaselineForPatchGroupInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetPatchBaselineForPatchGroupInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetPatchBaselineForPatchGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPatchBaselineForPatchGroupInput"} - if s.PatchGroup == nil { - invalidParams.Add(request.NewErrParamRequired("PatchGroup")) - } - if s.PatchGroup != nil && len(*s.PatchGroup) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetOperatingSystem sets the OperatingSystem field's value. -func (s *GetPatchBaselineForPatchGroupInput) SetOperatingSystem(v string) *GetPatchBaselineForPatchGroupInput { - s.OperatingSystem = &v - return s -} - -// SetPatchGroup sets the PatchGroup field's value. -func (s *GetPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *GetPatchBaselineForPatchGroupInput { - s.PatchGroup = &v - return s -} - -type GetPatchBaselineForPatchGroupOutput struct { - _ struct{} `type:"structure"` - - // The ID of the patch baseline that should be used for the patch group. - BaselineId *string `min:"20" type:"string"` - - // The operating system rule specified for patch groups using the patch baseline. - OperatingSystem *string `type:"string" enum:"OperatingSystem"` - - // The name of the patch group. - PatchGroup *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s GetPatchBaselineForPatchGroupOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetPatchBaselineForPatchGroupOutput) GoString() string { - return s.String() -} - -// SetBaselineId sets the BaselineId field's value. -func (s *GetPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *GetPatchBaselineForPatchGroupOutput { - s.BaselineId = &v - return s -} - -// SetOperatingSystem sets the OperatingSystem field's value. -func (s *GetPatchBaselineForPatchGroupOutput) SetOperatingSystem(v string) *GetPatchBaselineForPatchGroupOutput { - s.OperatingSystem = &v - return s -} - -// SetPatchGroup sets the PatchGroup field's value. -func (s *GetPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *GetPatchBaselineForPatchGroupOutput { - s.PatchGroup = &v - return s -} - -type GetPatchBaselineInput struct { - _ struct{} `type:"structure"` - - // The ID of the patch baseline to retrieve. - // - // BaselineId is a required field - BaselineId *string `min:"20" type:"string" required:"true"` -} - -// String returns the string representation -func (s GetPatchBaselineInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetPatchBaselineInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetPatchBaselineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPatchBaselineInput"} - if s.BaselineId == nil { - invalidParams.Add(request.NewErrParamRequired("BaselineId")) - } - if s.BaselineId != nil && len(*s.BaselineId) < 20 { - invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetBaselineId sets the BaselineId field's value. -func (s *GetPatchBaselineInput) SetBaselineId(v string) *GetPatchBaselineInput { - s.BaselineId = &v - return s -} - -type GetPatchBaselineOutput struct { - _ struct{} `type:"structure"` - - // A set of rules used to include patches in the baseline. - ApprovalRules *PatchRuleGroup `type:"structure"` - - // A list of explicitly approved patches for the baseline. - ApprovedPatches []*string `type:"list"` - - // Returns the specified compliance severity level for approved patches in the - // patch baseline. - ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"` - - // Indicates whether the list of approved patches includes non-security updates - // that should be applied to the instances. The default value is 'false'. Applies - // to Linux instances only. - ApprovedPatchesEnableNonSecurity *bool `type:"boolean"` - - // The ID of the retrieved patch baseline. - BaselineId *string `min:"20" type:"string"` - - // The date the patch baseline was created. - CreatedDate *time.Time `type:"timestamp"` - - // A description of the patch baseline. - Description *string `min:"1" type:"string"` - - // A set of global filters used to exclude patches from the baseline. - GlobalFilters *PatchFilterGroup `type:"structure"` - - // The date the patch baseline was last modified. - ModifiedDate *time.Time `type:"timestamp"` - - // The name of the patch baseline. - Name *string `min:"3" type:"string"` - - // Returns the operating system specified for the patch baseline. - OperatingSystem *string `type:"string" enum:"OperatingSystem"` - - // Patch groups included in the patch baseline. - PatchGroups []*string `type:"list"` - - // A list of explicitly rejected patches for the baseline. - RejectedPatches []*string `type:"list"` - - // The action specified to take on patches included in the RejectedPatches list. - // A patch can be allowed only if it is a dependency of another package, or - // blocked entirely along with packages that include it as a dependency. - RejectedPatchesAction *string `type:"string" enum:"PatchAction"` - - // Information about the patches to use to update the instances, including target - // operating systems and source repositories. Applies to Linux instances only. - Sources []*PatchSource `type:"list"` -} - -// String returns the string representation -func (s GetPatchBaselineOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetPatchBaselineOutput) GoString() string { - return s.String() -} - -// SetApprovalRules sets the ApprovalRules field's value. -func (s *GetPatchBaselineOutput) SetApprovalRules(v *PatchRuleGroup) *GetPatchBaselineOutput { - s.ApprovalRules = v - return s -} - -// SetApprovedPatches sets the ApprovedPatches field's value. -func (s *GetPatchBaselineOutput) SetApprovedPatches(v []*string) *GetPatchBaselineOutput { - s.ApprovedPatches = v - return s -} - -// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value. -func (s *GetPatchBaselineOutput) SetApprovedPatchesComplianceLevel(v string) *GetPatchBaselineOutput { - s.ApprovedPatchesComplianceLevel = &v - return s -} - -// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value. -func (s *GetPatchBaselineOutput) SetApprovedPatchesEnableNonSecurity(v bool) *GetPatchBaselineOutput { - s.ApprovedPatchesEnableNonSecurity = &v - return s -} - -// SetBaselineId sets the BaselineId field's value. -func (s *GetPatchBaselineOutput) SetBaselineId(v string) *GetPatchBaselineOutput { - s.BaselineId = &v - return s -} - -// SetCreatedDate sets the CreatedDate field's value. -func (s *GetPatchBaselineOutput) SetCreatedDate(v time.Time) *GetPatchBaselineOutput { - s.CreatedDate = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *GetPatchBaselineOutput) SetDescription(v string) *GetPatchBaselineOutput { - s.Description = &v - return s -} - -// SetGlobalFilters sets the GlobalFilters field's value. -func (s *GetPatchBaselineOutput) SetGlobalFilters(v *PatchFilterGroup) *GetPatchBaselineOutput { - s.GlobalFilters = v - return s -} - -// SetModifiedDate sets the ModifiedDate field's value. -func (s *GetPatchBaselineOutput) SetModifiedDate(v time.Time) *GetPatchBaselineOutput { - s.ModifiedDate = &v - return s -} - -// SetName sets the Name field's value. -func (s *GetPatchBaselineOutput) SetName(v string) *GetPatchBaselineOutput { - s.Name = &v - return s -} - -// SetOperatingSystem sets the OperatingSystem field's value. -func (s *GetPatchBaselineOutput) SetOperatingSystem(v string) *GetPatchBaselineOutput { - s.OperatingSystem = &v - return s -} - -// SetPatchGroups sets the PatchGroups field's value. -func (s *GetPatchBaselineOutput) SetPatchGroups(v []*string) *GetPatchBaselineOutput { - s.PatchGroups = v - return s -} - -// SetRejectedPatches sets the RejectedPatches field's value. -func (s *GetPatchBaselineOutput) SetRejectedPatches(v []*string) *GetPatchBaselineOutput { - s.RejectedPatches = v - return s -} - -// SetRejectedPatchesAction sets the RejectedPatchesAction field's value. -func (s *GetPatchBaselineOutput) SetRejectedPatchesAction(v string) *GetPatchBaselineOutput { - s.RejectedPatchesAction = &v - return s -} - -// SetSources sets the Sources field's value. -func (s *GetPatchBaselineOutput) SetSources(v []*PatchSource) *GetPatchBaselineOutput { - s.Sources = 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"` - - // Version information for the association on the instance. - AssociationVersion *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 -} - -// SetAssociationVersion sets the AssociationVersion field's value. -func (s *InstanceAssociation) SetAssociationVersion(v string) *InstanceAssociation { - s.AssociationVersion = &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"` - - // The name of the association applied to the instance. - AssociationName *string `type:"string"` - - // The version of the association applied to the instance. - AssociationVersion *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"` - - // 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 -} - -// SetAssociationName sets the AssociationName field's value. -func (s *InstanceAssociationStatusInfo) SetAssociationName(v string) *InstanceAssociationStatusInfo { - s.AssociationName = &v - return s -} - -// SetAssociationVersion sets the AssociationVersion field's value. -func (s *InstanceAssociationStatusInfo) SetAssociationVersion(v string) *InstanceAssociationStatusInfo { - s.AssociationVersion = &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 Systems Manager when the server or VM was registered. - ActivationId *string `type:"string"` - - // The version of 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"` - - // The IP address of the managed instance. - IPAddress *string `min:"1" type:"string"` - - // The Amazon Identity and Access Management (IAM) role assigned to the on-premises - // Systems Manager managed instances. This call does not return the IAM role - // for Amazon EC2 instances. - IamRole *string `type:"string"` - - // The instance ID. - InstanceId *string `type:"string"` - - // Indicates whether latest version of SSM Agent is running on your instance. - // Some older versions of Windows Server use the EC2Config service to process - // SSM requests. For this reason, this field does not indicate whether or not - // the latest version is installed on Windows managed instances. - IsLatestVersion *bool `type:"boolean"` - - // The date the association was last executed. - LastAssociationExecutionDate *time.Time `type:"timestamp"` - - // The date and time when agent last pinged Systems Manager service. - LastPingDateTime *time.Time `type:"timestamp"` - - // The last date the association was successfully run. - LastSuccessfulAssociationExecutionDate *time.Time `type:"timestamp"` - - // The name of the managed instance. - Name *string `type:"string"` - - // Connection status of SSM Agent. - PingStatus *string `type:"string" enum:"PingStatus"` - - // The name of the operating system platform running on your instance. - PlatformName *string `type:"string"` - - // The operating system platform type. - PlatformType *string `type:"string" enum:"PlatformType"` - - // The version of the OS platform running on your instance. - PlatformVersion *string `type:"string"` - - // The date the server or VM was registered with AWS as a managed instance. - RegistrationDate *time.Time `type:"timestamp"` - - // The type of instance. Instances are either EC2 instances or managed instances. - ResourceType *string `type:"string" enum:"ResourceType"` -} - -// String returns the string representation -func (s InstanceInformation) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s InstanceInformation) GoString() string { - return s.String() -} - -// SetActivationId sets the ActivationId field's value. -func (s *InstanceInformation) SetActivationId(v string) *InstanceInformation { - s.ActivationId = &v - return s -} - -// SetAgentVersion sets the AgentVersion field's value. -func (s *InstanceInformation) SetAgentVersion(v string) *InstanceInformation { - s.AgentVersion = &v - 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 - return s -} - -// SetIPAddress sets the IPAddress field's value. -func (s *InstanceInformation) SetIPAddress(v string) *InstanceInformation { - s.IPAddress = &v - return s -} - -// SetIamRole sets the IamRole field's value. -func (s *InstanceInformation) SetIamRole(v string) *InstanceInformation { - s.IamRole = &v - return s -} - -// SetInstanceId sets the InstanceId field's value. -func (s *InstanceInformation) SetInstanceId(v string) *InstanceInformation { - s.InstanceId = &v - return s -} - -// SetIsLatestVersion sets the IsLatestVersion field's value. -func (s *InstanceInformation) SetIsLatestVersion(v bool) *InstanceInformation { - s.IsLatestVersion = &v - 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 - return s -} - -// SetPingStatus sets the PingStatus field's value. -func (s *InstanceInformation) SetPingStatus(v string) *InstanceInformation { - s.PingStatus = &v - return s -} - -// SetPlatformName sets the PlatformName field's value. -func (s *InstanceInformation) SetPlatformName(v string) *InstanceInformation { - s.PlatformName = &v - return s -} - -// SetPlatformType sets the PlatformType field's value. -func (s *InstanceInformation) SetPlatformType(v string) *InstanceInformation { - s.PlatformType = &v - return s -} - -// SetPlatformVersion sets the PlatformVersion field's value. -func (s *InstanceInformation) SetPlatformVersion(v string) *InstanceInformation { - s.PlatformVersion = &v - return s -} - -// SetRegistrationDate sets the RegistrationDate field's value. -func (s *InstanceInformation) SetRegistrationDate(v time.Time) *InstanceInformation { - s.RegistrationDate = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *InstanceInformation) SetResourceType(v string) *InstanceInformation { - s.ResourceType = &v - return s -} - -// Describes a filter for a specific list of instances. You can filter instances -// information by using tags. You specify tags by using a key-value mapping. -// -// Use this action instead of the DescribeInstanceInformationRequest$InstanceInformationFilterList -// method. The InstanceInformationFilterList method is a legacy method and does -// not support tags. -type InstanceInformationFilter struct { - _ struct{} `type:"structure"` - - // The name of the filter. - // - // Key is a required field - Key *string `locationName:"key" type:"string" required:"true" enum:"InstanceInformationFilterKey"` - - // The filter values. - // - // ValueSet is a required field - ValueSet []*string `locationName:"valueSet" min:"1" type:"list" required:"true"` -} - -// String returns the string representation -func (s InstanceInformationFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s InstanceInformationFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *InstanceInformationFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InstanceInformationFilter"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - if s.ValueSet == nil { - invalidParams.Add(request.NewErrParamRequired("ValueSet")) - } - if s.ValueSet != nil && len(s.ValueSet) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ValueSet", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetKey sets the Key field's value. -func (s *InstanceInformationFilter) SetKey(v string) *InstanceInformationFilter { - s.Key = &v - return s -} - -// SetValueSet sets the ValueSet field's value. -func (s *InstanceInformationFilter) SetValueSet(v []*string) *InstanceInformationFilter { - s.ValueSet = v - 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 `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 -} - -// Defines the high-level patch compliance state for a managed instance, providing -// information about the number of installed, missing, not applicable, and failed -// patches along with metadata about the operation when this information was -// gathered for the instance. -type InstancePatchState struct { - _ struct{} `type:"structure"` - - // The ID of the patch baseline used to patch the instance. - // - // BaselineId is a required field - BaselineId *string `min:"20" type:"string" required:"true"` - - // The number of patches from the patch baseline that were attempted to be installed - // during the last patching operation, but failed to install. - FailedCount *int64 `type:"integer"` - - // An https URL or an Amazon S3 path-style URL to a list of patches to be installed. - // This patch installation list, which you maintain in an Amazon S3 bucket in - // YAML format and specify in the SSM document AWS-RunPatchBaseline, overrides - // the patches specified by the default patch baseline. - // - // For more information about the InstallOverrideList parameter, see About the - // SSM Document AWS-RunPatchBaseline (http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-about-aws-runpatchbaseline.html) - // in the AWS Systems Manager User Guide. - InstallOverrideList *string `min:"1" type:"string"` - - // The number of patches from the patch baseline that are installed on the instance. - InstalledCount *int64 `type:"integer"` - - // The number of patches not specified in the patch baseline that are installed - // on the instance. - InstalledOtherCount *int64 `type:"integer"` - - // The number of instances with patches installed that are specified in a RejectedPatches - // list. Patches with a status of InstalledRejected were typically installed - // before they were added to a RejectedPatches list. - // - // If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction, - // the value of InstalledRejectedCount will always be 0 (zero). - InstalledRejectedCount *int64 `type:"integer"` - - // The ID of the managed instance the high-level patch compliance information - // was collected for. - // - // InstanceId is a required field - InstanceId *string `type:"string" required:"true"` - - // The number of patches from the patch baseline that are applicable for the - // instance but aren't currently installed. - MissingCount *int64 `type:"integer"` - - // The number of patches from the patch baseline that aren't applicable for - // the instance and hence aren't installed on the instance. - NotApplicableCount *int64 `type:"integer"` - - // The type of patching operation that was performed: SCAN (assess patch compliance - // state) or INSTALL (install missing patches). - // - // Operation is a required field - Operation *string `type:"string" required:"true" enum:"PatchOperationType"` - - // The time the most recent patching operation completed on the instance. - // - // OperationEndTime is a required field - OperationEndTime *time.Time `type:"timestamp" required:"true"` - - // The time the most recent patching operation was started on the instance. - // - // OperationStartTime is a required field - OperationStartTime *time.Time `type:"timestamp" required:"true"` - - // Placeholder information. This field will always be empty in the current release - // of the service. - OwnerInformation *string `min:"1" type:"string" sensitive:"true"` - - // The name of the patch group the managed instance belongs to. - // - // PatchGroup is a required field - PatchGroup *string `min:"1" type:"string" required:"true"` - - // The ID of the patch baseline snapshot used during the patching operation - // when this compliance data was collected. - SnapshotId *string `min:"36" type:"string"` -} - -// String returns the string representation -func (s InstancePatchState) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s InstancePatchState) GoString() string { - return s.String() -} - -// SetBaselineId sets the BaselineId field's value. -func (s *InstancePatchState) SetBaselineId(v string) *InstancePatchState { - s.BaselineId = &v - return s -} - -// SetFailedCount sets the FailedCount field's value. -func (s *InstancePatchState) SetFailedCount(v int64) *InstancePatchState { - s.FailedCount = &v - return s -} - -// SetInstallOverrideList sets the InstallOverrideList field's value. -func (s *InstancePatchState) SetInstallOverrideList(v string) *InstancePatchState { - s.InstallOverrideList = &v - return s -} - -// SetInstalledCount sets the InstalledCount field's value. -func (s *InstancePatchState) SetInstalledCount(v int64) *InstancePatchState { - s.InstalledCount = &v - return s -} - -// SetInstalledOtherCount sets the InstalledOtherCount field's value. -func (s *InstancePatchState) SetInstalledOtherCount(v int64) *InstancePatchState { - s.InstalledOtherCount = &v - return s -} - -// SetInstalledRejectedCount sets the InstalledRejectedCount field's value. -func (s *InstancePatchState) SetInstalledRejectedCount(v int64) *InstancePatchState { - s.InstalledRejectedCount = &v - return s -} - -// SetInstanceId sets the InstanceId field's value. -func (s *InstancePatchState) SetInstanceId(v string) *InstancePatchState { - s.InstanceId = &v - return s -} - -// SetMissingCount sets the MissingCount field's value. -func (s *InstancePatchState) SetMissingCount(v int64) *InstancePatchState { - s.MissingCount = &v - return s -} - -// SetNotApplicableCount sets the NotApplicableCount field's value. -func (s *InstancePatchState) SetNotApplicableCount(v int64) *InstancePatchState { - s.NotApplicableCount = &v - return s -} - -// SetOperation sets the Operation field's value. -func (s *InstancePatchState) SetOperation(v string) *InstancePatchState { - s.Operation = &v - return s -} - -// SetOperationEndTime sets the OperationEndTime field's value. -func (s *InstancePatchState) SetOperationEndTime(v time.Time) *InstancePatchState { - s.OperationEndTime = &v - return s -} - -// SetOperationStartTime sets the OperationStartTime field's value. -func (s *InstancePatchState) SetOperationStartTime(v time.Time) *InstancePatchState { - s.OperationStartTime = &v - return s -} - -// SetOwnerInformation sets the OwnerInformation field's value. -func (s *InstancePatchState) SetOwnerInformation(v string) *InstancePatchState { - s.OwnerInformation = &v - return s -} - -// SetPatchGroup sets the PatchGroup field's value. -func (s *InstancePatchState) SetPatchGroup(v string) *InstancePatchState { - s.PatchGroup = &v - return s -} - -// SetSnapshotId sets the SnapshotId field's value. -func (s *InstancePatchState) SetSnapshotId(v string) *InstancePatchState { - s.SnapshotId = &v - return s -} - -// Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to -// scope down the information returned by the API. -type InstancePatchStateFilter struct { - _ struct{} `type:"structure"` - - // The key for the filter. Supported values are FailedCount, InstalledCount, - // InstalledOtherCount, MissingCount and NotApplicableCount. - // - // Key is a required field - Key *string `min:"1" type:"string" required:"true"` - - // The type of comparison that should be performed for the value: Equal, NotEqual, - // LessThan or GreaterThan. - // - // Type is a required field - Type *string `type:"string" required:"true" enum:"InstancePatchStateOperatorType"` - - // The value for the filter, must be an integer greater than or equal to 0. - // - // Values is a required field - Values []*string `min:"1" type:"list" required:"true"` -} - -// String returns the string representation -func (s InstancePatchStateFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s InstancePatchStateFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *InstancePatchStateFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InstancePatchStateFilter"} - 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.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - 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 *InstancePatchStateFilter) SetKey(v string) *InstancePatchStateFilter { - s.Key = &v - return s -} - -// SetType sets the Type field's value. -func (s *InstancePatchStateFilter) SetType(v string) *InstancePatchStateFilter { - s.Type = &v - return s -} - -// SetValues sets the Values field's value. -func (s *InstancePatchStateFilter) SetValues(v []*string) *InstancePatchStateFilter { - s.Values = v - return s -} - -// Specifies the inventory type and attribute for the aggregation execution. -type InventoryAggregator struct { - _ struct{} `type:"structure"` - - // Nested aggregators to further refine aggregation for an inventory type. - Aggregators []*InventoryAggregator `min:"1" type:"list"` - - // The inventory type and attribute name for aggregation. - Expression *string `min:"1" type:"string"` - - // A user-defined set of one or more filters on which to aggregate inventory - // data. Groups return a count of resources that match and don't match the specified - // criteria. - Groups []*InventoryGroup `min:"1" type:"list"` -} - -// String returns the string representation -func (s InventoryAggregator) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s InventoryAggregator) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *InventoryAggregator) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InventoryAggregator"} - if s.Aggregators != nil && len(s.Aggregators) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1)) - } - if s.Expression != nil && len(*s.Expression) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) - } - if s.Groups != nil && len(s.Groups) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Groups", 1)) - } - if s.Aggregators != nil { - for i, v := range s.Aggregators { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Groups != nil { - for i, v := range s.Groups { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Groups", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAggregators sets the Aggregators field's value. -func (s *InventoryAggregator) SetAggregators(v []*InventoryAggregator) *InventoryAggregator { - s.Aggregators = v - return s -} - -// SetExpression sets the Expression field's value. -func (s *InventoryAggregator) SetExpression(v string) *InventoryAggregator { - s.Expression = &v - return s -} - -// SetGroups sets the Groups field's value. -func (s *InventoryAggregator) SetGroups(v []*InventoryGroup) *InventoryAggregator { - s.Groups = v - return s -} - -// Status information returned by the DeleteInventory action. -type InventoryDeletionStatusItem struct { - _ struct{} `type:"structure"` - - // The deletion ID returned by the DeleteInventory action. - DeletionId *string `type:"string"` - - // The UTC timestamp when the delete operation started. - DeletionStartTime *time.Time `type:"timestamp"` - - // Information about the delete operation. For more information about this summary, - // see Understanding the Delete Inventory Summary (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-delete.html#sysman-inventory-delete-summary) - // in the AWS Systems Manager User Guide. - DeletionSummary *InventoryDeletionSummary `type:"structure"` - - // The status of the operation. Possible values are InProgress and Complete. - LastStatus *string `type:"string" enum:"InventoryDeletionStatus"` - - // Information about the status. - LastStatusMessage *string `type:"string"` - - // The UTC timestamp of when the last status report. - LastStatusUpdateTime *time.Time `type:"timestamp"` - - // The name of the inventory data type. - TypeName *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s InventoryDeletionStatusItem) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s InventoryDeletionStatusItem) GoString() string { - return s.String() -} - -// SetDeletionId sets the DeletionId field's value. -func (s *InventoryDeletionStatusItem) SetDeletionId(v string) *InventoryDeletionStatusItem { - s.DeletionId = &v - return s -} - -// SetDeletionStartTime sets the DeletionStartTime field's value. -func (s *InventoryDeletionStatusItem) SetDeletionStartTime(v time.Time) *InventoryDeletionStatusItem { - s.DeletionStartTime = &v - return s -} - -// SetDeletionSummary sets the DeletionSummary field's value. -func (s *InventoryDeletionStatusItem) SetDeletionSummary(v *InventoryDeletionSummary) *InventoryDeletionStatusItem { - s.DeletionSummary = v - return s -} - -// SetLastStatus sets the LastStatus field's value. -func (s *InventoryDeletionStatusItem) SetLastStatus(v string) *InventoryDeletionStatusItem { - s.LastStatus = &v - return s -} - -// SetLastStatusMessage sets the LastStatusMessage field's value. -func (s *InventoryDeletionStatusItem) SetLastStatusMessage(v string) *InventoryDeletionStatusItem { - s.LastStatusMessage = &v - return s -} - -// SetLastStatusUpdateTime sets the LastStatusUpdateTime field's value. -func (s *InventoryDeletionStatusItem) SetLastStatusUpdateTime(v time.Time) *InventoryDeletionStatusItem { - s.LastStatusUpdateTime = &v - return s -} - -// SetTypeName sets the TypeName field's value. -func (s *InventoryDeletionStatusItem) SetTypeName(v string) *InventoryDeletionStatusItem { - s.TypeName = &v - return s -} - -// Information about the delete operation. -type InventoryDeletionSummary struct { - _ struct{} `type:"structure"` - - // Remaining number of items to delete. - RemainingCount *int64 `type:"integer"` - - // A list of counts and versions for deleted items. - SummaryItems []*InventoryDeletionSummaryItem `type:"list"` - - // The total number of items to delete. This count does not change during the - // delete operation. - TotalCount *int64 `type:"integer"` -} - -// String returns the string representation -func (s InventoryDeletionSummary) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s InventoryDeletionSummary) GoString() string { - return s.String() -} - -// SetRemainingCount sets the RemainingCount field's value. -func (s *InventoryDeletionSummary) SetRemainingCount(v int64) *InventoryDeletionSummary { - s.RemainingCount = &v - return s -} - -// SetSummaryItems sets the SummaryItems field's value. -func (s *InventoryDeletionSummary) SetSummaryItems(v []*InventoryDeletionSummaryItem) *InventoryDeletionSummary { - s.SummaryItems = v - return s -} - -// SetTotalCount sets the TotalCount field's value. -func (s *InventoryDeletionSummary) SetTotalCount(v int64) *InventoryDeletionSummary { - s.TotalCount = &v - return s -} - -// Either a count, remaining count, or a version number in a delete inventory -// summary. -type InventoryDeletionSummaryItem struct { - _ struct{} `type:"structure"` - - // A count of the number of deleted items. - Count *int64 `type:"integer"` - - // The remaining number of items to delete. - RemainingCount *int64 `type:"integer"` - - // The inventory type version. - Version *string `type:"string"` -} - -// String returns the string representation -func (s InventoryDeletionSummaryItem) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s InventoryDeletionSummaryItem) GoString() string { - return s.String() -} - -// SetCount sets the Count field's value. -func (s *InventoryDeletionSummaryItem) SetCount(v int64) *InventoryDeletionSummaryItem { - s.Count = &v - return s -} - -// SetRemainingCount sets the RemainingCount field's value. -func (s *InventoryDeletionSummaryItem) SetRemainingCount(v int64) *InventoryDeletionSummaryItem { - s.RemainingCount = &v - return s -} - -// SetVersion sets the Version field's value. -func (s *InventoryDeletionSummaryItem) SetVersion(v string) *InventoryDeletionSummaryItem { - s.Version = &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 `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 -} - -// A user-defined set of one or more filters on which to aggregate inventory -// data. Groups return a count of resources that match and don't match the specified -// criteria. -type InventoryGroup struct { - _ struct{} `type:"structure"` - - // Filters define the criteria for the group. The matchingCount field displays - // the number of resources that match the criteria. The notMatchingCount field - // displays the number of resources that don't match the criteria. - // - // Filters is a required field - Filters []*InventoryFilter `min:"1" type:"list" required:"true"` - - // The name of the group. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s InventoryGroup) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s InventoryGroup) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *InventoryGroup) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InventoryGroup"} - if s.Filters == nil { - invalidParams.Add(request.NewErrParamRequired("Filters")) - } - if s.Filters != nil && len(s.Filters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Filters", 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.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 *InventoryGroup) SetFilters(v []*InventoryFilter) *InventoryGroup { - s.Filters = v - return s -} - -// SetName sets the Name field's value. -func (s *InventoryGroup) SetName(v string) *InventoryGroup { - s.Name = &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"` - - // A map of associated properties for a specified inventory type. For example, - // with this attribute, you can specify the ExecutionId, ExecutionType, ComplianceType - // properties of the AWS:ComplianceItem type. - Context map[string]*string `type:"map"` - - // 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 -} - -// SetContext sets the Context field's value. -func (s *InventoryItem) SetContext(v map[string]*string) *InventoryItem { - s.Context = 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 `min:"1" type:"list" required:"true"` - - // The alias name of the inventory type. The alias name is used for display - // purposes. - DisplayName *string `type:"string"` - - // 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 -} - -// SetDisplayName sets the DisplayName field's value. -func (s *InventoryItemSchema) SetDisplayName(v string) *InventoryItemSchema { - s.DisplayName = &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 LabelParameterVersionInput struct { - _ struct{} `type:"structure"` - - // One or more labels to attach to the specified parameter version. - // - // Labels is a required field - Labels []*string `min:"1" type:"list" required:"true"` - - // The parameter name on which you want to attach one or more labels. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // The specific version of the parameter on which you want to attach one or - // more labels. If no version is specified, the system attaches the label to - // the latest version.) - ParameterVersion *int64 `type:"long"` -} - -// String returns the string representation -func (s LabelParameterVersionInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s LabelParameterVersionInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *LabelParameterVersionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LabelParameterVersionInput"} - if s.Labels == nil { - invalidParams.Add(request.NewErrParamRequired("Labels")) - } - if s.Labels != nil && len(s.Labels) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Labels", 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 -} - -// SetLabels sets the Labels field's value. -func (s *LabelParameterVersionInput) SetLabels(v []*string) *LabelParameterVersionInput { - s.Labels = v - return s -} - -// SetName sets the Name field's value. -func (s *LabelParameterVersionInput) SetName(v string) *LabelParameterVersionInput { - s.Name = &v - return s -} - -// SetParameterVersion sets the ParameterVersion field's value. -func (s *LabelParameterVersionInput) SetParameterVersion(v int64) *LabelParameterVersionInput { - s.ParameterVersion = &v - return s -} - -type LabelParameterVersionOutput struct { - _ struct{} `type:"structure"` - - // The label does not meet the requirements. For information about parameter - // label requirements, see Labeling Parameters (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html) - // in the AWS Systems Manager User Guide. - InvalidLabels []*string `min:"1" type:"list"` -} - -// String returns the string representation -func (s LabelParameterVersionOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s LabelParameterVersionOutput) GoString() string { - return s.String() -} - -// SetInvalidLabels sets the InvalidLabels field's value. -func (s *LabelParameterVersionOutput) SetInvalidLabels(v []*string) *LabelParameterVersionOutput { - s.InvalidLabels = v - return s -} - -type ListAssociationVersionsInput struct { - _ struct{} `type:"structure"` - - // The association ID for which you want to view all versions. - // - // AssociationId is a required field - AssociationId *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"` - - // A token to start the list. Use this token to get the next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s ListAssociationVersionsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListAssociationVersionsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListAssociationVersionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListAssociationVersionsInput"} - if s.AssociationId == nil { - invalidParams.Add(request.NewErrParamRequired("AssociationId")) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAssociationId sets the AssociationId field's value. -func (s *ListAssociationVersionsInput) SetAssociationId(v string) *ListAssociationVersionsInput { - s.AssociationId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListAssociationVersionsInput) SetMaxResults(v int64) *ListAssociationVersionsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListAssociationVersionsInput) SetNextToken(v string) *ListAssociationVersionsInput { - s.NextToken = &v - return s -} - -type ListAssociationVersionsOutput struct { - _ struct{} `type:"structure"` - - // Information about all versions of the association for the specified association - // ID. - AssociationVersions []*AssociationVersionInfo `min:"1" type:"list"` - - // The token for the next set of items to return. Use this token to get the - // next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s ListAssociationVersionsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListAssociationVersionsOutput) GoString() string { - return s.String() -} - -// SetAssociationVersions sets the AssociationVersions field's value. -func (s *ListAssociationVersionsOutput) SetAssociationVersions(v []*AssociationVersionInfo) *ListAssociationVersionsOutput { - s.AssociationVersions = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListAssociationVersionsOutput) SetNextToken(v string) *ListAssociationVersionsOutput { - s.NextToken = &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 []*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 - // 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 ListAssociationsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListAssociationsInput) GoString() string { - return s.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 && len(s.AssociationFilterList) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssociationFilterList", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.AssociationFilterList != nil { - for i, v := range s.AssociationFilterList { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssociationFilterList", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAssociationFilterList sets the AssociationFilterList field's value. -func (s *ListAssociationsInput) SetAssociationFilterList(v []*AssociationFilter) *ListAssociationsInput { - s.AssociationFilterList = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListAssociationsInput) SetMaxResults(v int64) *ListAssociationsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListAssociationsInput) SetNextToken(v string) *ListAssociationsInput { - s.NextToken = &v - return s -} - -type ListAssociationsOutput struct { - _ struct{} `type:"structure"` - - // The associations. - Associations []*Association `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 ListAssociationsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListAssociationsOutput) GoString() string { - return s.String() -} - -// SetAssociations sets the Associations field's value. -func (s *ListAssociationsOutput) SetAssociations(v []*Association) *ListAssociationsOutput { - s.Associations = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListAssociationsOutput) SetNextToken(v string) *ListAssociationsOutput { - s.NextToken = &v - return s -} - -type ListCommandInvocationsInput struct { - _ struct{} `type:"structure"` - - // (Optional) The invocations for a specific command ID. - CommandId *string `min:"36" type:"string"` - - // (Optional) If set this returns the response of the command executions and - // any command output. By default this is set to False. - Details *bool `type:"boolean"` - - // (Optional) One or more filters. Use a filter to return a more specific list - // of results. - Filters []*CommandFilter `min:"1" type:"list"` - - // (Optional) The command execution details for a specific instance ID. - InstanceId *string `type:"string"` - - // (Optional) 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"` - - // (Optional) 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 ListCommandInvocationsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListCommandInvocationsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListCommandInvocationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListCommandInvocationsInput"} - if s.CommandId != nil && len(*s.CommandId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CommandId", 36)) - } - 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 -} - -// SetCommandId sets the CommandId field's value. -func (s *ListCommandInvocationsInput) SetCommandId(v string) *ListCommandInvocationsInput { - s.CommandId = &v - return s -} - -// SetDetails sets the Details field's value. -func (s *ListCommandInvocationsInput) SetDetails(v bool) *ListCommandInvocationsInput { - s.Details = &v - return s -} - -// SetFilters sets the Filters field's value. -func (s *ListCommandInvocationsInput) SetFilters(v []*CommandFilter) *ListCommandInvocationsInput { - s.Filters = v - return s -} - -// SetInstanceId sets the InstanceId field's value. -func (s *ListCommandInvocationsInput) SetInstanceId(v string) *ListCommandInvocationsInput { - s.InstanceId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListCommandInvocationsInput) SetMaxResults(v int64) *ListCommandInvocationsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListCommandInvocationsInput) SetNextToken(v string) *ListCommandInvocationsInput { - s.NextToken = &v - return s -} - -type ListCommandInvocationsOutput struct { - _ struct{} `type:"structure"` - - // (Optional) A list of all invocations. - CommandInvocations []*CommandInvocation `type:"list"` - - // (Optional) 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 ListCommandInvocationsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListCommandInvocationsOutput) GoString() string { - return s.String() -} - -// SetCommandInvocations sets the CommandInvocations field's value. -func (s *ListCommandInvocationsOutput) SetCommandInvocations(v []*CommandInvocation) *ListCommandInvocationsOutput { - s.CommandInvocations = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListCommandInvocationsOutput) SetNextToken(v string) *ListCommandInvocationsOutput { - s.NextToken = &v - return s -} - -type ListCommandsInput struct { - _ struct{} `type:"structure"` - - // (Optional) If provided, lists only the specified command. - CommandId *string `min:"36" type:"string"` - - // (Optional) One or more filters. Use a filter to return a more specific list - // of results. - Filters []*CommandFilter `min:"1" type:"list"` - - // (Optional) Lists commands issued against this instance ID. - InstanceId *string `type:"string"` - - // (Optional) 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"` - - // (Optional) 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 ListCommandsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListCommandsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListCommandsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListCommandsInput"} - if s.CommandId != nil && len(*s.CommandId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CommandId", 36)) - } - 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 -} - -// SetCommandId sets the CommandId field's value. -func (s *ListCommandsInput) SetCommandId(v string) *ListCommandsInput { - s.CommandId = &v - return s -} - -// SetFilters sets the Filters field's value. -func (s *ListCommandsInput) SetFilters(v []*CommandFilter) *ListCommandsInput { - s.Filters = v - return s -} - -// SetInstanceId sets the InstanceId field's value. -func (s *ListCommandsInput) SetInstanceId(v string) *ListCommandsInput { - s.InstanceId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListCommandsInput) SetMaxResults(v int64) *ListCommandsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListCommandsInput) SetNextToken(v string) *ListCommandsInput { - s.NextToken = &v - return s -} - -type ListCommandsOutput struct { - _ struct{} `type:"structure"` - - // (Optional) The list of commands requested by the user. - Commands []*Command `type:"list"` - - // (Optional) 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 ListCommandsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListCommandsOutput) GoString() string { - return s.String() -} - -// SetCommands sets the Commands field's value. -func (s *ListCommandsOutput) SetCommands(v []*Command) *ListCommandsOutput { - s.Commands = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListCommandsOutput) SetNextToken(v string) *ListCommandsOutput { - s.NextToken = &v - return s -} - -type ListComplianceItemsInput struct { - _ struct{} `type:"structure"` - - // One or more compliance filters. Use a filter to return a more specific list - // of results. - Filters []*ComplianceStringFilter `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"` - - // A token to start the list. Use this token to get the next set of results. - NextToken *string `type:"string"` - - // The ID for the resources from which to get compliance information. Currently, - // you can only specify one resource ID. - ResourceIds []*string `min:"1" type:"list"` - - // The type of resource from which to get compliance information. Currently, - // the only supported resource type is ManagedInstance. - ResourceTypes []*string `min:"1" type:"list"` -} - -// String returns the string representation -func (s ListComplianceItemsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListComplianceItemsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListComplianceItemsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListComplianceItemsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.ResourceIds != nil && len(s.ResourceIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) - } - if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 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 *ListComplianceItemsInput) SetFilters(v []*ComplianceStringFilter) *ListComplianceItemsInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListComplianceItemsInput) SetMaxResults(v int64) *ListComplianceItemsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListComplianceItemsInput) SetNextToken(v string) *ListComplianceItemsInput { - s.NextToken = &v - return s -} - -// SetResourceIds sets the ResourceIds field's value. -func (s *ListComplianceItemsInput) SetResourceIds(v []*string) *ListComplianceItemsInput { - s.ResourceIds = v - return s -} - -// SetResourceTypes sets the ResourceTypes field's value. -func (s *ListComplianceItemsInput) SetResourceTypes(v []*string) *ListComplianceItemsInput { - s.ResourceTypes = v - return s -} - -type ListComplianceItemsOutput struct { - _ struct{} `type:"structure"` - - // A list of compliance information for the specified resource ID. - ComplianceItems []*ComplianceItem `type:"list"` - - // The token for the next set of items to return. Use this token to get the - // next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s ListComplianceItemsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListComplianceItemsOutput) GoString() string { - return s.String() -} - -// SetComplianceItems sets the ComplianceItems field's value. -func (s *ListComplianceItemsOutput) SetComplianceItems(v []*ComplianceItem) *ListComplianceItemsOutput { - s.ComplianceItems = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListComplianceItemsOutput) SetNextToken(v string) *ListComplianceItemsOutput { - s.NextToken = &v - return s -} - -type ListComplianceSummariesInput struct { - _ struct{} `type:"structure"` - - // One or more compliance or inventory filters. Use a filter to return a more - // specific list of results. - Filters []*ComplianceStringFilter `type:"list"` - - // The maximum number of items to return for this call. Currently, you can specify - // null or 50. 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"` - - // A token to start the list. Use this token to get the next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s ListComplianceSummariesInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListComplianceSummariesInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListComplianceSummariesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListComplianceSummariesInput"} - 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 *ListComplianceSummariesInput) SetFilters(v []*ComplianceStringFilter) *ListComplianceSummariesInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListComplianceSummariesInput) SetMaxResults(v int64) *ListComplianceSummariesInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListComplianceSummariesInput) SetNextToken(v string) *ListComplianceSummariesInput { - s.NextToken = &v - return s -} - -type ListComplianceSummariesOutput struct { - _ struct{} `type:"structure"` - - // A list of compliant and non-compliant summary counts based on compliance - // types. For example, this call returns State Manager associations, patches, - // or custom compliance types according to the filter criteria that you specified. - ComplianceSummaryItems []*ComplianceSummaryItem `type:"list"` - - // The token for the next set of items to return. Use this token to get the - // next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s ListComplianceSummariesOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListComplianceSummariesOutput) GoString() string { - return s.String() -} - -// SetComplianceSummaryItems sets the ComplianceSummaryItems field's value. -func (s *ListComplianceSummariesOutput) SetComplianceSummaryItems(v []*ComplianceSummaryItem) *ListComplianceSummariesOutput { - s.ComplianceSummaryItems = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListComplianceSummariesOutput) SetNextToken(v string) *ListComplianceSummariesOutput { - s.NextToken = &v - 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"` - - // One or more filters. Use a filter to return a more specific list of results. - DocumentFilterList []*DocumentFilter `min:"1" type:"list"` - - // One or more filters. Use a filter to return a more specific list of results. - Filters []*DocumentKeyValuesFilter `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 ListDocumentsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListDocumentsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListDocumentsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListDocumentsInput"} - if s.DocumentFilterList != nil && len(s.DocumentFilterList) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DocumentFilterList", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.DocumentFilterList != nil { - for i, v := range s.DocumentFilterList { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DocumentFilterList", i), err.(request.ErrInvalidParams)) - } - } - } - 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 -} - -// SetDocumentFilterList sets the DocumentFilterList field's value. -func (s *ListDocumentsInput) SetDocumentFilterList(v []*DocumentFilter) *ListDocumentsInput { - s.DocumentFilterList = v - return s -} - -// SetFilters sets the Filters field's value. -func (s *ListDocumentsInput) SetFilters(v []*DocumentKeyValuesFilter) *ListDocumentsInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListDocumentsInput) SetMaxResults(v int64) *ListDocumentsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListDocumentsInput) SetNextToken(v string) *ListDocumentsInput { - s.NextToken = &v - return s -} - -type ListDocumentsOutput struct { - _ struct{} `type:"structure"` - - // The names of the Systems Manager documents. - DocumentIdentifiers []*DocumentIdentifier `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 ListDocumentsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListDocumentsOutput) GoString() string { - return s.String() -} - -// SetDocumentIdentifiers sets the DocumentIdentifiers field's value. -func (s *ListDocumentsOutput) SetDocumentIdentifiers(v []*DocumentIdentifier) *ListDocumentsOutput { - s.DocumentIdentifiers = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListDocumentsOutput) SetNextToken(v string) *ListDocumentsOutput { - s.NextToken = &v - 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 `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 ListResourceComplianceSummariesInput struct { - _ struct{} `type:"structure"` - - // One or more filters. Use a filter to return a more specific list of results. - Filters []*ComplianceStringFilter `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"` - - // A token to start the list. Use this token to get the next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s ListResourceComplianceSummariesInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListResourceComplianceSummariesInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListResourceComplianceSummariesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListResourceComplianceSummariesInput"} - 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 *ListResourceComplianceSummariesInput) SetFilters(v []*ComplianceStringFilter) *ListResourceComplianceSummariesInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListResourceComplianceSummariesInput) SetMaxResults(v int64) *ListResourceComplianceSummariesInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListResourceComplianceSummariesInput) SetNextToken(v string) *ListResourceComplianceSummariesInput { - s.NextToken = &v - return s -} - -type ListResourceComplianceSummariesOutput struct { - _ struct{} `type:"structure"` - - // The token for the next set of items to return. Use this token to get the - // next set of results. - NextToken *string `type:"string"` - - // A summary count for specified or targeted managed instances. Summary count - // includes information about compliant and non-compliant State Manager associations, - // patch status, or custom items according to the filter criteria that you specify. - ResourceComplianceSummaryItems []*ResourceComplianceSummaryItem `type:"list"` -} - -// String returns the string representation -func (s ListResourceComplianceSummariesOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListResourceComplianceSummariesOutput) GoString() string { - return s.String() -} - -// SetNextToken sets the NextToken field's value. -func (s *ListResourceComplianceSummariesOutput) SetNextToken(v string) *ListResourceComplianceSummariesOutput { - s.NextToken = &v - return s -} - -// SetResourceComplianceSummaryItems sets the ResourceComplianceSummaryItems field's value. -func (s *ListResourceComplianceSummariesOutput) SetResourceComplianceSummaryItems(v []*ResourceComplianceSummaryItem) *ListResourceComplianceSummariesOutput { - s.ResourceComplianceSummaryItems = v - return s -} - -type ListResourceDataSyncInput 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"` - - // A token to start the list. Use this token to get the next set of results. - NextToken *string `type:"string"` -} - -// String returns the string representation -func (s ListResourceDataSyncInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListResourceDataSyncInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListResourceDataSyncInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListResourceDataSyncInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListResourceDataSyncInput) SetMaxResults(v int64) *ListResourceDataSyncInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListResourceDataSyncInput) SetNextToken(v string) *ListResourceDataSyncInput { - s.NextToken = &v - return s -} - -type ListResourceDataSyncOutput struct { - _ struct{} `type:"structure"` - - // The token for the next set of items to return. Use this token to get the - // next set of results. - NextToken *string `type:"string"` - - // A list of your current Resource Data Sync configurations and their statuses. - ResourceDataSyncItems []*ResourceDataSyncItem `type:"list"` -} - -// String returns the string representation -func (s ListResourceDataSyncOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListResourceDataSyncOutput) GoString() string { - return s.String() -} - -// SetNextToken sets the NextToken field's value. -func (s *ListResourceDataSyncOutput) SetNextToken(v string) *ListResourceDataSyncOutput { - s.NextToken = &v - return s -} - -// SetResourceDataSyncItems sets the ResourceDataSyncItems field's value. -func (s *ListResourceDataSyncOutput) SetResourceDataSyncItems(v []*ResourceDataSyncItem) *ListResourceDataSyncOutput { - s.ResourceDataSyncItems = v - return s -} - -type ListTagsForResourceInput struct { - _ struct{} `type:"structure"` - - // The resource ID for which you want to see a list of tags. - // - // ResourceId is a required field - ResourceId *string `type:"string" required:"true"` - - // Returns a list of tags for a specific resource type. - // - // ResourceType is a required field - ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"` -} - -// String returns the string representation -func (s ListTagsForResourceInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListTagsForResourceInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListTagsForResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} - if s.ResourceId == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceId")) - } - if s.ResourceType == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceType")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetResourceId sets the ResourceId field's value. -func (s *ListTagsForResourceInput) SetResourceId(v string) *ListTagsForResourceInput { - s.ResourceId = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *ListTagsForResourceInput) SetResourceType(v string) *ListTagsForResourceInput { - s.ResourceType = &v - return s -} - -type ListTagsForResourceOutput struct { - _ struct{} `type:"structure"` - - // A list of tags. - TagList []*Tag `type:"list"` -} - -// String returns the string representation -func (s ListTagsForResourceOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListTagsForResourceOutput) GoString() string { - return s.String() -} - -// SetTagList sets the TagList field's value. -func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput { - s.TagList = v - return s -} - -// Information about an Amazon S3 bucket to write instance-level logs to. -// -// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, -// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters -// structure. For information about how Systems Manager handles these options -// for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. -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 -} - -// The parameters for an AUTOMATION task type. -type MaintenanceWindowAutomationParameters struct { - _ struct{} `type:"structure"` - - // The version of an Automation document to use during task execution. - DocumentVersion *string `type:"string"` - - // The parameters for the AUTOMATION task. - // - // For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow - // and UpdateMaintenanceWindowTask. - // - // LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, - // instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - // - // TaskParameters has been deprecated. To specify parameters to pass to a task - // when it runs, instead use the Parameters option in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - // - // For AUTOMATION task types, Systems Manager ignores any values specified for - // these parameters. - Parameters map[string][]*string `min:"1" type:"map"` -} - -// String returns the string representation -func (s MaintenanceWindowAutomationParameters) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s MaintenanceWindowAutomationParameters) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *MaintenanceWindowAutomationParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowAutomationParameters"} - if s.Parameters != nil && len(s.Parameters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDocumentVersion sets the DocumentVersion field's value. -func (s *MaintenanceWindowAutomationParameters) SetDocumentVersion(v string) *MaintenanceWindowAutomationParameters { - s.DocumentVersion = &v - return s -} - -// SetParameters sets the Parameters field's value. -func (s *MaintenanceWindowAutomationParameters) SetParameters(v map[string][]*string) *MaintenanceWindowAutomationParameters { - s.Parameters = 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"` - - // The time the execution started. - StartTime *time.Time `type:"timestamp"` - - // 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"` - - // The time the task execution started. - StartTime *time.Time `type:"timestamp"` - - // 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"` - - // 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" sensitive:"true"` - - // The parameters that were provided for the invocation when it was executed. - Parameters *string `type:"string" sensitive:"true"` - - // The time the invocation started. - StartTime *time.Time `type:"timestamp"` - - // 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 task type. - TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"` - - // 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 -} - -// SetTaskType sets the TaskType field's value. -func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetTaskType(v string) *MaintenanceWindowExecutionTaskInvocationIdentity { - s.TaskType = &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. Supported filter keys are Name and Enabled. -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"` - - // A description of the Maintenance Window. - Description *string `min:"1" type:"string" sensitive:"true"` - - // 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 date and time, in ISO-8601 Extended format, for when the Maintenance - // Window is scheduled to become inactive. - EndDate *string `type:"string"` - - // The name of the Maintenance Window. - Name *string `min:"3" type:"string"` - - // The next time the Maintenance Window will actually run, taking into account - // any specified times for the Maintenance Window to become active or inactive. - NextExecutionTime *string `type:"string"` - - // The schedule of the Maintenance Window in the form of a cron or rate expression. - Schedule *string `min:"1" type:"string"` - - // The time zone that the scheduled Maintenance Window executions are based - // on, in Internet Assigned Numbers Authority (IANA) format. - ScheduleTimezone *string `type:"string"` - - // The date and time, in ISO-8601 Extended format, for when the Maintenance - // Window is scheduled to become active. - StartDate *string `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 -} - -// SetDescription sets the Description field's value. -func (s *MaintenanceWindowIdentity) SetDescription(v string) *MaintenanceWindowIdentity { - s.Description = &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 -} - -// SetEndDate sets the EndDate field's value. -func (s *MaintenanceWindowIdentity) SetEndDate(v string) *MaintenanceWindowIdentity { - s.EndDate = &v - return s -} - -// SetName sets the Name field's value. -func (s *MaintenanceWindowIdentity) SetName(v string) *MaintenanceWindowIdentity { - s.Name = &v - return s -} - -// SetNextExecutionTime sets the NextExecutionTime field's value. -func (s *MaintenanceWindowIdentity) SetNextExecutionTime(v string) *MaintenanceWindowIdentity { - s.NextExecutionTime = &v - return s -} - -// SetSchedule sets the Schedule field's value. -func (s *MaintenanceWindowIdentity) SetSchedule(v string) *MaintenanceWindowIdentity { - s.Schedule = &v - return s -} - -// SetScheduleTimezone sets the ScheduleTimezone field's value. -func (s *MaintenanceWindowIdentity) SetScheduleTimezone(v string) *MaintenanceWindowIdentity { - s.ScheduleTimezone = &v - return s -} - -// SetStartDate sets the StartDate field's value. -func (s *MaintenanceWindowIdentity) SetStartDate(v string) *MaintenanceWindowIdentity { - s.StartDate = &v - return s -} - -// SetWindowId sets the WindowId field's value. -func (s *MaintenanceWindowIdentity) SetWindowId(v string) *MaintenanceWindowIdentity { - s.WindowId = &v - return s -} - -// The Maintenance Window to which the specified target belongs. -type MaintenanceWindowIdentityForTarget struct { - _ struct{} `type:"structure"` - - // 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 MaintenanceWindowIdentityForTarget) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s MaintenanceWindowIdentityForTarget) GoString() string { - return s.String() -} - -// SetName sets the Name field's value. -func (s *MaintenanceWindowIdentityForTarget) SetName(v string) *MaintenanceWindowIdentityForTarget { - s.Name = &v - return s -} - -// SetWindowId sets the WindowId field's value. -func (s *MaintenanceWindowIdentityForTarget) SetWindowId(v string) *MaintenanceWindowIdentityForTarget { - s.WindowId = &v - return s -} - -// The parameters for a LAMBDA task type. -// -// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow -// and UpdateMaintenanceWindowTask. -// -// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, -// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters -// structure. For information about how Systems Manager handles these options -// for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. -// -// TaskParameters has been deprecated. To specify parameters to pass to a task -// when it runs, instead use the Parameters option in the TaskInvocationParameters -// structure. For information about how Systems Manager handles these options -// for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. -// -// For Lambda tasks, Systems Manager ignores any values specified for TaskParameters -// and LoggingInfo. -type MaintenanceWindowLambdaParameters struct { - _ struct{} `type:"structure"` - - // Pass client-specific information to the Lambda function that you are invoking. - // You can then process the client information in your Lambda function as you - // choose through the context variable. - ClientContext *string `min:"1" type:"string"` - - // JSON to provide to your Lambda function as input. - // - // Payload is automatically base64 encoded/decoded by the SDK. - Payload []byte `type:"blob" sensitive:"true"` - - // (Optional) Specify a Lambda function version or alias name. If you specify - // a function version, the action uses the qualified function ARN to invoke - // a specific Lambda function. If you specify an alias name, the action uses - // the alias ARN to invoke the Lambda function version to which the alias points. - Qualifier *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s MaintenanceWindowLambdaParameters) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s MaintenanceWindowLambdaParameters) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *MaintenanceWindowLambdaParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowLambdaParameters"} - if s.ClientContext != nil && len(*s.ClientContext) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientContext", 1)) - } - if s.Qualifier != nil && len(*s.Qualifier) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetClientContext sets the ClientContext field's value. -func (s *MaintenanceWindowLambdaParameters) SetClientContext(v string) *MaintenanceWindowLambdaParameters { - s.ClientContext = &v - return s -} - -// SetPayload sets the Payload field's value. -func (s *MaintenanceWindowLambdaParameters) SetPayload(v []byte) *MaintenanceWindowLambdaParameters { - s.Payload = v - return s -} - -// SetQualifier sets the Qualifier field's value. -func (s *MaintenanceWindowLambdaParameters) SetQualifier(v string) *MaintenanceWindowLambdaParameters { - s.Qualifier = &v - return s -} - -// The parameters for a RUN_COMMAND task type. -// -// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow -// and UpdateMaintenanceWindowTask. -// -// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, -// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters -// structure. For information about how Systems Manager handles these options -// for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. -// -// TaskParameters has been deprecated. To specify parameters to pass to a task -// when it runs, instead use the Parameters option in the TaskInvocationParameters -// structure. For information about how Systems Manager handles these options -// for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. -// -// For Run Command tasks, Systems Manager uses specified values for TaskParameters -// and LoggingInfo only if no values are specified for TaskInvocationParameters. -type MaintenanceWindowRunCommandParameters struct { - _ struct{} `type:"structure"` - - // Information about the command(s) to execute. - Comment *string `type:"string"` - - // The SHA-256 or SHA-1 hash created by the system when the document was created. - // SHA-1 hashes have been deprecated. - DocumentHash *string `type:"string"` - - // SHA-256 or SHA-1. SHA-1 hashes have been deprecated. - DocumentHashType *string `type:"string" enum:"DocumentHashType"` - - // Configurations for sending notifications about command status changes on - // a per-instance basis. - NotificationConfig *NotificationConfig `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 parameters for the RUN_COMMAND task execution. - Parameters map[string][]*string `type:"map"` - - // The IAM service role to assume during task execution. - ServiceRoleArn *string `type:"string"` - - // If this time is reached and the command has not already started executing, - // it doesn't run. - TimeoutSeconds *int64 `min:"30" type:"integer"` -} - -// String returns the string representation -func (s MaintenanceWindowRunCommandParameters) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s MaintenanceWindowRunCommandParameters) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *MaintenanceWindowRunCommandParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowRunCommandParameters"} - if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3)) - } - if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 30 { - invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 30)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetComment sets the Comment field's value. -func (s *MaintenanceWindowRunCommandParameters) SetComment(v string) *MaintenanceWindowRunCommandParameters { - s.Comment = &v - return s -} - -// SetDocumentHash sets the DocumentHash field's value. -func (s *MaintenanceWindowRunCommandParameters) SetDocumentHash(v string) *MaintenanceWindowRunCommandParameters { - s.DocumentHash = &v - return s -} - -// SetDocumentHashType sets the DocumentHashType field's value. -func (s *MaintenanceWindowRunCommandParameters) SetDocumentHashType(v string) *MaintenanceWindowRunCommandParameters { - s.DocumentHashType = &v - return s -} - -// SetNotificationConfig sets the NotificationConfig field's value. -func (s *MaintenanceWindowRunCommandParameters) SetNotificationConfig(v *NotificationConfig) *MaintenanceWindowRunCommandParameters { - s.NotificationConfig = v - return s -} - -// SetOutputS3BucketName sets the OutputS3BucketName field's value. -func (s *MaintenanceWindowRunCommandParameters) SetOutputS3BucketName(v string) *MaintenanceWindowRunCommandParameters { - s.OutputS3BucketName = &v - return s -} - -// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value. -func (s *MaintenanceWindowRunCommandParameters) SetOutputS3KeyPrefix(v string) *MaintenanceWindowRunCommandParameters { - s.OutputS3KeyPrefix = &v - return s -} - -// SetParameters sets the Parameters field's value. -func (s *MaintenanceWindowRunCommandParameters) SetParameters(v map[string][]*string) *MaintenanceWindowRunCommandParameters { - s.Parameters = v - return s -} - -// SetServiceRoleArn sets the ServiceRoleArn field's value. -func (s *MaintenanceWindowRunCommandParameters) SetServiceRoleArn(v string) *MaintenanceWindowRunCommandParameters { - s.ServiceRoleArn = &v - return s -} - -// SetTimeoutSeconds sets the TimeoutSeconds field's value. -func (s *MaintenanceWindowRunCommandParameters) SetTimeoutSeconds(v int64) *MaintenanceWindowRunCommandParameters { - s.TimeoutSeconds = &v - return s -} - -// The parameters for a STEP_FUNCTION task. -// -// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow -// and UpdateMaintenanceWindowTask. -// -// LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, -// instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters -// structure. For information about how Systems Manager handles these options -// for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. -// -// TaskParameters has been deprecated. To specify parameters to pass to a task -// when it runs, instead use the Parameters option in the TaskInvocationParameters -// structure. For information about how Systems Manager handles these options -// for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. -// -// For Step Functions tasks, Systems Manager ignores any values specified for -// TaskParameters and LoggingInfo. -type MaintenanceWindowStepFunctionsParameters struct { - _ struct{} `type:"structure"` - - // The inputs for the STEP_FUNCTION task. - Input *string `type:"string" sensitive:"true"` - - // The name of the STEP_FUNCTION task. - Name *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s MaintenanceWindowStepFunctionsParameters) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s MaintenanceWindowStepFunctionsParameters) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *MaintenanceWindowStepFunctionsParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowStepFunctionsParameters"} - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetInput sets the Input field's value. -func (s *MaintenanceWindowStepFunctionsParameters) SetInput(v string) *MaintenanceWindowStepFunctionsParameters { - s.Input = &v - return s -} - -// SetName sets the Name field's value. -func (s *MaintenanceWindowStepFunctionsParameters) SetName(v string) *MaintenanceWindowStepFunctionsParameters { - s.Name = &v - return s -} - -// The target registered with the Maintenance Window. -type MaintenanceWindowTarget struct { - _ struct{} `type:"structure"` - - // A description of the target. - Description *string `min:"1" type:"string" sensitive:"true"` - - // The target name. - Name *string `min:"3" type:"string"` - - // 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" sensitive:"true"` - - // 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() -} - -// SetDescription sets the Description field's value. -func (s *MaintenanceWindowTarget) SetDescription(v string) *MaintenanceWindowTarget { - s.Description = &v - return s -} - -// SetName sets the Name field's value. -func (s *MaintenanceWindowTarget) SetName(v string) *MaintenanceWindowTarget { - s.Name = &v - return s -} - -// 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"` - - // A description of the task. - Description *string `min:"1" type:"string" sensitive:"true"` - - // Information about an Amazon S3 bucket to write task-level logs to. - // - // LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, - // instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - 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 task name. - Name *string `min:"3" type:"string"` - - // The priority of the task in the Maintenance Window. The lower the number, - // the higher the priority. Tasks that have the same priority are 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 resource that the task uses during execution. For RUN_COMMAND and AUTOMATION - // task types, TaskArn is the Systems Manager document name or ARN. For LAMBDA - // tasks, it's the function name or ARN. For STEP_FUNCTION tasks, it's the state - // machine ARN. - TaskArn *string `min:"1" type:"string"` - - // The parameters that should be passed to the task when it is executed. - // - // TaskParameters has been deprecated. To specify parameters to pass to a task - // when it runs, instead use the Parameters option in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"` - - // The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, - // LAMBDA, or STEP_FUNCTION. - 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() -} - -// SetDescription sets the Description field's value. -func (s *MaintenanceWindowTask) SetDescription(v string) *MaintenanceWindowTask { - s.Description = &v - return s -} - -// 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 -} - -// SetName sets the Name field's value. -func (s *MaintenanceWindowTask) SetName(v string) *MaintenanceWindowTask { - s.Name = &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 -} - -// The parameters for task execution. -type MaintenanceWindowTaskInvocationParameters struct { - _ struct{} `type:"structure"` - - // The parameters for an AUTOMATION task type. - Automation *MaintenanceWindowAutomationParameters `type:"structure"` - - // The parameters for a LAMBDA task type. - Lambda *MaintenanceWindowLambdaParameters `type:"structure"` - - // The parameters for a RUN_COMMAND task type. - RunCommand *MaintenanceWindowRunCommandParameters `type:"structure"` - - // The parameters for a STEP_FUNCTION task type. - StepFunctions *MaintenanceWindowStepFunctionsParameters `type:"structure"` -} - -// String returns the string representation -func (s MaintenanceWindowTaskInvocationParameters) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s MaintenanceWindowTaskInvocationParameters) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *MaintenanceWindowTaskInvocationParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowTaskInvocationParameters"} - if s.Automation != nil { - if err := s.Automation.Validate(); err != nil { - invalidParams.AddNested("Automation", err.(request.ErrInvalidParams)) - } - } - if s.Lambda != nil { - if err := s.Lambda.Validate(); err != nil { - invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams)) - } - } - if s.RunCommand != nil { - if err := s.RunCommand.Validate(); err != nil { - invalidParams.AddNested("RunCommand", err.(request.ErrInvalidParams)) - } - } - if s.StepFunctions != nil { - if err := s.StepFunctions.Validate(); err != nil { - invalidParams.AddNested("StepFunctions", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAutomation sets the Automation field's value. -func (s *MaintenanceWindowTaskInvocationParameters) SetAutomation(v *MaintenanceWindowAutomationParameters) *MaintenanceWindowTaskInvocationParameters { - s.Automation = v - return s -} - -// SetLambda sets the Lambda field's value. -func (s *MaintenanceWindowTaskInvocationParameters) SetLambda(v *MaintenanceWindowLambdaParameters) *MaintenanceWindowTaskInvocationParameters { - s.Lambda = v - return s -} - -// SetRunCommand sets the RunCommand field's value. -func (s *MaintenanceWindowTaskInvocationParameters) SetRunCommand(v *MaintenanceWindowRunCommandParameters) *MaintenanceWindowTaskInvocationParameters { - s.RunCommand = v - return s -} - -// SetStepFunctions sets the StepFunctions field's value. -func (s *MaintenanceWindowTaskInvocationParameters) SetStepFunctions(v *MaintenanceWindowStepFunctionsParameters) *MaintenanceWindowTaskInvocationParameters { - s.StepFunctions = v - return s -} - -// Defines the values for a task parameter. -type MaintenanceWindowTaskParameterValueExpression struct { - _ struct{} `type:"structure" sensitive:"true"` - - // This field contains an array of 0 or more strings, each 1 to 255 characters - // in length. - Values []*string `type:"list" sensitive:"true"` -} - -// 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"` - - // The AWS user accounts that should have access to the document. The account - // IDs can either be a group of account IDs or All. - AccountIdsToAdd []*string `type:"list"` - - // The AWS user accounts that should no longer have access to the document. - // The AWS user account can either be a group of account IDs or All. This action - // has a higher priority than AccountIdsToAdd. If you specify an account ID - // to add and the same ID to remove, the system removes access to the document. - AccountIdsToRemove []*string `type:"list"` - - // The name of the document that you want to share. - // - // Name is a required field - Name *string `type:"string" required:"true"` - - // The permission type for the document. The permission type can be Share. - // - // PermissionType is a required field - PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"` -} - -// String returns the string representation -func (s ModifyDocumentPermissionInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ModifyDocumentPermissionInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ModifyDocumentPermissionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ModifyDocumentPermissionInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.PermissionType == nil { - invalidParams.Add(request.NewErrParamRequired("PermissionType")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAccountIdsToAdd sets the AccountIdsToAdd field's value. -func (s *ModifyDocumentPermissionInput) SetAccountIdsToAdd(v []*string) *ModifyDocumentPermissionInput { - s.AccountIdsToAdd = v - return s -} - -// SetAccountIdsToRemove sets the AccountIdsToRemove field's value. -func (s *ModifyDocumentPermissionInput) SetAccountIdsToRemove(v []*string) *ModifyDocumentPermissionInput { - s.AccountIdsToRemove = v - return s -} - -// SetName sets the Name field's value. -func (s *ModifyDocumentPermissionInput) SetName(v string) *ModifyDocumentPermissionInput { - s.Name = &v - return s -} - -// SetPermissionType sets the PermissionType field's value. -func (s *ModifyDocumentPermissionInput) SetPermissionType(v string) *ModifyDocumentPermissionInput { - s.PermissionType = &v - return s -} - -type ModifyDocumentPermissionOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s ModifyDocumentPermissionOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ModifyDocumentPermissionOutput) GoString() string { - return s.String() -} - -// A summary of resources that are not compliant. The summary is organized according -// to resource type. -type NonCompliantSummary struct { - _ struct{} `type:"structure"` - - // The total number of compliance items that are not compliant. - NonCompliantCount *int64 `type:"integer"` - - // A summary of the non-compliance severity by compliance type - SeveritySummary *SeveritySummary `type:"structure"` -} - -// String returns the string representation -func (s NonCompliantSummary) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s NonCompliantSummary) GoString() string { - return s.String() -} - -// SetNonCompliantCount sets the NonCompliantCount field's value. -func (s *NonCompliantSummary) SetNonCompliantCount(v int64) *NonCompliantSummary { - s.NonCompliantCount = &v - return s -} - -// SetSeveritySummary sets the SeveritySummary field's value. -func (s *NonCompliantSummary) SetSeveritySummary(v *SeveritySummary) *NonCompliantSummary { - s.SeveritySummary = v - return s -} - -// Configurations for sending notifications. -type NotificationConfig struct { - _ struct{} `type:"structure"` - - // An Amazon Resource Name (ARN) for a Simple Notification Service (SNS) 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 - // include the following: All (events), InProgress, Success, TimedOut, Cancelled, - // Failed. To learn more about these events, see Configuring Amazon SNS Notifications - // for Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/rc-sns-notifications.html) - // in the AWS Systems Manager User Guide. - NotificationEvents []*string `type:"list"` - - // Command: Receive notification when the status of a command changes. Invocation: - // For commands sent to multiple instances, receive notification on a per-instance - // basis when the status of a command changes. - NotificationType *string `type:"string" enum:"NotificationType"` -} - -// String returns the string representation -func (s NotificationConfig) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s NotificationConfig) GoString() string { - return s.String() -} - -// SetNotificationArn sets the NotificationArn field's value. -func (s *NotificationConfig) SetNotificationArn(v string) *NotificationConfig { - s.NotificationArn = &v - return s -} - -// SetNotificationEvents sets the NotificationEvents field's value. -func (s *NotificationConfig) SetNotificationEvents(v []*string) *NotificationConfig { - s.NotificationEvents = v - return s -} - -// SetNotificationType sets the NotificationType field's value. -func (s *NotificationConfig) SetNotificationType(v string) *NotificationConfig { - s.NotificationType = &v - return s -} - -// Information about the source where the association execution details are -// stored. -type OutputSource struct { - _ struct{} `type:"structure"` - - // The ID of the output source, for example the URL of an Amazon S3 bucket. - OutputSourceId *string `min:"36" type:"string"` - - // The type of source where the association execution details are stored, for - // example, Amazon S3. - OutputSourceType *string `type:"string"` -} - -// String returns the string representation -func (s OutputSource) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s OutputSource) GoString() string { - return s.String() -} - -// SetOutputSourceId sets the OutputSourceId field's value. -func (s *OutputSource) SetOutputSourceId(v string) *OutputSource { - s.OutputSourceId = &v - return s -} - -// SetOutputSourceType sets the OutputSourceType field's value. -func (s *OutputSource) SetOutputSourceType(v string) *OutputSource { - s.OutputSourceType = &v - return s -} - -// An Amazon EC2 Systems Manager parameter in Parameter Store. -type Parameter struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the parameter. - ARN *string `type:"string"` - - // Date the parameter was last changed or updated and the parameter version - // was created. - LastModifiedDate *time.Time `type:"timestamp"` - - // The name of the parameter. - Name *string `min:"1" type:"string"` - - // Either the version number or the label used to retrieve the parameter value. - // Specify selectors by using one of the following formats: - // - // parameter_name:version - // - // parameter_name:label - Selector *string `type:"string"` - - // Applies to parameters that reference information in other AWS services. SourceResult - // is the raw result or response from the source. - SourceResult *string `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"` - - // The parameter version. - Version *int64 `type:"long"` -} - -// 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() -} - -// SetARN sets the ARN field's value. -func (s *Parameter) SetARN(v string) *Parameter { - s.ARN = &v - return s -} - -// SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *Parameter) SetLastModifiedDate(v time.Time) *Parameter { - s.LastModifiedDate = &v - return s -} - -// SetName sets the Name field's value. -func (s *Parameter) SetName(v string) *Parameter { - s.Name = &v - return s -} - -// SetSelector sets the Selector field's value. -func (s *Parameter) SetSelector(v string) *Parameter { - s.Selector = &v - return s -} - -// SetSourceResult sets the SourceResult field's value. -func (s *Parameter) SetSourceResult(v string) *Parameter { - s.SourceResult = &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 -} - -// SetVersion sets the Version field's value. -func (s *Parameter) SetVersion(v int64) *Parameter { - s.Version = &v - return s -} - -// Information about parameter usage. -type ParameterHistory struct { - _ struct{} `type:"structure"` - - // Parameter names can include the following letters and symbols. - // - // a-zA-Z0-9_.- - AllowedPattern *string `type:"string"` - - // Information about the parameter. - Description *string `type:"string"` - - // The ID of the query key used for this parameter. - KeyId *string `min:"1" type:"string"` - - // Labels assigned to the parameter version. - Labels []*string `min:"1" type:"list"` - - // Date the parameter was last changed or updated. - LastModifiedDate *time.Time `type:"timestamp"` - - // 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"` - - // The parameter version. - Version *int64 `type:"long"` -} - -// 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() -} - -// SetAllowedPattern sets the AllowedPattern field's value. -func (s *ParameterHistory) SetAllowedPattern(v string) *ParameterHistory { - s.AllowedPattern = &v - return s -} - -// 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 -} - -// SetLabels sets the Labels field's value. -func (s *ParameterHistory) SetLabels(v []*string) *ParameterHistory { - s.Labels = 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 -} - -// SetVersion sets the Version field's value. -func (s *ParameterHistory) SetVersion(v int64) *ParameterHistory { - s.Version = &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"` - - // A parameter name can include only the following letters and symbols. - // - // a-zA-Z0-9_.- - AllowedPattern *string `type:"string"` - - // Description of the parameter actions. - Description *string `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"` - - // 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"` - - // The parameter version. - Version *int64 `type:"long"` -} - -// 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() -} - -// SetAllowedPattern sets the AllowedPattern field's value. -func (s *ParameterMetadata) SetAllowedPattern(v string) *ParameterMetadata { - s.AllowedPattern = &v - return s -} - -// 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 -} - -// SetVersion sets the Version field's value. -func (s *ParameterMetadata) SetVersion(v int64) *ParameterMetadata { - s.Version = &v - return s -} - -// One or more filters. Use a filter to return a more specific list of results. -// -// The Name field can't be used with the GetParametersByPath API action. -type ParameterStringFilter struct { - _ struct{} `type:"structure"` - - // The name of the filter. - // - // Key is a required field - Key *string `min:"1" type:"string" required:"true"` - - // Valid options are Equals and BeginsWith. For Path filter, valid options are - // Recursive and OneLevel. - Option *string `min:"1" type:"string"` - - // The value you want to search for. - Values []*string `min:"1" type:"list"` -} - -// String returns the string representation -func (s ParameterStringFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ParameterStringFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ParameterStringFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ParameterStringFilter"} - 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.Option != nil && len(*s.Option) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Option", 1)) - } - 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 *ParameterStringFilter) SetKey(v string) *ParameterStringFilter { - s.Key = &v - return s -} - -// SetOption sets the Option field's value. -func (s *ParameterStringFilter) SetOption(v string) *ParameterStringFilter { - s.Option = &v - return s -} - -// SetValues sets the Values field's value. -func (s *ParameterStringFilter) SetValues(v []*string) *ParameterStringFilter { - s.Values = v - return s -} - -// This data type is deprecated. Instead, use ParameterStringFilter. -type ParametersFilter struct { - _ struct{} `type:"structure"` - - // The name of the filter. - // - // Key is a required field - Key *string `type:"string" required:"true" 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.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 *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 -} - -// Represents metadata about a patch. -type Patch struct { - _ struct{} `type:"structure"` - - // The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates). - Classification *string `type:"string"` - - // The URL where more information can be obtained about the patch. - ContentUrl *string `type:"string"` - - // The description of the patch. - Description *string `type:"string"` - - // The ID of the patch (this is different than the Microsoft Knowledge Base - // ID). - Id *string `min:"1" type:"string"` - - // The Microsoft Knowledge Base ID of the patch. - KbNumber *string `type:"string"` - - // The language of the patch if it's language-specific. - Language *string `type:"string"` - - // The ID of the MSRC bulletin the patch is related to. - MsrcNumber *string `type:"string"` - - // The severity of the patch (for example Critical, Important, Moderate). - MsrcSeverity *string `type:"string"` - - // The specific product the patch is applicable for (for example, WindowsServer2016). - Product *string `type:"string"` - - // The product family the patch is applicable for (for example, Windows). - ProductFamily *string `type:"string"` - - // The date the patch was released. - ReleaseDate *time.Time `type:"timestamp"` - - // The title of the patch. - Title *string `type:"string"` - - // The name of the vendor providing the patch. - Vendor *string `type:"string"` -} - -// String returns the string representation -func (s Patch) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s Patch) GoString() string { - return s.String() -} - -// SetClassification sets the Classification field's value. -func (s *Patch) SetClassification(v string) *Patch { - s.Classification = &v - return s -} - -// SetContentUrl sets the ContentUrl field's value. -func (s *Patch) SetContentUrl(v string) *Patch { - s.ContentUrl = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *Patch) SetDescription(v string) *Patch { - s.Description = &v - return s -} - -// SetId sets the Id field's value. -func (s *Patch) SetId(v string) *Patch { - s.Id = &v - return s -} - -// SetKbNumber sets the KbNumber field's value. -func (s *Patch) SetKbNumber(v string) *Patch { - s.KbNumber = &v - return s -} - -// SetLanguage sets the Language field's value. -func (s *Patch) SetLanguage(v string) *Patch { - s.Language = &v - return s -} - -// SetMsrcNumber sets the MsrcNumber field's value. -func (s *Patch) SetMsrcNumber(v string) *Patch { - s.MsrcNumber = &v - return s -} - -// SetMsrcSeverity sets the MsrcSeverity field's value. -func (s *Patch) SetMsrcSeverity(v string) *Patch { - s.MsrcSeverity = &v - return s -} - -// SetProduct sets the Product field's value. -func (s *Patch) SetProduct(v string) *Patch { - s.Product = &v - return s -} - -// SetProductFamily sets the ProductFamily field's value. -func (s *Patch) SetProductFamily(v string) *Patch { - s.ProductFamily = &v - return s -} - -// SetReleaseDate sets the ReleaseDate field's value. -func (s *Patch) SetReleaseDate(v time.Time) *Patch { - s.ReleaseDate = &v - return s -} - -// SetTitle sets the Title field's value. -func (s *Patch) SetTitle(v string) *Patch { - s.Title = &v - return s -} - -// SetVendor sets the Vendor field's value. -func (s *Patch) SetVendor(v string) *Patch { - s.Vendor = &v - return s -} - -// Defines the basic information about a patch baseline. -type PatchBaselineIdentity struct { - _ struct{} `type:"structure"` - - // The description of the patch baseline. - BaselineDescription *string `min:"1" type:"string"` - - // The ID of the patch baseline. - BaselineId *string `min:"20" type:"string"` - - // The name of the patch baseline. - BaselineName *string `min:"3" type:"string"` - - // Whether this is the default baseline. Note that Systems Manager supports - // creating multiple default patch baselines. For example, you can create a - // default patch baseline for each operating system. - DefaultBaseline *bool `type:"boolean"` - - // Defines the operating system the patch baseline applies to. The Default value - // is WINDOWS. - OperatingSystem *string `type:"string" enum:"OperatingSystem"` -} - -// String returns the string representation -func (s PatchBaselineIdentity) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s PatchBaselineIdentity) GoString() string { - return s.String() -} - -// SetBaselineDescription sets the BaselineDescription field's value. -func (s *PatchBaselineIdentity) SetBaselineDescription(v string) *PatchBaselineIdentity { - s.BaselineDescription = &v - return s -} - -// SetBaselineId sets the BaselineId field's value. -func (s *PatchBaselineIdentity) SetBaselineId(v string) *PatchBaselineIdentity { - s.BaselineId = &v - return s -} - -// SetBaselineName sets the BaselineName field's value. -func (s *PatchBaselineIdentity) SetBaselineName(v string) *PatchBaselineIdentity { - s.BaselineName = &v - return s -} - -// SetDefaultBaseline sets the DefaultBaseline field's value. -func (s *PatchBaselineIdentity) SetDefaultBaseline(v bool) *PatchBaselineIdentity { - s.DefaultBaseline = &v - return s -} - -// SetOperatingSystem sets the OperatingSystem field's value. -func (s *PatchBaselineIdentity) SetOperatingSystem(v string) *PatchBaselineIdentity { - s.OperatingSystem = &v - return s -} - -// Information about the state of a patch on a particular instance as it relates -// to the patch baseline used to patch the instance. -type PatchComplianceData struct { - _ struct{} `type:"structure"` - - // The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates). - // - // Classification is a required field - Classification *string `type:"string" required:"true"` - - // The date/time the patch was installed on the instance. Note that not all - // operating systems provide this level of information. - // - // InstalledTime is a required field - InstalledTime *time.Time `type:"timestamp" required:"true"` - - // The operating system-specific ID of the patch. - // - // KBId is a required field - KBId *string `type:"string" required:"true"` - - // The severity of the patch (for example, Critical, Important, Moderate). - // - // Severity is a required field - Severity *string `type:"string" required:"true"` - - // The state of the patch on the instance, such as INSTALLED or FAILED. - // - // For descriptions of each patch state, see About Patch Compliance (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-compliance-about.html#sysman-compliance-monitor-patch) - // in the AWS Systems Manager User Guide. - // - // State is a required field - State *string `type:"string" required:"true" enum:"PatchComplianceDataState"` - - // The title of the patch. - // - // Title is a required field - Title *string `type:"string" required:"true"` -} - -// String returns the string representation -func (s PatchComplianceData) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s PatchComplianceData) GoString() string { - return s.String() -} - -// SetClassification sets the Classification field's value. -func (s *PatchComplianceData) SetClassification(v string) *PatchComplianceData { - s.Classification = &v - return s -} - -// SetInstalledTime sets the InstalledTime field's value. -func (s *PatchComplianceData) SetInstalledTime(v time.Time) *PatchComplianceData { - s.InstalledTime = &v - return s -} - -// SetKBId sets the KBId field's value. -func (s *PatchComplianceData) SetKBId(v string) *PatchComplianceData { - s.KBId = &v - return s -} - -// SetSeverity sets the Severity field's value. -func (s *PatchComplianceData) SetSeverity(v string) *PatchComplianceData { - s.Severity = &v - return s -} - -// SetState sets the State field's value. -func (s *PatchComplianceData) SetState(v string) *PatchComplianceData { - s.State = &v - return s -} - -// SetTitle sets the Title field's value. -func (s *PatchComplianceData) SetTitle(v string) *PatchComplianceData { - s.Title = &v - return s -} - -// Defines a patch filter. -// -// A patch filter consists of key/value pairs, but not all keys are valid for -// all operating system types. For example, the key PRODUCT is valid for all -// supported operating system types. The key MSRC_SEVERITY, however, is valid -// only for Windows operating systems, and the key SECTION is valid only for -// Ubuntu operating systems. -// -// Refer to the following sections for information about which keys may be used -// with each major operating system, and which values are valid for each key. -// -// Windows Operating Systems -// -// The supported keys for Windows operating systems are PRODUCT, CLASSIFICATION, -// and MSRC_SEVERITY. See the following lists for valid values for each of these -// keys. -// -// Supported key:PRODUCT -// -// Supported values: -// -// * Windows7 -// -// * Windows8 -// -// * Windows8.1 -// -// * Windows8Embedded -// -// * Windows10 -// -// * Windows10LTSB -// -// * WindowsServer2008 -// -// * WindowsServer2008R2 -// -// * WindowsServer2012 -// -// * WindowsServer2012R2 -// -// * WindowsServer2016 -// -// * * -// -// Use a wildcard character (*) to target all supported operating system versions. -// -// Supported key:CLASSIFICATION -// -// Supported values: -// -// * CriticalUpdates -// -// * DefinitionUpdates -// -// * Drivers -// -// * FeaturePacks -// -// * SecurityUpdates -// -// * ServicePacks -// -// * Tools -// -// * UpdateRollups -// -// * Updates -// -// * Upgrades -// -// Supported key:MSRC_SEVERITY -// -// Supported values: -// -// * Critical -// -// * Important -// -// * Moderate -// -// * Low -// -// * Unspecified -// -// Ubuntu Operating Systems -// -// The supported keys for Ubuntu operating systems are PRODUCT, PRIORITY, and -// SECTION. See the following lists for valid values for each of these keys. -// -// Supported key:PRODUCT -// -// Supported values: -// -// * Ubuntu14.04 -// -// * Ubuntu16.04 -// -// * * -// -// Use a wildcard character (*) to target all supported operating system versions. -// -// Supported key:PRIORITY -// -// Supported values: -// -// * Required -// -// * Important -// -// * Standard -// -// * Optional -// -// * Extra -// -// Supported key:SECTION -// -// Only the length of the key value is validated. Minimum length is 1. Maximum -// length is 64. -// -// Amazon Linux Operating Systems -// -// The supported keys for Amazon Linux operating systems are PRODUCT, CLASSIFICATION, -// and SEVERITY. See the following lists for valid values for each of these -// keys. -// -// Supported key:PRODUCT -// -// Supported values: -// -// * AmazonLinux2012.03 -// -// * AmazonLinux2012.09 -// -// * AmazonLinux2013.03 -// -// * AmazonLinux2013.09 -// -// * AmazonLinux2014.03 -// -// * AmazonLinux2014.09 -// -// * AmazonLinux2015.03 -// -// * AmazonLinux2015.09 -// -// * AmazonLinux2016.03 -// -// * AmazonLinux2016.09 -// -// * AmazonLinux2017.03 -// -// * AmazonLinux2017.09 -// -// * * -// -// Use a wildcard character (*) to target all supported operating system versions. -// -// Supported key:CLASSIFICATION -// -// Supported values: -// -// * Security -// -// * Bugfix -// -// * Enhancement -// -// * Recommended -// -// * Newpackage -// -// Supported key:SEVERITY -// -// Supported values: -// -// * Critical -// -// * Important -// -// * Medium -// -// * Low -// -// Amazon Linux 2 Operating Systems -// -// The supported keys for Amazon Linux 2 operating systems are PRODUCT, CLASSIFICATION, -// and SEVERITY. See the following lists for valid values for each of these -// keys. -// -// Supported key:PRODUCT -// -// Supported values: -// -// * AmazonLinux2 -// -// * AmazonLinux2.0 -// -// * * -// -// Use a wildcard character (*) to target all supported operating system versions. -// -// Supported key:CLASSIFICATION -// -// Supported values: -// -// * Security -// -// * Bugfix -// -// * Enhancement -// -// * Recommended -// -// * Newpackage -// -// Supported key:SEVERITY -// -// Supported values: -// -// * Critical -// -// * Important -// -// * Medium -// -// * Low -// -// RedHat Enterprise Linux (RHEL) Operating Systems -// -// The supported keys for RedHat Enterprise Linux operating systems are PRODUCT, -// CLASSIFICATION, and SEVERITY. See the following lists for valid values for -// each of these keys. -// -// Supported key:PRODUCT -// -// Supported values: -// -// * RedhatEnterpriseLinux6.5 -// -// * RedhatEnterpriseLinux6.6 -// -// * RedhatEnterpriseLinux6.7 -// -// * RedhatEnterpriseLinux6.8 -// -// * RedhatEnterpriseLinux6.9 -// -// * RedhatEnterpriseLinux7.0 -// -// * RedhatEnterpriseLinux7.1 -// -// * RedhatEnterpriseLinux7.2 -// -// * RedhatEnterpriseLinux7.3 -// -// * RedhatEnterpriseLinux7.4 -// -// * * -// -// Use a wildcard character (*) to target all supported operating system versions. -// -// Supported key:CLASSIFICATION -// -// Supported values: -// -// * Security -// -// * Bugfix -// -// * Enhancement -// -// * Recommended -// -// * Newpackage -// -// Supported key:SEVERITY -// -// Supported values: -// -// * Critical -// -// * Important -// -// * Medium -// -// * Low -// -// SUSE Linux Enterprise Server (SLES) Operating Systems -// -// The supported keys for SLES operating systems are PRODUCT, CLASSIFICATION, -// and SEVERITY. See the following lists for valid values for each of these -// keys. -// -// Supported key:PRODUCT -// -// Supported values: -// -// * Suse12.0 -// -// * Suse12.1 -// -// * Suse12.2 -// -// * Suse12.3 -// -// * Suse12.4 -// -// * Suse12.5 -// -// * Suse12.6 -// -// * Suse12.7 -// -// * Suse12.8 -// -// * Suse12.9 -// -// * * -// -// Use a wildcard character (*) to target all supported operating system versions. -// -// Supported key:CLASSIFICATION -// -// Supported values: -// -// * Security -// -// * Recommended -// -// * Optional -// -// * Feature -// -// * Document -// -// * Yast -// -// Supported key:SEVERITY -// -// Supported values: -// -// * Critical -// -// * Important -// -// * Moderate -// -// * Low -// -// CentOS Operating Systems -// -// The supported keys for CentOS operating systems are PRODUCT, CLASSIFICATION, -// and SEVERITY. See the following lists for valid values for each of these -// keys. -// -// Supported key:PRODUCT -// -// Supported values: -// -// * CentOS6.5 -// -// * CentOS6.6 -// -// * CentOS6.7 -// -// * CentOS6.8 -// -// * CentOS6.9 -// -// * CentOS7.0 -// -// * CentOS7.1 -// -// * CentOS7.2 -// -// * CentOS7.3 -// -// * CentOS7.4 -// -// * * -// -// Use a wildcard character (*) to target all supported operating system versions. -// -// Supported key:CLASSIFICATION -// -// Supported values: -// -// * Security -// -// * Bugfix -// -// * Enhancement -// -// * Recommended -// -// * Newpackage -// -// Supported key:SEVERITY -// -// Supported values: -// -// * Critical -// -// * Important -// -// * Medium -// -// * Low -type PatchFilter struct { - _ struct{} `type:"structure"` - - // The key for the filter. - // - // See PatchFilter for lists of valid keys for each operating system type. - // - // Key is a required field - Key *string `type:"string" required:"true" enum:"PatchFilterKey"` - - // The value for the filter key. - // - // See PatchFilter for lists of valid values for each key based on operating - // system type. - // - // Values is a required field - Values []*string `min:"1" type:"list" required:"true"` -} - -// String returns the string representation -func (s PatchFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s PatchFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *PatchFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PatchFilter"} - 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 *PatchFilter) SetKey(v string) *PatchFilter { - s.Key = &v - return s -} - -// SetValues sets the Values field's value. -func (s *PatchFilter) SetValues(v []*string) *PatchFilter { - s.Values = v - return s -} - -// A set of patch filters, typically used for approval rules. -type PatchFilterGroup struct { - _ struct{} `type:"structure"` - - // The set of patch filters that make up the group. - // - // PatchFilters is a required field - PatchFilters []*PatchFilter `type:"list" required:"true"` -} - -// String returns the string representation -func (s PatchFilterGroup) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s PatchFilterGroup) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *PatchFilterGroup) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PatchFilterGroup"} - if s.PatchFilters == nil { - invalidParams.Add(request.NewErrParamRequired("PatchFilters")) - } - if s.PatchFilters != nil { - for i, v := range s.PatchFilters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PatchFilters", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetPatchFilters sets the PatchFilters field's value. -func (s *PatchFilterGroup) SetPatchFilters(v []*PatchFilter) *PatchFilterGroup { - s.PatchFilters = v - return s -} - -// The mapping between a patch group and the patch baseline the patch group -// is registered with. -type PatchGroupPatchBaselineMapping struct { - _ struct{} `type:"structure"` - - // The patch baseline the patch group is registered with. - BaselineIdentity *PatchBaselineIdentity `type:"structure"` - - // The name of the patch group registered with the patch baseline. - PatchGroup *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s PatchGroupPatchBaselineMapping) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s PatchGroupPatchBaselineMapping) GoString() string { - return s.String() -} - -// SetBaselineIdentity sets the BaselineIdentity field's value. -func (s *PatchGroupPatchBaselineMapping) SetBaselineIdentity(v *PatchBaselineIdentity) *PatchGroupPatchBaselineMapping { - s.BaselineIdentity = v - return s -} - -// SetPatchGroup sets the PatchGroup field's value. -func (s *PatchGroupPatchBaselineMapping) SetPatchGroup(v string) *PatchGroupPatchBaselineMapping { - s.PatchGroup = &v - return s -} - -// Defines a filter used in Patch Manager APIs. -type PatchOrchestratorFilter struct { - _ struct{} `type:"structure"` - - // The key for the filter. - Key *string `min:"1" type:"string"` - - // The value for the filter. - Values []*string `type:"list"` -} - -// String returns the string representation -func (s PatchOrchestratorFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s PatchOrchestratorFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *PatchOrchestratorFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PatchOrchestratorFilter"} - 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 *PatchOrchestratorFilter) SetKey(v string) *PatchOrchestratorFilter { - s.Key = &v - return s -} - -// SetValues sets the Values field's value. -func (s *PatchOrchestratorFilter) SetValues(v []*string) *PatchOrchestratorFilter { - s.Values = v - return s -} - -// Defines an approval rule for a patch baseline. -type PatchRule struct { - _ struct{} `type:"structure"` - - // The number of days after the release date of each patch matched by the rule - // that the patch is marked as approved in the patch baseline. For example, - // a value of 7 means that patches are approved seven days after they are released. - // - // ApproveAfterDays is a required field - ApproveAfterDays *int64 `type:"integer" required:"true"` - - // A compliance severity level for all approved patches in a patch baseline. - // Valid compliance severity levels include the following: Unspecified, Critical, - // High, Medium, Low, and Informational. - ComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"` - - // For instances identified by the approval rule filters, enables a patch baseline - // to apply non-security updates available in the specified repository. The - // default value is 'false'. Applies to Linux instances only. - EnableNonSecurity *bool `type:"boolean"` - - // The patch filter group that defines the criteria for the rule. - // - // PatchFilterGroup is a required field - PatchFilterGroup *PatchFilterGroup `type:"structure" required:"true"` -} - -// String returns the string representation -func (s PatchRule) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s PatchRule) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *PatchRule) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PatchRule"} - if s.ApproveAfterDays == nil { - invalidParams.Add(request.NewErrParamRequired("ApproveAfterDays")) - } - if s.PatchFilterGroup == nil { - invalidParams.Add(request.NewErrParamRequired("PatchFilterGroup")) - } - if s.PatchFilterGroup != nil { - if err := s.PatchFilterGroup.Validate(); err != nil { - invalidParams.AddNested("PatchFilterGroup", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetApproveAfterDays sets the ApproveAfterDays field's value. -func (s *PatchRule) SetApproveAfterDays(v int64) *PatchRule { - s.ApproveAfterDays = &v - return s -} - -// SetComplianceLevel sets the ComplianceLevel field's value. -func (s *PatchRule) SetComplianceLevel(v string) *PatchRule { - s.ComplianceLevel = &v - return s -} - -// SetEnableNonSecurity sets the EnableNonSecurity field's value. -func (s *PatchRule) SetEnableNonSecurity(v bool) *PatchRule { - s.EnableNonSecurity = &v - return s -} - -// SetPatchFilterGroup sets the PatchFilterGroup field's value. -func (s *PatchRule) SetPatchFilterGroup(v *PatchFilterGroup) *PatchRule { - s.PatchFilterGroup = v - return s -} - -// A set of rules defining the approval rules for a patch baseline. -type PatchRuleGroup struct { - _ struct{} `type:"structure"` - - // The rules that make up the rule group. - // - // PatchRules is a required field - PatchRules []*PatchRule `type:"list" required:"true"` -} - -// String returns the string representation -func (s PatchRuleGroup) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s PatchRuleGroup) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *PatchRuleGroup) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PatchRuleGroup"} - if s.PatchRules == nil { - invalidParams.Add(request.NewErrParamRequired("PatchRules")) - } - if s.PatchRules != nil { - for i, v := range s.PatchRules { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PatchRules", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetPatchRules sets the PatchRules field's value. -func (s *PatchRuleGroup) SetPatchRules(v []*PatchRule) *PatchRuleGroup { - s.PatchRules = v - return s -} - -// Information about the patches to use to update the instances, including target -// operating systems and source repository. Applies to Linux instances only. -type PatchSource struct { - _ struct{} `type:"structure"` - - // The value of the yum repo configuration. For example: - // - // cachedir=/var/cache/yum/$basesearch - // - // $releasever - // - // keepcache=0 - // - // debuglevel=2 - // - // Configuration is a required field - Configuration *string `min:"1" type:"string" required:"true" sensitive:"true"` - - // The name specified to identify the patch source. - // - // Name is a required field - Name *string `type:"string" required:"true"` - - // The specific operating system versions a patch repository applies to, such - // as "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7". - // For lists of supported product values, see PatchFilter. - // - // Products is a required field - Products []*string `min:"1" type:"list" required:"true"` -} - -// String returns the string representation -func (s PatchSource) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s PatchSource) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *PatchSource) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PatchSource"} - if s.Configuration == nil { - invalidParams.Add(request.NewErrParamRequired("Configuration")) - } - if s.Configuration != nil && len(*s.Configuration) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Configuration", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Products == nil { - invalidParams.Add(request.NewErrParamRequired("Products")) - } - if s.Products != nil && len(s.Products) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Products", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetConfiguration sets the Configuration field's value. -func (s *PatchSource) SetConfiguration(v string) *PatchSource { - s.Configuration = &v - return s -} - -// SetName sets the Name field's value. -func (s *PatchSource) SetName(v string) *PatchSource { - s.Name = &v - return s -} - -// SetProducts sets the Products field's value. -func (s *PatchSource) SetProducts(v []*string) *PatchSource { - s.Products = v - return s -} - -// Information about the approval status of a patch. -type PatchStatus struct { - _ struct{} `type:"structure"` - - // The date the patch was approved (or will be approved if the status is PENDING_APPROVAL). - ApprovalDate *time.Time `type:"timestamp"` - - // The compliance severity level for a patch. - ComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"` - - // The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, - // EXPLICIT_REJECTED). - DeploymentStatus *string `type:"string" enum:"PatchDeploymentStatus"` -} - -// String returns the string representation -func (s PatchStatus) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s PatchStatus) GoString() string { - return s.String() -} - -// SetApprovalDate sets the ApprovalDate field's value. -func (s *PatchStatus) SetApprovalDate(v time.Time) *PatchStatus { - s.ApprovalDate = &v - return s -} - -// SetComplianceLevel sets the ComplianceLevel field's value. -func (s *PatchStatus) SetComplianceLevel(v string) *PatchStatus { - s.ComplianceLevel = &v - return s -} - -// SetDeploymentStatus sets the DeploymentStatus field's value. -func (s *PatchStatus) SetDeploymentStatus(v string) *PatchStatus { - s.DeploymentStatus = &v - return s -} - -// An aggregate of step execution statuses displayed in the AWS Console for -// a multi-Region and multi-account Automation execution. -type ProgressCounters struct { - _ struct{} `type:"structure"` - - // The total number of steps that the system cancelled in all specified AWS - // Regions and accounts for the current Automation execution. - CancelledSteps *int64 `type:"integer"` - - // The total number of steps that failed to execute in all specified AWS Regions - // and accounts for the current Automation execution. - FailedSteps *int64 `type:"integer"` - - // The total number of steps that successfully completed in all specified AWS - // Regions and accounts for the current Automation execution. - SuccessSteps *int64 `type:"integer"` - - // The total number of steps that timed out in all specified AWS Regions and - // accounts for the current Automation execution. - TimedOutSteps *int64 `type:"integer"` - - // The total number of steps executed in all specified AWS Regions and accounts - // for the current Automation execution. - TotalSteps *int64 `type:"integer"` -} - -// String returns the string representation -func (s ProgressCounters) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ProgressCounters) GoString() string { - return s.String() -} - -// SetCancelledSteps sets the CancelledSteps field's value. -func (s *ProgressCounters) SetCancelledSteps(v int64) *ProgressCounters { - s.CancelledSteps = &v - return s -} - -// SetFailedSteps sets the FailedSteps field's value. -func (s *ProgressCounters) SetFailedSteps(v int64) *ProgressCounters { - s.FailedSteps = &v - return s -} - -// SetSuccessSteps sets the SuccessSteps field's value. -func (s *ProgressCounters) SetSuccessSteps(v int64) *ProgressCounters { - s.SuccessSteps = &v - return s -} - -// SetTimedOutSteps sets the TimedOutSteps field's value. -func (s *ProgressCounters) SetTimedOutSteps(v int64) *ProgressCounters { - s.TimedOutSteps = &v - return s -} - -// SetTotalSteps sets the TotalSteps field's value. -func (s *ProgressCounters) SetTotalSteps(v int64) *ProgressCounters { - s.TotalSteps = &v - return s -} - -type PutComplianceItemsInput struct { - _ struct{} `type:"structure"` - - // Specify the compliance type. For example, specify Association (for a State - // Manager association), Patch, or Custom:string. - // - // ComplianceType is a required field - ComplianceType *string `min:"1" type:"string" required:"true"` - - // A summary of the call execution that includes an execution ID, the type of - // execution (for example, Command), and the date/time of the execution using - // a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'. - // - // ExecutionSummary is a required field - ExecutionSummary *ComplianceExecutionSummary `type:"structure" required:"true"` - - // MD5 or SHA-256 content hash. The content hash is used to determine if existing - // information should be overwritten or ignored. If the content hashes match, - // the request to put compliance information is ignored. - ItemContentHash *string `type:"string"` - - // Information about the compliance as defined by the resource type. For example, - // for a patch compliance type, Items includes information about the PatchSeverity, - // Classification, etc. - // - // Items is a required field - Items []*ComplianceItemEntry `type:"list" required:"true"` - - // Specify an ID for this resource. For a managed instance, this is the instance - // ID. - // - // ResourceId is a required field - ResourceId *string `min:"1" type:"string" required:"true"` - - // Specify the type of resource. ManagedInstance is currently the only supported - // resource type. - // - // ResourceType is a required field - ResourceType *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s PutComplianceItemsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s PutComplianceItemsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *PutComplianceItemsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutComplianceItemsInput"} - if s.ComplianceType == nil { - invalidParams.Add(request.NewErrParamRequired("ComplianceType")) - } - if s.ComplianceType != nil && len(*s.ComplianceType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComplianceType", 1)) - } - if s.ExecutionSummary == nil { - invalidParams.Add(request.NewErrParamRequired("ExecutionSummary")) - } - if s.Items == nil { - invalidParams.Add(request.NewErrParamRequired("Items")) - } - if s.ResourceId == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceId")) - } - if s.ResourceId != nil && len(*s.ResourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) - } - if s.ResourceType == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceType")) - } - if s.ResourceType != nil && len(*s.ResourceType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) - } - if s.ExecutionSummary != nil { - if err := s.ExecutionSummary.Validate(); err != nil { - invalidParams.AddNested("ExecutionSummary", err.(request.ErrInvalidParams)) - } - } - 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 -} - -// SetComplianceType sets the ComplianceType field's value. -func (s *PutComplianceItemsInput) SetComplianceType(v string) *PutComplianceItemsInput { - s.ComplianceType = &v - return s -} - -// SetExecutionSummary sets the ExecutionSummary field's value. -func (s *PutComplianceItemsInput) SetExecutionSummary(v *ComplianceExecutionSummary) *PutComplianceItemsInput { - s.ExecutionSummary = v - return s -} - -// SetItemContentHash sets the ItemContentHash field's value. -func (s *PutComplianceItemsInput) SetItemContentHash(v string) *PutComplianceItemsInput { - s.ItemContentHash = &v - return s -} - -// SetItems sets the Items field's value. -func (s *PutComplianceItemsInput) SetItems(v []*ComplianceItemEntry) *PutComplianceItemsInput { - s.Items = v - return s -} - -// SetResourceId sets the ResourceId field's value. -func (s *PutComplianceItemsInput) SetResourceId(v string) *PutComplianceItemsInput { - s.ResourceId = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *PutComplianceItemsInput) SetResourceType(v string) *PutComplianceItemsInput { - s.ResourceType = &v - return s -} - -type PutComplianceItemsOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s PutComplianceItemsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s PutComplianceItemsOutput) GoString() string { - return s.String() -} - -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 `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"` - - // Information about the request. - Message *string `type:"string"` -} - -// 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() -} - -// SetMessage sets the Message field's value. -func (s *PutInventoryOutput) SetMessage(v string) *PutInventoryOutput { - s.Message = &v - return s -} - -type PutParameterInput struct { - _ struct{} `type:"structure"` - - // A regular expression used to validate the parameter value. For example, for - // String types with values restricted to numbers, you can specify the following: - // AllowedPattern=^\d+$ - AllowedPattern *string `type:"string"` - - // Information about the parameter that you want to add to the system. Optional - // but recommended. - // - // Do not enter personally identifiable information in this field. - Description *string `type:"string"` - - // The KMS Key ID that you want to use to encrypt a parameter. Either the default - // AWS Key Management Service (AWS KMS) key automatically assigned to your AWS - // account or a custom key. Required for parameters that use the SecureString - // data type. - // - // If you don't specify a key ID, the system uses the default key associated - // with your AWS account. - // - // * To use your default AWS KMS key, choose the SecureString data type, - // and do not specify the Key ID when you create the parameter. The system - // automatically populates Key ID with your default KMS key. - // - // * To use a custom KMS key, choose the SecureString data type with the - // Key ID parameter. - KeyId *string `min:"1" type:"string"` - - // The fully qualified name of the parameter that you want to add to the system. - // The fully qualified name includes the complete hierarchy of the parameter - // path and name. For example: /Dev/DBServer/MySQL/db-string13 - // - // Naming Constraints: - // - // * Parameter names are case sensitive. - // - // * A parameter name must be unique within an AWS Region - // - // * A parameter name can't be prefixed with "aws" or "ssm" (case-insensitive). - // - // * Parameter names can include only the following symbols and letters: - // a-zA-Z0-9_.-/ - // - // * A parameter name can't include spaces. - // - // * Parameter hierarchies are limited to a maximum depth of fifteen levels. - // - // For additional information about valid values for parameter names, see Requirements - // and Constraints for Parameter Names (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html) - // in the AWS Systems Manager User Guide. - // - // The maximum length constraint listed below includes capacity for additional - // system attributes that are not part of the name. The maximum length for the - // fully qualified parameter name is 1011 characters. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // Overwrite an existing parameter. If not specified, will default to "false". - Overwrite *bool `type:"boolean"` - - // The type of parameter that you want to add to the system. - // - // Items in a StringList must be separated by a comma (,). You can't use other - // punctuation or special character to escape items in the list. If you have - // a parameter value that requires a comma, then use the String data type. - // - // SecureString is not currently supported for AWS CloudFormation templates - // or in the China Regions. - // - // 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.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 -} - -// SetAllowedPattern sets the AllowedPattern field's value. -func (s *PutParameterInput) SetAllowedPattern(v string) *PutParameterInput { - s.AllowedPattern = &v - return s -} - -// 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"` - - // The new version number of a parameter. If you edit a parameter value, Parameter - // Store automatically creates a new version and assigns this new version a - // unique ID. You can reference a parameter version ID in API actions or in - // Systems Manager documents (SSM documents). By default, if you don't specify - // a specific version, the system returns the latest parameter value when a - // parameter is called. - Version *int64 `type:"long"` -} - -// 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() -} - -// SetVersion sets the Version field's value. -func (s *PutParameterOutput) SetVersion(v int64) *PutParameterOutput { - s.Version = &v - return s -} - -type RegisterDefaultPatchBaselineInput struct { - _ struct{} `type:"structure"` - - // The ID of the patch baseline that should be the default patch baseline. - // - // BaselineId is a required field - BaselineId *string `min:"20" type:"string" required:"true"` -} - -// String returns the string representation -func (s RegisterDefaultPatchBaselineInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s RegisterDefaultPatchBaselineInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *RegisterDefaultPatchBaselineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RegisterDefaultPatchBaselineInput"} - if s.BaselineId == nil { - invalidParams.Add(request.NewErrParamRequired("BaselineId")) - } - if s.BaselineId != nil && len(*s.BaselineId) < 20 { - invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetBaselineId sets the BaselineId field's value. -func (s *RegisterDefaultPatchBaselineInput) SetBaselineId(v string) *RegisterDefaultPatchBaselineInput { - s.BaselineId = &v - return s -} - -type RegisterDefaultPatchBaselineOutput struct { - _ struct{} `type:"structure"` - - // The ID of the default patch baseline. - BaselineId *string `min:"20" type:"string"` -} - -// String returns the string representation -func (s RegisterDefaultPatchBaselineOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s RegisterDefaultPatchBaselineOutput) GoString() string { - return s.String() -} - -// SetBaselineId sets the BaselineId field's value. -func (s *RegisterDefaultPatchBaselineOutput) SetBaselineId(v string) *RegisterDefaultPatchBaselineOutput { - s.BaselineId = &v - return s -} - -type RegisterPatchBaselineForPatchGroupInput struct { - _ struct{} `type:"structure"` - - // The ID of the patch baseline to register the patch group with. - // - // BaselineId is a required field - BaselineId *string `min:"20" type:"string" required:"true"` - - // The name of the patch group that should be registered with the patch baseline. - // - // PatchGroup is a required field - PatchGroup *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s RegisterPatchBaselineForPatchGroupInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s RegisterPatchBaselineForPatchGroupInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *RegisterPatchBaselineForPatchGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RegisterPatchBaselineForPatchGroupInput"} - if s.BaselineId == nil { - invalidParams.Add(request.NewErrParamRequired("BaselineId")) - } - if s.BaselineId != nil && len(*s.BaselineId) < 20 { - invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20)) - } - if s.PatchGroup == nil { - invalidParams.Add(request.NewErrParamRequired("PatchGroup")) - } - if s.PatchGroup != nil && len(*s.PatchGroup) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetBaselineId sets the BaselineId field's value. -func (s *RegisterPatchBaselineForPatchGroupInput) SetBaselineId(v string) *RegisterPatchBaselineForPatchGroupInput { - s.BaselineId = &v - return s -} - -// SetPatchGroup sets the PatchGroup field's value. -func (s *RegisterPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *RegisterPatchBaselineForPatchGroupInput { - s.PatchGroup = &v - return s -} - -type RegisterPatchBaselineForPatchGroupOutput struct { - _ struct{} `type:"structure"` - - // The ID of the patch baseline the patch group was registered with. - BaselineId *string `min:"20" type:"string"` - - // The name of the patch group registered with the patch baseline. - PatchGroup *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s RegisterPatchBaselineForPatchGroupOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s RegisterPatchBaselineForPatchGroupOutput) GoString() string { - return s.String() -} - -// SetBaselineId sets the BaselineId field's value. -func (s *RegisterPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *RegisterPatchBaselineForPatchGroupOutput { - s.BaselineId = &v - return s -} - -// SetPatchGroup sets the PatchGroup field's value. -func (s *RegisterPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *RegisterPatchBaselineForPatchGroupOutput { - s.PatchGroup = &v - return s -} - -type RegisterTargetWithMaintenanceWindowInput struct { - _ struct{} `type:"structure"` - - // User-provided idempotency token. - ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` - - // An optional description for the target. - Description *string `min:"1" type:"string" sensitive:"true"` - - // An optional name for the target. - Name *string `min:"3" type:"string"` - - // 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" sensitive:"true"` - - // 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). - // - // Specify instances using the following format: - // - // Key=InstanceIds,Values=, - // - // Specify tags using either of the following formats: - // - // Key=tag:,Values=, - // - // Key=tag-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.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.Name != nil && len(*s.Name) < 3 { - invalidParams.Add(request.NewErrParamMinLen("Name", 3)) - } - 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 -} - -// SetDescription sets the Description field's value. -func (s *RegisterTargetWithMaintenanceWindowInput) SetDescription(v string) *RegisterTargetWithMaintenanceWindowInput { - s.Description = &v - return s -} - -// SetName sets the Name field's value. -func (s *RegisterTargetWithMaintenanceWindowInput) SetName(v string) *RegisterTargetWithMaintenanceWindowInput { - s.Name = &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"` - - // An optional description for the task. - Description *string `min:"1" type:"string" sensitive:"true"` - - // A structure containing information about an Amazon S3 bucket to write instance-level - // logs to. - // - // LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, - // instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - 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"` - - // An optional name for the task. - Name *string `min:"3" 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 to assume when running the Maintenance Window task. - // - // If you do not specify a service role ARN, Systems Manager will use your account's - // service-linked role for Systems Manager by default. If no service-linked - // role for Systems Manager exists in your account, it will be created when - // you run RegisterTaskWithMaintenanceWindow without specifying a service role - // ARN. - // - // For more information, see Service-Linked Role Permissions for Systems Manager - // (http://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions) - // and Should I Use a Service-Linked Role or a Custom Service Role to Run Maintenance - // Window Tasks? (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role) - // in the AWS Systems Manager User Guide. - ServiceRoleArn *string `type:"string"` - - // The targets (either instances or Maintenance Window targets). - // - // Specify instances using the following format: - // - // Key=InstanceIds,Values=, - // - // Specify Maintenance Window targets using the following format: - // - // 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 the task should use during execution. Populate only the - // fields that match the task type. All other fields should be empty. - TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"` - - // The parameters that should be passed to the task when it is executed. - // - // TaskParameters has been deprecated. To specify parameters to pass to a task - // when it runs, instead use the Parameters option in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"` - - // 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.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 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.Name != nil && len(*s.Name) < 3 { - invalidParams.Add(request.NewErrParamMinLen("Name", 3)) - } - 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 s.TaskInvocationParameters != nil { - if err := s.TaskInvocationParameters.Validate(); err != nil { - invalidParams.AddNested("TaskInvocationParameters", 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 -} - -// SetDescription sets the Description field's value. -func (s *RegisterTaskWithMaintenanceWindowInput) SetDescription(v string) *RegisterTaskWithMaintenanceWindowInput { - s.Description = &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 -} - -// SetName sets the Name field's value. -func (s *RegisterTaskWithMaintenanceWindowInput) SetName(v string) *RegisterTaskWithMaintenanceWindowInput { - s.Name = &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 -} - -// SetTaskInvocationParameters sets the TaskInvocationParameters field's value. -func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *RegisterTaskWithMaintenanceWindowInput { - s.TaskInvocationParameters = 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"` - - // The resource ID for which you want to remove tags. Use the ID of the resource. - // Here are some examples: - // - // ManagedInstance: mi-012345abcde - // - // MaintenanceWindow: mw-012345abcde - // - // PatchBaseline: pb-012345abcde - // - // For the Document and Parameter values, use the name of the resource. - // - // The ManagedInstance type for this API action is only for on-premises managed - // instances. You must specify the the name of the managed instance in the following - // format: mi-ID_number. For example, mi-1a2b3c4d5e6f. - // - // ResourceId is a required field - ResourceId *string `type:"string" required:"true"` - - // The type of resource of which you want to remove a tag. - // - // The ManagedInstance type for this API action is only for on-premises managed - // instances. You must specify the the name of the managed instance in the following - // format: mi-ID_number. For example, mi-1a2b3c4d5e6f. - // - // ResourceType is a required field - ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"` - - // Tag keys that you want to remove from the specified resource. - // - // TagKeys is a required field - TagKeys []*string `type:"list" required:"true"` -} - -// String returns the string representation -func (s RemoveTagsFromResourceInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s RemoveTagsFromResourceInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *RemoveTagsFromResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"} - if s.ResourceId == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceId")) - } - if s.ResourceType == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceType")) - } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetResourceId sets the ResourceId field's value. -func (s *RemoveTagsFromResourceInput) SetResourceId(v string) *RemoveTagsFromResourceInput { - s.ResourceId = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *RemoveTagsFromResourceInput) SetResourceType(v string) *RemoveTagsFromResourceInput { - s.ResourceType = &v - return s -} - -// SetTagKeys sets the TagKeys field's value. -func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput { - s.TagKeys = v - return s -} - -type RemoveTagsFromResourceOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s RemoveTagsFromResourceOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s RemoveTagsFromResourceOutput) GoString() string { - return s.String() -} - -// Information about targets that resolved during the Automation execution. -type ResolvedTargets struct { - _ struct{} `type:"structure"` - - // A list of parameter values sent to targets that resolved during the Automation - // execution. - ParameterValues []*string `type:"list"` - - // A boolean value indicating whether the resolved target list is truncated. - Truncated *bool `type:"boolean"` -} - -// String returns the string representation -func (s ResolvedTargets) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ResolvedTargets) GoString() string { - return s.String() -} - -// SetParameterValues sets the ParameterValues field's value. -func (s *ResolvedTargets) SetParameterValues(v []*string) *ResolvedTargets { - s.ParameterValues = v - return s -} - -// SetTruncated sets the Truncated field's value. -func (s *ResolvedTargets) SetTruncated(v bool) *ResolvedTargets { - s.Truncated = &v - return s -} - -// Compliance summary information for a specific resource. -type ResourceComplianceSummaryItem struct { - _ struct{} `type:"structure"` - - // The compliance type. - ComplianceType *string `min:"1" type:"string"` - - // A list of items that are compliant for the resource. - CompliantSummary *CompliantSummary `type:"structure"` - - // Information about the execution. - ExecutionSummary *ComplianceExecutionSummary `type:"structure"` - - // A list of items that aren't compliant for the resource. - NonCompliantSummary *NonCompliantSummary `type:"structure"` - - // The highest severity item found for the resource. The resource is compliant - // for this item. - OverallSeverity *string `type:"string" enum:"ComplianceSeverity"` - - // The resource ID. - ResourceId *string `min:"1" type:"string"` - - // The resource type. - ResourceType *string `min:"1" type:"string"` - - // The compliance status for the resource. - Status *string `type:"string" enum:"ComplianceStatus"` -} - -// String returns the string representation -func (s ResourceComplianceSummaryItem) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ResourceComplianceSummaryItem) GoString() string { - return s.String() -} - -// SetComplianceType sets the ComplianceType field's value. -func (s *ResourceComplianceSummaryItem) SetComplianceType(v string) *ResourceComplianceSummaryItem { - s.ComplianceType = &v - return s -} - -// SetCompliantSummary sets the CompliantSummary field's value. -func (s *ResourceComplianceSummaryItem) SetCompliantSummary(v *CompliantSummary) *ResourceComplianceSummaryItem { - s.CompliantSummary = v - return s -} - -// SetExecutionSummary sets the ExecutionSummary field's value. -func (s *ResourceComplianceSummaryItem) SetExecutionSummary(v *ComplianceExecutionSummary) *ResourceComplianceSummaryItem { - s.ExecutionSummary = v - return s -} - -// SetNonCompliantSummary sets the NonCompliantSummary field's value. -func (s *ResourceComplianceSummaryItem) SetNonCompliantSummary(v *NonCompliantSummary) *ResourceComplianceSummaryItem { - s.NonCompliantSummary = v - return s -} - -// SetOverallSeverity sets the OverallSeverity field's value. -func (s *ResourceComplianceSummaryItem) SetOverallSeverity(v string) *ResourceComplianceSummaryItem { - s.OverallSeverity = &v - return s -} - -// SetResourceId sets the ResourceId field's value. -func (s *ResourceComplianceSummaryItem) SetResourceId(v string) *ResourceComplianceSummaryItem { - s.ResourceId = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *ResourceComplianceSummaryItem) SetResourceType(v string) *ResourceComplianceSummaryItem { - s.ResourceType = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *ResourceComplianceSummaryItem) SetStatus(v string) *ResourceComplianceSummaryItem { - s.Status = &v - return s -} - -// Information about a Resource Data Sync configuration, including its current -// status and last successful sync. -type ResourceDataSyncItem struct { - _ struct{} `type:"structure"` - - // The status reported by the last sync. - LastStatus *string `type:"string" enum:"LastResourceDataSyncStatus"` - - // The last time the sync operations returned a status of SUCCESSFUL (UTC). - LastSuccessfulSyncTime *time.Time `type:"timestamp"` - - // The status message details reported by the last sync. - LastSyncStatusMessage *string `type:"string"` - - // The last time the configuration attempted to sync (UTC). - LastSyncTime *time.Time `type:"timestamp"` - - // Configuration information for the target Amazon S3 bucket. - S3Destination *ResourceDataSyncS3Destination `type:"structure"` - - // The date and time the configuration was created (UTC). - SyncCreatedTime *time.Time `type:"timestamp"` - - // The name of the Resource Data Sync. - SyncName *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s ResourceDataSyncItem) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ResourceDataSyncItem) GoString() string { - return s.String() -} - -// SetLastStatus sets the LastStatus field's value. -func (s *ResourceDataSyncItem) SetLastStatus(v string) *ResourceDataSyncItem { - s.LastStatus = &v - return s -} - -// SetLastSuccessfulSyncTime sets the LastSuccessfulSyncTime field's value. -func (s *ResourceDataSyncItem) SetLastSuccessfulSyncTime(v time.Time) *ResourceDataSyncItem { - s.LastSuccessfulSyncTime = &v - return s -} - -// SetLastSyncStatusMessage sets the LastSyncStatusMessage field's value. -func (s *ResourceDataSyncItem) SetLastSyncStatusMessage(v string) *ResourceDataSyncItem { - s.LastSyncStatusMessage = &v - return s -} - -// SetLastSyncTime sets the LastSyncTime field's value. -func (s *ResourceDataSyncItem) SetLastSyncTime(v time.Time) *ResourceDataSyncItem { - s.LastSyncTime = &v - return s -} - -// SetS3Destination sets the S3Destination field's value. -func (s *ResourceDataSyncItem) SetS3Destination(v *ResourceDataSyncS3Destination) *ResourceDataSyncItem { - s.S3Destination = v - return s -} - -// SetSyncCreatedTime sets the SyncCreatedTime field's value. -func (s *ResourceDataSyncItem) SetSyncCreatedTime(v time.Time) *ResourceDataSyncItem { - s.SyncCreatedTime = &v - return s -} - -// SetSyncName sets the SyncName field's value. -func (s *ResourceDataSyncItem) SetSyncName(v string) *ResourceDataSyncItem { - s.SyncName = &v - return s -} - -// Information about the target Amazon S3 bucket for the Resource Data Sync. -type ResourceDataSyncS3Destination struct { - _ struct{} `type:"structure"` - - // The ARN of an encryption key for a destination in Amazon S3. Must belong - // to the same region as the destination Amazon S3 bucket. - AWSKMSKeyARN *string `min:"1" type:"string"` - - // The name of the Amazon S3 bucket where the aggregated data is stored. - // - // BucketName is a required field - BucketName *string `min:"1" type:"string" required:"true"` - - // An Amazon S3 prefix for the bucket. - Prefix *string `min:"1" type:"string"` - - // The AWS Region with the Amazon S3 bucket targeted by the Resource Data Sync. - // - // Region is a required field - Region *string `min:"1" type:"string" required:"true"` - - // A supported sync format. The following format is currently supported: JsonSerDe - // - // SyncFormat is a required field - SyncFormat *string `type:"string" required:"true" enum:"ResourceDataSyncS3Format"` -} - -// String returns the string representation -func (s ResourceDataSyncS3Destination) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ResourceDataSyncS3Destination) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ResourceDataSyncS3Destination) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncS3Destination"} - if s.AWSKMSKeyARN != nil && len(*s.AWSKMSKeyARN) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AWSKMSKeyARN", 1)) - } - if s.BucketName == nil { - invalidParams.Add(request.NewErrParamRequired("BucketName")) - } - if s.BucketName != nil && len(*s.BucketName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("BucketName", 1)) - } - if s.Prefix != nil && len(*s.Prefix) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) - } - if s.Region == nil { - invalidParams.Add(request.NewErrParamRequired("Region")) - } - if s.Region != nil && len(*s.Region) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Region", 1)) - } - if s.SyncFormat == nil { - invalidParams.Add(request.NewErrParamRequired("SyncFormat")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAWSKMSKeyARN sets the AWSKMSKeyARN field's value. -func (s *ResourceDataSyncS3Destination) SetAWSKMSKeyARN(v string) *ResourceDataSyncS3Destination { - s.AWSKMSKeyARN = &v - return s -} - -// SetBucketName sets the BucketName field's value. -func (s *ResourceDataSyncS3Destination) SetBucketName(v string) *ResourceDataSyncS3Destination { - s.BucketName = &v - return s -} - -// SetPrefix sets the Prefix field's value. -func (s *ResourceDataSyncS3Destination) SetPrefix(v string) *ResourceDataSyncS3Destination { - s.Prefix = &v - return s -} - -// SetRegion sets the Region field's value. -func (s *ResourceDataSyncS3Destination) SetRegion(v string) *ResourceDataSyncS3Destination { - s.Region = &v - return s -} - -// SetSyncFormat sets the SyncFormat field's value. -func (s *ResourceDataSyncS3Destination) SetSyncFormat(v string) *ResourceDataSyncS3Destination { - s.SyncFormat = &v - return s -} - -// 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 -} - -type ResumeSessionInput struct { - _ struct{} `type:"structure"` - - // The ID of the disconnected session to resume. - // - // SessionId is a required field - SessionId *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s ResumeSessionInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ResumeSessionInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ResumeSessionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ResumeSessionInput"} - if s.SessionId == nil { - invalidParams.Add(request.NewErrParamRequired("SessionId")) - } - if s.SessionId != nil && len(*s.SessionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SessionId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetSessionId sets the SessionId field's value. -func (s *ResumeSessionInput) SetSessionId(v string) *ResumeSessionInput { - s.SessionId = &v - return s -} - -type ResumeSessionOutput struct { - _ struct{} `type:"structure"` - - // The ID of the session. - SessionId *string `min:"1" type:"string"` - - // A URL back to SSM Agent on the instance that the Session Manager client uses - // to send commands and receive output from the instance. Format: wss://ssm-messages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output). - // - // region represents the Region identifier for an AWS Region supported by AWS - // Systems Manager, such as us-east-2 for the US East (Ohio) Region. For a list - // of supported region values, see the Region column in the AWS Systems Manager - // table of regions and endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#ssm_region) - // in the AWS General Reference. - // - // session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE. - StreamUrl *string `type:"string"` - - // An encrypted token value containing session and caller information. Used - // to authenticate the connection to the instance. - TokenValue *string `type:"string"` -} - -// String returns the string representation -func (s ResumeSessionOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ResumeSessionOutput) GoString() string { - return s.String() -} - -// SetSessionId sets the SessionId field's value. -func (s *ResumeSessionOutput) SetSessionId(v string) *ResumeSessionOutput { - s.SessionId = &v - return s -} - -// SetStreamUrl sets the StreamUrl field's value. -func (s *ResumeSessionOutput) SetStreamUrl(v string) *ResumeSessionOutput { - s.StreamUrl = &v - return s -} - -// SetTokenValue sets the TokenValue field's value. -func (s *ResumeSessionOutput) SetTokenValue(v string) *ResumeSessionOutput { - s.TokenValue = &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"` - - // (Deprecated) You can no longer specify this parameter. The system ignores - // it. Instead, Systems Manager automatically determines the Amazon S3 bucket - // region. - 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 -} - -// Information about a scheduled execution for a Maintenance Window. -type ScheduledWindowExecution struct { - _ struct{} `type:"structure"` - - // The time, in ISO-8601 Extended format, that the Maintenance Window is scheduled - // to be run. - ExecutionTime *string `type:"string"` - - // The name of the Maintenance Window to be run. - Name *string `min:"3" type:"string"` - - // The ID of the Maintenance Window to be run. - WindowId *string `min:"20" type:"string"` -} - -// String returns the string representation -func (s ScheduledWindowExecution) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ScheduledWindowExecution) GoString() string { - return s.String() -} - -// SetExecutionTime sets the ExecutionTime field's value. -func (s *ScheduledWindowExecution) SetExecutionTime(v string) *ScheduledWindowExecution { - s.ExecutionTime = &v - return s -} - -// SetName sets the Name field's value. -func (s *ScheduledWindowExecution) SetName(v string) *ScheduledWindowExecution { - s.Name = &v - return s -} - -// SetWindowId sets the WindowId field's value. -func (s *ScheduledWindowExecution) SetWindowId(v string) *ScheduledWindowExecution { - s.WindowId = &v - return s -} - -type SendAutomationSignalInput struct { - _ struct{} `type:"structure"` - - // The unique identifier for an existing Automation execution that you want - // to send the signal to. - // - // AutomationExecutionId is a required field - AutomationExecutionId *string `min:"36" type:"string" required:"true"` - - // The data sent with the signal. The data schema depends on the type of signal - // used in the request. - Payload map[string][]*string `min:"1" type:"map"` - - // The type of signal. Valid signal types include the following: Approve and - // Reject - // - // SignalType is a required field - SignalType *string `type:"string" required:"true" enum:"SignalType"` -} - -// String returns the string representation -func (s SendAutomationSignalInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s SendAutomationSignalInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *SendAutomationSignalInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SendAutomationSignalInput"} - if s.AutomationExecutionId == nil { - invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId")) - } - if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36)) - } - if s.Payload != nil && len(s.Payload) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Payload", 1)) - } - if s.SignalType == nil { - invalidParams.Add(request.NewErrParamRequired("SignalType")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAutomationExecutionId sets the AutomationExecutionId field's value. -func (s *SendAutomationSignalInput) SetAutomationExecutionId(v string) *SendAutomationSignalInput { - s.AutomationExecutionId = &v - return s -} - -// SetPayload sets the Payload field's value. -func (s *SendAutomationSignalInput) SetPayload(v map[string][]*string) *SendAutomationSignalInput { - s.Payload = v - return s -} - -// SetSignalType sets the SignalType field's value. -func (s *SendAutomationSignalInput) SetSignalType(v string) *SendAutomationSignalInput { - s.SignalType = &v - return s -} - -type SendAutomationSignalOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s SendAutomationSignalOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s SendAutomationSignalOutput) GoString() string { - return s.String() -} - -type SendCommandInput struct { - _ struct{} `type:"structure"` - - // Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs. - CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"` - - // User-specified information about the command, such as a brief description - // of what the command should do. - Comment *string `type:"string"` - - // The Sha256 or Sha1 hash created by the system when the document was created. - // - // Sha1 hashes have been deprecated. - DocumentHash *string `type:"string"` - - // Sha256 or Sha1. - // - // Sha1 hashes have been deprecated. - DocumentHashType *string `type:"string" enum:"DocumentHashType"` - - // Required. The name of the Systems Manager document to execute. This can be - // a public document or a custom document. - // - // DocumentName is a required field - DocumentName *string `type:"string" required:"true"` - - // The SSM document version to use in the request. You can specify $DEFAULT, - // $LATEST, or a specific version number. If you execute commands by using the - // AWS CLI, then you must escape the first two options by using a backslash. - // If you specify a version number, then you don't need to use the backslash. - // For example: - // - // --document-version "\$DEFAULT" - // - // --document-version "\$LATEST" - // - // --document-version "3" - DocumentVersion *string `type:"string"` - - // The instance IDs where the command should execute. You can specify a maximum - // of 50 IDs. If you prefer not to list individual instance IDs, you can instead - // send commands to a fleet of instances using the Targets parameter, which - // accepts EC2 tags. For more information about how to use targets, see Sending - // Commands to a Fleet (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html) - // in the AWS Systems Manager User Guide. - 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 Using Concurrency Controls (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-velocity) - // in the AWS Systems Manager User Guide. - 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 0. For more information - // about how to use MaxErrors, see Using Error Controls (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-maxerrors) - // in the AWS Systems Manager User Guide. - MaxErrors *string `min:"1" type:"string"` - - // Configurations for sending notifications. - NotificationConfig *NotificationConfig `type:"structure"` - - // The name of the S3 bucket where command execution responses should be stored. - OutputS3BucketName *string `min:"3" type:"string"` - - // The directory structure within the S3 bucket where the responses should be - // stored. - OutputS3KeyPrefix *string `type:"string"` - - // (Deprecated) You can no longer specify this parameter. The system ignores - // it. Instead, Systems Manager automatically determines the Amazon S3 bucket - // region. - OutputS3Region *string `min:"3" type:"string"` - - // The required and optional parameters specified in the document being executed. - Parameters map[string][]*string `type:"map"` - - // 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 Sending Commands to a Fleet (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html) - // in the AWS Systems Manager User Guide. - Targets []*Target `type:"list"` - - // If this time is reached and the command has not already started executing, - // it will not run. - TimeoutSeconds *int64 `min:"30" type:"integer"` -} - -// String returns the string representation -func (s SendCommandInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s SendCommandInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *SendCommandInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SendCommandInput"} - if s.DocumentName == nil { - invalidParams.Add(request.NewErrParamRequired("DocumentName")) - } - if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 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.CloudWatchOutputConfig != nil { - if err := s.CloudWatchOutputConfig.Validate(); err != nil { - invalidParams.AddNested("CloudWatchOutputConfig", 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 -} - -// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value. -func (s *SendCommandInput) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *SendCommandInput { - s.CloudWatchOutputConfig = v - return s -} - -// SetComment sets the Comment field's value. -func (s *SendCommandInput) SetComment(v string) *SendCommandInput { - s.Comment = &v - return s -} - -// SetDocumentHash sets the DocumentHash field's value. -func (s *SendCommandInput) SetDocumentHash(v string) *SendCommandInput { - s.DocumentHash = &v - return s -} - -// SetDocumentHashType sets the DocumentHashType field's value. -func (s *SendCommandInput) SetDocumentHashType(v string) *SendCommandInput { - s.DocumentHashType = &v - return s -} - -// SetDocumentName sets the DocumentName field's value. -func (s *SendCommandInput) SetDocumentName(v string) *SendCommandInput { - s.DocumentName = &v - return s -} - -// SetDocumentVersion sets the DocumentVersion field's value. -func (s *SendCommandInput) SetDocumentVersion(v string) *SendCommandInput { - s.DocumentVersion = &v - return s -} - -// SetInstanceIds sets the InstanceIds field's value. -func (s *SendCommandInput) SetInstanceIds(v []*string) *SendCommandInput { - s.InstanceIds = v - 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 - return s -} - -// SetOutputS3BucketName sets the OutputS3BucketName field's value. -func (s *SendCommandInput) SetOutputS3BucketName(v string) *SendCommandInput { - s.OutputS3BucketName = &v - return s -} - -// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value. -func (s *SendCommandInput) SetOutputS3KeyPrefix(v string) *SendCommandInput { - s.OutputS3KeyPrefix = &v - 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 - return s -} - -// SetServiceRoleArn sets the ServiceRoleArn field's value. -func (s *SendCommandInput) SetServiceRoleArn(v string) *SendCommandInput { - s.ServiceRoleArn = &v - 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 - return s -} - -type SendCommandOutput struct { - _ struct{} `type:"structure"` - - // 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"` -} - -// String returns the string representation -func (s SendCommandOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s SendCommandOutput) GoString() string { - return s.String() -} - -// SetCommand sets the Command field's value. -func (s *SendCommandOutput) SetCommand(v *Command) *SendCommandOutput { - s.Command = v - return s -} - -// Information about a Session Manager connection to an instance. -type Session struct { - _ struct{} `type:"structure"` - - // Reserved for future use. - Details *string `min:"1" type:"string"` - - // The name of the Session Manager SSM document used to define the parameters - // and plugin settings for the session. For example, SSM-SessionManagerRunShell. - DocumentName *string `type:"string"` - - // The date and time, in ISO-8601 Extended format, when the session was terminated. - EndDate *time.Time `type:"timestamp"` - - // Reserved for future use. - OutputUrl *SessionManagerOutputUrl `type:"structure"` - - // The ID of the AWS user account that started the session. - Owner *string `min:"1" type:"string"` - - // The ID of the session. - SessionId *string `min:"1" type:"string"` - - // The date and time, in ISO-8601 Extended format, when the session began. - StartDate *time.Time `type:"timestamp"` - - // The status of the session. For example, "Connected" or "Terminated". - Status *string `type:"string" enum:"SessionStatus"` - - // The instance that the Session Manager session connected to. - Target *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s Session) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s Session) GoString() string { - return s.String() -} - -// SetDetails sets the Details field's value. -func (s *Session) SetDetails(v string) *Session { - s.Details = &v - return s -} - -// SetDocumentName sets the DocumentName field's value. -func (s *Session) SetDocumentName(v string) *Session { - s.DocumentName = &v - return s -} - -// SetEndDate sets the EndDate field's value. -func (s *Session) SetEndDate(v time.Time) *Session { - s.EndDate = &v - return s -} - -// SetOutputUrl sets the OutputUrl field's value. -func (s *Session) SetOutputUrl(v *SessionManagerOutputUrl) *Session { - s.OutputUrl = v - return s -} - -// SetOwner sets the Owner field's value. -func (s *Session) SetOwner(v string) *Session { - s.Owner = &v - return s -} - -// SetSessionId sets the SessionId field's value. -func (s *Session) SetSessionId(v string) *Session { - s.SessionId = &v - return s -} - -// SetStartDate sets the StartDate field's value. -func (s *Session) SetStartDate(v time.Time) *Session { - s.StartDate = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *Session) SetStatus(v string) *Session { - s.Status = &v - return s -} - -// SetTarget sets the Target field's value. -func (s *Session) SetTarget(v string) *Session { - s.Target = &v - return s -} - -// Describes a filter for Session Manager information. -type SessionFilter struct { - _ struct{} `type:"structure"` - - // The name of the filter. - // - // Key is a required field - Key *string `locationName:"key" type:"string" required:"true" enum:"SessionFilterKey"` - - // The filter value. Valid values for each filter key are as follows: - // - // * InvokedAfter: Specify a timestamp to limit your results. For example, - // specify 2018-08-29T00:00:00Z to see sessions that started August 29, 2018, - // and later. - // - // * InvokedBefore: Specify a timestamp to limit your results. For example, - // specify 2018-08-29T00:00:00Z to see sessions that started before August - // 29, 2018. - // - // * Target: Specify an instance to which session connections have been made. - // - // * Owner: Specify an AWS user account to see a list of sessions started - // by that user. - // - // * Status: Specify a valid session status to see a list of all sessions - // with that status. Status values you can specify include: - // - // Connected - // - // Connecting - // - // Disconnected - // - // Terminated - // - // Terminating - // - // Failed - // - // Value is a required field - Value *string `locationName:"value" min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s SessionFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s SessionFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *SessionFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SessionFilter"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - 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 -} - -// SetKey sets the Key field's value. -func (s *SessionFilter) SetKey(v string) *SessionFilter { - s.Key = &v - return s -} - -// SetValue sets the Value field's value. -func (s *SessionFilter) SetValue(v string) *SessionFilter { - s.Value = &v - return s -} - -// Reserved for future use. -type SessionManagerOutputUrl struct { - _ struct{} `type:"structure"` - - // Reserved for future use. - CloudWatchOutputUrl *string `min:"1" type:"string"` - - // Reserved for future use. - S3OutputUrl *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s SessionManagerOutputUrl) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s SessionManagerOutputUrl) GoString() string { - return s.String() -} - -// SetCloudWatchOutputUrl sets the CloudWatchOutputUrl field's value. -func (s *SessionManagerOutputUrl) SetCloudWatchOutputUrl(v string) *SessionManagerOutputUrl { - s.CloudWatchOutputUrl = &v - return s -} - -// SetS3OutputUrl sets the S3OutputUrl field's value. -func (s *SessionManagerOutputUrl) SetS3OutputUrl(v string) *SessionManagerOutputUrl { - s.S3OutputUrl = &v - return s -} - -// The number of managed instances found for each patch severity level defined -// in the request filter. -type SeveritySummary struct { - _ struct{} `type:"structure"` - - // The total number of resources or compliance items that have a severity level - // of critical. Critical severity is determined by the organization that published - // the compliance items. - CriticalCount *int64 `type:"integer"` - - // The total number of resources or compliance items that have a severity level - // of high. High severity is determined by the organization that published the - // compliance items. - HighCount *int64 `type:"integer"` - - // The total number of resources or compliance items that have a severity level - // of informational. Informational severity is determined by the organization - // that published the compliance items. - InformationalCount *int64 `type:"integer"` - - // The total number of resources or compliance items that have a severity level - // of low. Low severity is determined by the organization that published the - // compliance items. - LowCount *int64 `type:"integer"` - - // The total number of resources or compliance items that have a severity level - // of medium. Medium severity is determined by the organization that published - // the compliance items. - MediumCount *int64 `type:"integer"` - - // The total number of resources or compliance items that have a severity level - // of unspecified. Unspecified severity is determined by the organization that - // published the compliance items. - UnspecifiedCount *int64 `type:"integer"` -} - -// String returns the string representation -func (s SeveritySummary) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s SeveritySummary) GoString() string { - return s.String() -} - -// SetCriticalCount sets the CriticalCount field's value. -func (s *SeveritySummary) SetCriticalCount(v int64) *SeveritySummary { - s.CriticalCount = &v - return s -} - -// SetHighCount sets the HighCount field's value. -func (s *SeveritySummary) SetHighCount(v int64) *SeveritySummary { - s.HighCount = &v - return s -} - -// SetInformationalCount sets the InformationalCount field's value. -func (s *SeveritySummary) SetInformationalCount(v int64) *SeveritySummary { - s.InformationalCount = &v - return s -} - -// SetLowCount sets the LowCount field's value. -func (s *SeveritySummary) SetLowCount(v int64) *SeveritySummary { - s.LowCount = &v - return s -} - -// SetMediumCount sets the MediumCount field's value. -func (s *SeveritySummary) SetMediumCount(v int64) *SeveritySummary { - s.MediumCount = &v - return s -} - -// SetUnspecifiedCount sets the UnspecifiedCount field's value. -func (s *SeveritySummary) SetUnspecifiedCount(v int64) *SeveritySummary { - s.UnspecifiedCount = &v - return s -} - -type StartAssociationsOnceInput struct { - _ struct{} `type:"structure"` - - // The association IDs that you want to execute immediately and only one time. - // - // AssociationIds is a required field - AssociationIds []*string `min:"1" type:"list" required:"true"` -} - -// String returns the string representation -func (s StartAssociationsOnceInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s StartAssociationsOnceInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *StartAssociationsOnceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "StartAssociationsOnceInput"} - if s.AssociationIds == nil { - invalidParams.Add(request.NewErrParamRequired("AssociationIds")) - } - if s.AssociationIds != nil && len(s.AssociationIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssociationIds", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAssociationIds sets the AssociationIds field's value. -func (s *StartAssociationsOnceInput) SetAssociationIds(v []*string) *StartAssociationsOnceInput { - s.AssociationIds = v - return s -} - -type StartAssociationsOnceOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s StartAssociationsOnceOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s StartAssociationsOnceOutput) GoString() string { - return s.String() -} - -type StartAutomationExecutionInput struct { - _ struct{} `type:"structure"` - - // User-provided idempotency token. The token must be unique, is case insensitive, - // enforces the UUID format, and can't be reused. - ClientToken *string `min:"36" type:"string"` - - // 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"` - - // The maximum number of targets allowed to run this task in parallel. You can - // specify a number, such as 10, or a percentage, such as 10%. The default value - // is 10. - MaxConcurrency *string `min:"1" type:"string"` - - // The number of errors that are allowed before the system stops running the - // automation on additional targets. You can specify either an absolute number - // of errors, for example 10, or a percentage of the target set, for example - // 10%. If you specify 3, for example, the system stops running the automation - // when the fourth error is received. If you specify 0, then the system stops - // running the automation on additional targets after the first error result - // is returned. If you run an automation on 50 resources and set max-errors - // to 10%, then the system stops running the automation on additional targets - // when the sixth error is received. - // - // Executions that are already running an automation when max-errors is reached - // are allowed to complete, but some of these executions may fail as well. If - // you need to ensure that there won't be more than max-errors failed executions, - // set max-concurrency to 1 so the executions proceed one at a time. - MaxErrors *string `min:"1" type:"string"` - - // The execution mode of the automation. Valid modes include the following: - // Auto and Interactive. The default mode is Auto. - Mode *string `type:"string" enum:"ExecutionMode"` - - // A key-value map of execution parameters, which match the declared parameters - // in the Automation document. - Parameters map[string][]*string `min:"1" type:"map"` - - // A location is a combination of AWS Regions and/or AWS accounts where you - // want to execute the Automation. Use this action to start an Automation in - // multiple Regions and multiple accounts. For more information, see Concurrently - // Executing Automations in Multiple AWS Regions and Accounts (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html) - // in the AWS Systems Manager User Guide. - TargetLocations []*TargetLocation `min:"1" type:"list"` - - // A key-value mapping of document parameters to target resources. Both Targets - // and TargetMaps cannot be specified together. - TargetMaps []map[string][]*string `type:"list"` - - // The name of the parameter used as the target resource for the rate-controlled - // execution. Required if you specify targets. - TargetParameterName *string `min:"1" type:"string"` - - // A key-value mapping to target resources. Required if you specify TargetParameterName. - Targets []*Target `type:"list"` -} - -// 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.ClientToken != nil && len(*s.ClientToken) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) - } - if s.DocumentName == nil { - invalidParams.Add(request.NewErrParamRequired("DocumentName")) - } - if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) - } - if s.MaxErrors != nil && len(*s.MaxErrors) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1)) - } - if s.Parameters != nil && len(s.Parameters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Parameters", 1)) - } - if s.TargetLocations != nil && len(s.TargetLocations) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TargetLocations", 1)) - } - if s.TargetParameterName != nil && len(*s.TargetParameterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TargetParameterName", 1)) - } - if s.TargetLocations != nil { - for i, v := range s.TargetLocations { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetLocations", i), 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 *StartAutomationExecutionInput) SetClientToken(v string) *StartAutomationExecutionInput { - s.ClientToken = &v - return s -} - -// 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 -} - -// SetMaxConcurrency sets the MaxConcurrency field's value. -func (s *StartAutomationExecutionInput) SetMaxConcurrency(v string) *StartAutomationExecutionInput { - s.MaxConcurrency = &v - return s -} - -// SetMaxErrors sets the MaxErrors field's value. -func (s *StartAutomationExecutionInput) SetMaxErrors(v string) *StartAutomationExecutionInput { - s.MaxErrors = &v - return s -} - -// SetMode sets the Mode field's value. -func (s *StartAutomationExecutionInput) SetMode(v string) *StartAutomationExecutionInput { - s.Mode = &v - return s -} - -// SetParameters sets the Parameters field's value. -func (s *StartAutomationExecutionInput) SetParameters(v map[string][]*string) *StartAutomationExecutionInput { - s.Parameters = v - return s -} - -// SetTargetLocations sets the TargetLocations field's value. -func (s *StartAutomationExecutionInput) SetTargetLocations(v []*TargetLocation) *StartAutomationExecutionInput { - s.TargetLocations = v - return s -} - -// SetTargetMaps sets the TargetMaps field's value. -func (s *StartAutomationExecutionInput) SetTargetMaps(v []map[string][]*string) *StartAutomationExecutionInput { - s.TargetMaps = v - return s -} - -// SetTargetParameterName sets the TargetParameterName field's value. -func (s *StartAutomationExecutionInput) SetTargetParameterName(v string) *StartAutomationExecutionInput { - s.TargetParameterName = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *StartAutomationExecutionInput) SetTargets(v []*Target) *StartAutomationExecutionInput { - s.Targets = 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 -} - -type StartSessionInput struct { - _ struct{} `type:"structure"` - - // The name of the SSM document to define the parameters and plugin settings - // for the session. For example, SSM-SessionManagerRunShell. If no document - // name is provided, a shell to the instance is launched by default. - DocumentName *string `type:"string"` - - // Reserved for future use. - Parameters map[string][]*string `type:"map"` - - // The instance to connect to for the session. - // - // Target is a required field - Target *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s StartSessionInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s StartSessionInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *StartSessionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "StartSessionInput"} - if s.Target == nil { - invalidParams.Add(request.NewErrParamRequired("Target")) - } - if s.Target != nil && len(*s.Target) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Target", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDocumentName sets the DocumentName field's value. -func (s *StartSessionInput) SetDocumentName(v string) *StartSessionInput { - s.DocumentName = &v - return s -} - -// SetParameters sets the Parameters field's value. -func (s *StartSessionInput) SetParameters(v map[string][]*string) *StartSessionInput { - s.Parameters = v - return s -} - -// SetTarget sets the Target field's value. -func (s *StartSessionInput) SetTarget(v string) *StartSessionInput { - s.Target = &v - return s -} - -type StartSessionOutput struct { - _ struct{} `type:"structure"` - - // The ID of the session. - SessionId *string `min:"1" type:"string"` - - // A URL back to SSM Agent on the instance that the Session Manager client uses - // to send commands and receive output from the instance. Format: wss://ssm-messages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output) - // - // region represents the Region identifier for an AWS Region supported by AWS - // Systems Manager, such as us-east-2 for the US East (Ohio) Region. For a list - // of supported region values, see the Region column in the AWS Systems Manager - // table of regions and endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#ssm_region) - // in the AWS General Reference. - // - // session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE. - StreamUrl *string `type:"string"` - - // An encrypted token value containing session and caller information. Used - // to authenticate the connection to the instance. - TokenValue *string `type:"string"` -} - -// String returns the string representation -func (s StartSessionOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s StartSessionOutput) GoString() string { - return s.String() -} - -// SetSessionId sets the SessionId field's value. -func (s *StartSessionOutput) SetSessionId(v string) *StartSessionOutput { - s.SessionId = &v - return s -} - -// SetStreamUrl sets the StreamUrl field's value. -func (s *StartSessionOutput) SetStreamUrl(v string) *StartSessionOutput { - s.StreamUrl = &v - return s -} - -// SetTokenValue sets the TokenValue field's value. -func (s *StartSessionOutput) SetTokenValue(v string) *StartSessionOutput { - s.TokenValue = &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"` - - // 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"` - - // Information about the Automation failure. - FailureDetails *FailureDetails `type:"structure"` - - // 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"` - - // The flag which can be used to help decide whether the failure of current - // step leads to the Automation failure. - IsCritical *bool `type:"boolean"` - - // The flag which can be used to end automation no matter whether the step succeeds - // or fails. - IsEnd *bool `type:"boolean"` - - // The maximum number of tries to run the action of the step. The default value - // is 1. - MaxAttempts *int64 `type:"integer"` - - // The next step after the step succeeds. - NextStep *string `type:"string"` - - // The action to take if the step fails. The default value is Abort. - OnFailure *string `type:"string"` - - // Returned values from the execution of the step. - Outputs map[string][]*string `min:"1" type:"map"` - - // A user-specified list of parameters to override when executing a step. - OverriddenParameters 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 unique ID of a step execution. - StepExecutionId *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"` - - // The combination of AWS Regions and accounts targeted by the current Automation - // execution. - TargetLocation *TargetLocation `type:"structure"` - - // The targets for the step execution. - Targets []*Target `type:"list"` - - // The timeout seconds of the step. - TimeoutSeconds *int64 `type:"long"` - - // Strategies used when step fails, we support Continue and Abort. Abort will - // fail the automation when the step fails. Continue will ignore the failure - // of current step and allow automation to execute the next step. With conditional - // branching, we add step:stepName to support the automation to go to another - // specific step. - ValidNextSteps []*string `type:"list"` -} - -// 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 -} - -// SetFailureDetails sets the FailureDetails field's value. -func (s *StepExecution) SetFailureDetails(v *FailureDetails) *StepExecution { - s.FailureDetails = 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 -} - -// SetIsCritical sets the IsCritical field's value. -func (s *StepExecution) SetIsCritical(v bool) *StepExecution { - s.IsCritical = &v - return s -} - -// SetIsEnd sets the IsEnd field's value. -func (s *StepExecution) SetIsEnd(v bool) *StepExecution { - s.IsEnd = &v - return s -} - -// SetMaxAttempts sets the MaxAttempts field's value. -func (s *StepExecution) SetMaxAttempts(v int64) *StepExecution { - s.MaxAttempts = &v - return s -} - -// SetNextStep sets the NextStep field's value. -func (s *StepExecution) SetNextStep(v string) *StepExecution { - s.NextStep = &v - return s -} - -// SetOnFailure sets the OnFailure field's value. -func (s *StepExecution) SetOnFailure(v string) *StepExecution { - s.OnFailure = &v - return s -} - -// SetOutputs sets the Outputs field's value. -func (s *StepExecution) SetOutputs(v map[string][]*string) *StepExecution { - s.Outputs = v - return s -} - -// SetOverriddenParameters sets the OverriddenParameters field's value. -func (s *StepExecution) SetOverriddenParameters(v map[string][]*string) *StepExecution { - s.OverriddenParameters = 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 -} - -// SetStepExecutionId sets the StepExecutionId field's value. -func (s *StepExecution) SetStepExecutionId(v string) *StepExecution { - s.StepExecutionId = &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 -} - -// SetTargetLocation sets the TargetLocation field's value. -func (s *StepExecution) SetTargetLocation(v *TargetLocation) *StepExecution { - s.TargetLocation = v - return s -} - -// SetTargets sets the Targets field's value. -func (s *StepExecution) SetTargets(v []*Target) *StepExecution { - s.Targets = v - return s -} - -// SetTimeoutSeconds sets the TimeoutSeconds field's value. -func (s *StepExecution) SetTimeoutSeconds(v int64) *StepExecution { - s.TimeoutSeconds = &v - return s -} - -// SetValidNextSteps sets the ValidNextSteps field's value. -func (s *StepExecution) SetValidNextSteps(v []*string) *StepExecution { - s.ValidNextSteps = v - return s -} - -// A filter to limit the amount of step execution information returned by the -// call. -type StepExecutionFilter struct { - _ struct{} `type:"structure"` - - // One or more keys to limit the results. Valid filter keys include the following: - // StepName, Action, StepExecutionId, StepExecutionStatus, StartTimeBefore, - // StartTimeAfter. - // - // Key is a required field - Key *string `type:"string" required:"true" enum:"StepExecutionFilterKey"` - - // The values of the filter key. - // - // Values is a required field - Values []*string `min:"1" type:"list" required:"true"` -} - -// String returns the string representation -func (s StepExecutionFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s StepExecutionFilter) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *StepExecutionFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "StepExecutionFilter"} - 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 *StepExecutionFilter) SetKey(v string) *StepExecutionFilter { - s.Key = &v - return s -} - -// SetValues sets the Values field's value. -func (s *StepExecutionFilter) SetValues(v []*string) *StepExecutionFilter { - s.Values = 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"` - - // The stop request type. Valid types include the following: Cancel and Complete. - // The default type is Cancel. - Type *string `type:"string" enum:"StopType"` -} - -// 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 -} - -// SetType sets the Type field's value. -func (s *StopAutomationExecutionInput) SetType(v string) *StopAutomationExecutionInput { - s.Type = &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 AWS resources. Tags enable you to categorize -// your resources in different ways, for example, by purpose, owner, or environment. -// In Systems Manager, you can apply tags to documents, managed instances, Maintenance -// Windows, Parameter Store parameters, and patch baselines. -type Tag struct { - _ struct{} `type:"structure"` - - // The name of the tag. - // - // Key is a required field - Key *string `min:"1" type:"string" required:"true"` - - // The value of the tag. - // - // Value is a required field - Value *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s Tag) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s Tag) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *Tag) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Tag"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) - } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) - } - if s.Value != nil && len(*s.Value) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Value", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetKey sets the Key field's value. -func (s *Tag) SetKey(v string) *Tag { - s.Key = &v - return s -} - -// SetValue sets the Value field's value. -func (s *Tag) SetValue(v string) *Tag { - s.Value = &v - 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 InstanceIds. For more information - // about how to send commands that target instances using Key,Value parameters, - // see Targeting Multiple Instances (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-targeting) - // in the AWS Systems Manager User Guide. - 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 - // Sending Commands to a Fleet (http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html) - // in the AWS Systems Manager User Guide. - 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 -} - -// The combination of AWS Regions and accounts targeted by the current Automation -// execution. -type TargetLocation struct { - _ struct{} `type:"structure"` - - // The AWS accounts targeted by the current Automation execution. - Accounts []*string `min:"1" type:"list"` - - // The Automation execution role used by the currently executing Automation. - ExecutionRoleName *string `min:"1" type:"string"` - - // The AWS Regions targeted by the current Automation execution. - Regions []*string `min:"1" type:"list"` - - // The maxium number of AWS accounts and AWS regions allowed to run the Automation - // concurrently - TargetLocationMaxConcurrency *string `min:"1" type:"string"` - - // The maxium number of errors allowed before the system stops queueing additional - // Automation executions for the currently executing Automation. - TargetLocationMaxErrors *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s TargetLocation) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s TargetLocation) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *TargetLocation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TargetLocation"} - if s.Accounts != nil && len(s.Accounts) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Accounts", 1)) - } - if s.ExecutionRoleName != nil && len(*s.ExecutionRoleName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleName", 1)) - } - if s.Regions != nil && len(s.Regions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Regions", 1)) - } - if s.TargetLocationMaxConcurrency != nil && len(*s.TargetLocationMaxConcurrency) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TargetLocationMaxConcurrency", 1)) - } - if s.TargetLocationMaxErrors != nil && len(*s.TargetLocationMaxErrors) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TargetLocationMaxErrors", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAccounts sets the Accounts field's value. -func (s *TargetLocation) SetAccounts(v []*string) *TargetLocation { - s.Accounts = v - return s -} - -// SetExecutionRoleName sets the ExecutionRoleName field's value. -func (s *TargetLocation) SetExecutionRoleName(v string) *TargetLocation { - s.ExecutionRoleName = &v - return s -} - -// SetRegions sets the Regions field's value. -func (s *TargetLocation) SetRegions(v []*string) *TargetLocation { - s.Regions = v - return s -} - -// SetTargetLocationMaxConcurrency sets the TargetLocationMaxConcurrency field's value. -func (s *TargetLocation) SetTargetLocationMaxConcurrency(v string) *TargetLocation { - s.TargetLocationMaxConcurrency = &v - return s -} - -// SetTargetLocationMaxErrors sets the TargetLocationMaxErrors field's value. -func (s *TargetLocation) SetTargetLocationMaxErrors(v string) *TargetLocation { - s.TargetLocationMaxErrors = &v - return s -} - -type TerminateSessionInput struct { - _ struct{} `type:"structure"` - - // The ID of the session to terminate. - // - // SessionId is a required field - SessionId *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s TerminateSessionInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s TerminateSessionInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *TerminateSessionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TerminateSessionInput"} - if s.SessionId == nil { - invalidParams.Add(request.NewErrParamRequired("SessionId")) - } - if s.SessionId != nil && len(*s.SessionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SessionId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetSessionId sets the SessionId field's value. -func (s *TerminateSessionInput) SetSessionId(v string) *TerminateSessionInput { - s.SessionId = &v - return s -} - -type TerminateSessionOutput struct { - _ struct{} `type:"structure"` - - // The ID of the session that has been terminated. - SessionId *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s TerminateSessionOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s TerminateSessionOutput) GoString() string { - return s.String() -} - -// SetSessionId sets the SessionId field's value. -func (s *TerminateSessionOutput) SetSessionId(v string) *TerminateSessionOutput { - s.SessionId = &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 name of the association that you want to update. - AssociationName *string `type:"string"` - - // This parameter is provided for concurrency control purposes. You must specify - // the latest association version in the service. If you want to ensure that - // this request succeeds, either specify $LATEST, or omit this parameter. - AssociationVersion *string `type:"string"` - - // The severity level to assign to the association. - ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"` - - // The document version you want update for the association. - DocumentVersion *string `type:"string"` - - // The maximum number of targets allowed to run the association at the same - // time. You can specify a number, for example 10, or a percentage of the target - // set, for example 10%. The default value is 100%, which means all targets - // run the association at the same time. - // - // If a new instance starts and attempts to execute an association while Systems - // Manager is executing MaxConcurrency associations, the association is allowed - // to run. During the next association interval, the new instance will process - // its association within the limit specified for MaxConcurrency. - MaxConcurrency *string `min:"1" type:"string"` - - // The number of errors that are allowed before the system stops sending requests - // to run the association on additional targets. You can specify either an absolute - // number of errors, for example 10, or a percentage of the target set, for - // example 10%. If you specify 3, for example, the system stops sending requests - // when the fourth error is received. If you specify 0, then the system stops - // sending requests after the first error is returned. If you run an association - // on 50 instances and set MaxError to 10%, then the system stops sending the - // request when the sixth error is received. - // - // Executions that are already running an association when MaxErrors is reached - // are allowed to complete, but some of these executions may fail as well. If - // you need to ensure that there won't be more than max-errors failed executions, - // set MaxConcurrency to 1 so that executions proceed one at a time. - MaxErrors *string `min:"1" type:"string"` - - // The name of the association document. - Name *string `type:"string"` - - // An Amazon S3 bucket where you want to store the results of this request. - 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. - ScheduleExpression *string `min:"1" type:"string"` - - // The targets of the association. - Targets []*Target `type:"list"` -} - -// 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.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) - } - if s.MaxErrors != nil && len(*s.MaxErrors) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1)) - } - 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 -} - -// SetAssociationId sets the AssociationId field's value. -func (s *UpdateAssociationInput) SetAssociationId(v string) *UpdateAssociationInput { - s.AssociationId = &v - return s -} - -// SetAssociationName sets the AssociationName field's value. -func (s *UpdateAssociationInput) SetAssociationName(v string) *UpdateAssociationInput { - s.AssociationName = &v - return s -} - -// SetAssociationVersion sets the AssociationVersion field's value. -func (s *UpdateAssociationInput) SetAssociationVersion(v string) *UpdateAssociationInput { - s.AssociationVersion = &v - return s -} - -// SetComplianceSeverity sets the ComplianceSeverity field's value. -func (s *UpdateAssociationInput) SetComplianceSeverity(v string) *UpdateAssociationInput { - s.ComplianceSeverity = &v - return s -} - -// SetDocumentVersion sets the DocumentVersion field's value. -func (s *UpdateAssociationInput) SetDocumentVersion(v string) *UpdateAssociationInput { - s.DocumentVersion = &v - return s -} - -// SetMaxConcurrency sets the MaxConcurrency field's value. -func (s *UpdateAssociationInput) SetMaxConcurrency(v string) *UpdateAssociationInput { - s.MaxConcurrency = &v - return s -} - -// SetMaxErrors sets the MaxErrors field's value. -func (s *UpdateAssociationInput) SetMaxErrors(v string) *UpdateAssociationInput { - s.MaxErrors = &v - return s -} - -// SetName sets the Name field's value. -func (s *UpdateAssociationInput) SetName(v string) *UpdateAssociationInput { - s.Name = &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 -} - -// SetTargets sets the Targets field's value. -func (s *UpdateAssociationInput) SetTargets(v []*Target) *UpdateAssociationInput { - s.Targets = 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"` - - // The association status. - // - // AssociationStatus is a required field - AssociationStatus *AssociationStatus `type:"structure" required:"true"` - - // The ID of the instance. - // - // InstanceId is a required field - InstanceId *string `type:"string" required:"true"` - - // The name of the Systems Manager document. - // - // Name is a required field - Name *string `type:"string" required:"true"` -} - -// String returns the string representation -func (s UpdateAssociationStatusInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s UpdateAssociationStatusInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateAssociationStatusInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateAssociationStatusInput"} - if s.AssociationStatus == nil { - invalidParams.Add(request.NewErrParamRequired("AssociationStatus")) - } - if s.InstanceId == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceId")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.AssociationStatus != nil { - if err := s.AssociationStatus.Validate(); err != nil { - invalidParams.AddNested("AssociationStatus", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAssociationStatus sets the AssociationStatus field's value. -func (s *UpdateAssociationStatusInput) SetAssociationStatus(v *AssociationStatus) *UpdateAssociationStatusInput { - s.AssociationStatus = v - return s -} - -// SetInstanceId sets the InstanceId field's value. -func (s *UpdateAssociationStatusInput) SetInstanceId(v string) *UpdateAssociationStatusInput { - s.InstanceId = &v - return s -} - -// SetName sets the Name field's value. -func (s *UpdateAssociationStatusInput) SetName(v string) *UpdateAssociationStatusInput { - s.Name = &v - return s -} - -type UpdateAssociationStatusOutput struct { - _ struct{} `type:"structure"` - - // Information about the association. - AssociationDescription *AssociationDescription `type:"structure"` -} - -// String returns the string representation -func (s UpdateAssociationStatusOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s UpdateAssociationStatusOutput) GoString() string { - return s.String() -} - -// SetAssociationDescription sets the AssociationDescription field's value. -func (s *UpdateAssociationStatusOutput) SetAssociationDescription(v *AssociationDescription) *UpdateAssociationStatusOutput { - s.AssociationDescription = v - 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"` - - // A list of key and value pairs that describe attachments to a version of a - // document. - Attachments []*AttachmentsSource `type:"list"` - - // A valid JSON or YAML string. - // - // Content is a required field - Content *string `min:"1" type:"string" required:"true"` - - // Specify the document format for the new document version. Systems Manager - // supports JSON and YAML documents. JSON is the default format. - DocumentFormat *string `type:"string" enum:"DocumentFormat"` - - // 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"` - - // Specify a new target type for the document. - TargetType *string `type:"string"` - - // An optional field specifying the version of the artifact you are updating - // with the document. For example, "Release 12, Update 6". This value is unique - // across all versions of a document, and cannot be changed. - VersionName *string `type:"string"` -} - -// 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 s.Attachments != nil { - for i, v := range s.Attachments { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAttachments sets the Attachments field's value. -func (s *UpdateDocumentInput) SetAttachments(v []*AttachmentsSource) *UpdateDocumentInput { - s.Attachments = v - return s -} - -// SetContent sets the Content field's value. -func (s *UpdateDocumentInput) SetContent(v string) *UpdateDocumentInput { - s.Content = &v - return s -} - -// SetDocumentFormat sets the DocumentFormat field's value. -func (s *UpdateDocumentInput) SetDocumentFormat(v string) *UpdateDocumentInput { - s.DocumentFormat = &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 -} - -// SetTargetType sets the TargetType field's value. -func (s *UpdateDocumentInput) SetTargetType(v string) *UpdateDocumentInput { - s.TargetType = &v - return s -} - -// SetVersionName sets the VersionName field's value. -func (s *UpdateDocumentInput) SetVersionName(v string) *UpdateDocumentInput { - s.VersionName = &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"` - - // An optional description for the update request. - Description *string `min:"1" type:"string" sensitive:"true"` - - // 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 date and time, in ISO-8601 Extended format, for when you want the Maintenance - // Window to become inactive. EndDate allows you to set a date and time in the - // future when the Maintenance Window will no longer run. - EndDate *string `type:"string"` - - // The name of the Maintenance Window. - Name *string `min:"3" type:"string"` - - // If True, then all fields that are required by the CreateMaintenanceWindow - // action are also required for this API request. Optional fields that are not - // specified are set to null. - Replace *bool `type:"boolean"` - - // The schedule of the Maintenance Window in the form of a cron or rate expression. - Schedule *string `min:"1" type:"string"` - - // The time zone that the scheduled Maintenance Window executions are based - // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", - // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database - // (https://www.iana.org/time-zones) on the IANA website. - ScheduleTimezone *string `type:"string"` - - // The time zone that the scheduled Maintenance Window executions are based - // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", - // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database - // (https://www.iana.org/time-zones) on the IANA website. - StartDate *string `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.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - 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 -} - -// SetDescription sets the Description field's value. -func (s *UpdateMaintenanceWindowInput) SetDescription(v string) *UpdateMaintenanceWindowInput { - s.Description = &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 -} - -// SetEndDate sets the EndDate field's value. -func (s *UpdateMaintenanceWindowInput) SetEndDate(v string) *UpdateMaintenanceWindowInput { - s.EndDate = &v - return s -} - -// SetName sets the Name field's value. -func (s *UpdateMaintenanceWindowInput) SetName(v string) *UpdateMaintenanceWindowInput { - s.Name = &v - return s -} - -// SetReplace sets the Replace field's value. -func (s *UpdateMaintenanceWindowInput) SetReplace(v bool) *UpdateMaintenanceWindowInput { - s.Replace = &v - return s -} - -// SetSchedule sets the Schedule field's value. -func (s *UpdateMaintenanceWindowInput) SetSchedule(v string) *UpdateMaintenanceWindowInput { - s.Schedule = &v - return s -} - -// SetScheduleTimezone sets the ScheduleTimezone field's value. -func (s *UpdateMaintenanceWindowInput) SetScheduleTimezone(v string) *UpdateMaintenanceWindowInput { - s.ScheduleTimezone = &v - return s -} - -// SetStartDate sets the StartDate field's value. -func (s *UpdateMaintenanceWindowInput) SetStartDate(v string) *UpdateMaintenanceWindowInput { - s.StartDate = &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"` - - // An optional description of the update. - Description *string `min:"1" type:"string" sensitive:"true"` - - // 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 date and time, in ISO-8601 Extended format, for when the Maintenance - // Window is scheduled to become inactive. The Maintenance Window will not run - // after this specified time. - EndDate *string `type:"string"` - - // 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 time zone that the scheduled Maintenance Window executions are based - // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", - // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database - // (https://www.iana.org/time-zones) on the IANA website. - ScheduleTimezone *string `type:"string"` - - // The date and time, in ISO-8601 Extended format, for when the Maintenance - // Window is scheduled to become active. The Maintenance Window will not run - // before this specified time. - StartDate *string `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 -} - -// SetDescription sets the Description field's value. -func (s *UpdateMaintenanceWindowOutput) SetDescription(v string) *UpdateMaintenanceWindowOutput { - s.Description = &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 -} - -// SetEndDate sets the EndDate field's value. -func (s *UpdateMaintenanceWindowOutput) SetEndDate(v string) *UpdateMaintenanceWindowOutput { - s.EndDate = &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 -} - -// SetScheduleTimezone sets the ScheduleTimezone field's value. -func (s *UpdateMaintenanceWindowOutput) SetScheduleTimezone(v string) *UpdateMaintenanceWindowOutput { - s.ScheduleTimezone = &v - return s -} - -// SetStartDate sets the StartDate field's value. -func (s *UpdateMaintenanceWindowOutput) SetStartDate(v string) *UpdateMaintenanceWindowOutput { - s.StartDate = &v - return s -} - -// SetWindowId sets the WindowId field's value. -func (s *UpdateMaintenanceWindowOutput) SetWindowId(v string) *UpdateMaintenanceWindowOutput { - s.WindowId = &v - return s -} - -type UpdateMaintenanceWindowTargetInput struct { - _ struct{} `type:"structure"` - - // An optional description for the update. - Description *string `min:"1" type:"string" sensitive:"true"` - - // A name for the update. - Name *string `min:"3" type:"string"` - - // 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" sensitive:"true"` - - // If True, then all fields that are required by the RegisterTargetWithMaintenanceWindow - // action are also required for this API request. Optional fields that are not - // specified are set to null. - Replace *bool `type:"boolean"` - - // The targets to add or replace. - Targets []*Target `type:"list"` - - // The Maintenance Window ID with which to modify the target. - // - // WindowId is a required field - WindowId *string `min:"20" type:"string" required:"true"` - - // The target ID to modify. - // - // WindowTargetId is a required field - WindowTargetId *string `min:"36" type:"string" required:"true"` -} - -// String returns the string representation -func (s UpdateMaintenanceWindowTargetInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s UpdateMaintenanceWindowTargetInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateMaintenanceWindowTargetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowTargetInput"} - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.Name != nil && len(*s.Name) < 3 { - invalidParams.Add(request.NewErrParamMinLen("Name", 3)) - } - if s.OwnerInformation != nil && len(*s.OwnerInformation) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OwnerInformation", 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 s.WindowTargetId == nil { - invalidParams.Add(request.NewErrParamRequired("WindowTargetId")) - } - if s.WindowTargetId != nil && len(*s.WindowTargetId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("WindowTargetId", 36)) - } - 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 -} - -// SetDescription sets the Description field's value. -func (s *UpdateMaintenanceWindowTargetInput) SetDescription(v string) *UpdateMaintenanceWindowTargetInput { - s.Description = &v - return s -} - -// SetName sets the Name field's value. -func (s *UpdateMaintenanceWindowTargetInput) SetName(v string) *UpdateMaintenanceWindowTargetInput { - s.Name = &v - return s -} - -// SetOwnerInformation sets the OwnerInformation field's value. -func (s *UpdateMaintenanceWindowTargetInput) SetOwnerInformation(v string) *UpdateMaintenanceWindowTargetInput { - s.OwnerInformation = &v - return s -} - -// SetReplace sets the Replace field's value. -func (s *UpdateMaintenanceWindowTargetInput) SetReplace(v bool) *UpdateMaintenanceWindowTargetInput { - s.Replace = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *UpdateMaintenanceWindowTargetInput) SetTargets(v []*Target) *UpdateMaintenanceWindowTargetInput { - s.Targets = v - return s -} - -// SetWindowId sets the WindowId field's value. -func (s *UpdateMaintenanceWindowTargetInput) SetWindowId(v string) *UpdateMaintenanceWindowTargetInput { - s.WindowId = &v - return s -} - -// SetWindowTargetId sets the WindowTargetId field's value. -func (s *UpdateMaintenanceWindowTargetInput) SetWindowTargetId(v string) *UpdateMaintenanceWindowTargetInput { - s.WindowTargetId = &v - return s -} - -type UpdateMaintenanceWindowTargetOutput struct { - _ struct{} `type:"structure"` - - // The updated description. - Description *string `min:"1" type:"string" sensitive:"true"` - - // The updated name. - Name *string `min:"3" type:"string"` - - // The updated owner. - OwnerInformation *string `min:"1" type:"string" sensitive:"true"` - - // The updated targets. - Targets []*Target `type:"list"` - - // The Maintenance Window ID specified in the update request. - WindowId *string `min:"20" type:"string"` - - // The target ID specified in the update request. - WindowTargetId *string `min:"36" type:"string"` -} - -// String returns the string representation -func (s UpdateMaintenanceWindowTargetOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s UpdateMaintenanceWindowTargetOutput) GoString() string { - return s.String() -} - -// SetDescription sets the Description field's value. -func (s *UpdateMaintenanceWindowTargetOutput) SetDescription(v string) *UpdateMaintenanceWindowTargetOutput { - s.Description = &v - return s -} - -// SetName sets the Name field's value. -func (s *UpdateMaintenanceWindowTargetOutput) SetName(v string) *UpdateMaintenanceWindowTargetOutput { - s.Name = &v - return s -} - -// SetOwnerInformation sets the OwnerInformation field's value. -func (s *UpdateMaintenanceWindowTargetOutput) SetOwnerInformation(v string) *UpdateMaintenanceWindowTargetOutput { - s.OwnerInformation = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *UpdateMaintenanceWindowTargetOutput) SetTargets(v []*Target) *UpdateMaintenanceWindowTargetOutput { - s.Targets = v - return s -} - -// SetWindowId sets the WindowId field's value. -func (s *UpdateMaintenanceWindowTargetOutput) SetWindowId(v string) *UpdateMaintenanceWindowTargetOutput { - s.WindowId = &v - return s -} - -// SetWindowTargetId sets the WindowTargetId field's value. -func (s *UpdateMaintenanceWindowTargetOutput) SetWindowTargetId(v string) *UpdateMaintenanceWindowTargetOutput { - s.WindowTargetId = &v - return s -} - -type UpdateMaintenanceWindowTaskInput struct { - _ struct{} `type:"structure"` - - // The new task description to specify. - Description *string `min:"1" type:"string" sensitive:"true"` - - // The new logging location in Amazon S3 to specify. - // - // LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, - // instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - LoggingInfo *LoggingInfo `type:"structure"` - - // The new MaxConcurrency value you want to specify. MaxConcurrency is the number - // of targets that are allowed to run this task in parallel. - MaxConcurrency *string `min:"1" type:"string"` - - // The new MaxErrors value to specify. MaxErrors is the maximum number of errors - // that are allowed before the task stops being scheduled. - MaxErrors *string `min:"1" type:"string"` - - // The new task name to specify. - Name *string `min:"3" type:"string"` - - // The new task priority to specify. The lower the number, the higher the priority. - // Tasks that have the same priority are scheduled in parallel. - Priority *int64 `type:"integer"` - - // If True, then all fields that are required by the RegisterTaskWithMaintenanceWndow - // action are also required for this API request. Optional fields that are not - // specified are set to null. - Replace *bool `type:"boolean"` - - // The IAM service role ARN to modify. The system assumes this role during task - // execution. - // - // If you do not specify a service role ARN, Systems Manager will use your account's - // service-linked role for Systems Manager by default. If no service-linked - // role for Systems Manager exists in your account, it will be created when - // you run RegisterTaskWithMaintenanceWindow without specifying a service role - // ARN. - // - // For more information, see Service-Linked Role Permissions for Systems Manager - // (http://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions) - // and Should I Use a Service-Linked Role or a Custom Service Role to Run Maintenance - // Window Tasks? (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role) - // in the AWS Systems Manager User Guide. - ServiceRoleArn *string `type:"string"` - - // The targets (either instances or tags) to modify. Instances are specified - // using Key=instanceids,Values=instanceID_1,instanceID_2. Tags are specified - // using Key=tag_name,Values=tag_value. - Targets []*Target `type:"list"` - - // The task ARN to modify. - TaskArn *string `min:"1" type:"string"` - - // The parameters that the task should use during execution. Populate only the - // fields that match the task type. All other fields should be empty. - TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"` - - // The parameters to modify. - // - // TaskParameters has been deprecated. To specify parameters to pass to a task - // when it runs, instead use the Parameters option in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - // - // The map has the following format: - // - // Key: string, between 1 and 255 characters - // - // Value: an array of strings, each string is between 1 and 255 characters - TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"` - - // The Maintenance Window ID that contains the task to modify. - // - // WindowId is a required field - WindowId *string `min:"20" type:"string" required:"true"` - - // The task ID to modify. - // - // WindowTaskId is a required field - WindowTaskId *string `min:"36" type:"string" required:"true"` -} - -// String returns the string representation -func (s UpdateMaintenanceWindowTaskInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s UpdateMaintenanceWindowTaskInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateMaintenanceWindowTaskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowTaskInput"} - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) - } - if s.MaxErrors != nil && len(*s.MaxErrors) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1)) - } - if s.Name != nil && len(*s.Name) < 3 { - invalidParams.Add(request.NewErrParamMinLen("Name", 3)) - } - if s.TaskArn != nil && len(*s.TaskArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TaskArn", 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 s.WindowTaskId == nil { - invalidParams.Add(request.NewErrParamRequired("WindowTaskId")) - } - if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 { - invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36)) - } - 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 s.TaskInvocationParameters != nil { - if err := s.TaskInvocationParameters.Validate(); err != nil { - invalidParams.AddNested("TaskInvocationParameters", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDescription sets the Description field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetDescription(v string) *UpdateMaintenanceWindowTaskInput { - s.Description = &v - return s -} - -// SetLoggingInfo sets the LoggingInfo field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetLoggingInfo(v *LoggingInfo) *UpdateMaintenanceWindowTaskInput { - s.LoggingInfo = v - return s -} - -// SetMaxConcurrency sets the MaxConcurrency field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetMaxConcurrency(v string) *UpdateMaintenanceWindowTaskInput { - s.MaxConcurrency = &v - return s -} - -// SetMaxErrors sets the MaxErrors field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetMaxErrors(v string) *UpdateMaintenanceWindowTaskInput { - s.MaxErrors = &v - return s -} - -// SetName sets the Name field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetName(v string) *UpdateMaintenanceWindowTaskInput { - s.Name = &v - return s -} - -// SetPriority sets the Priority field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetPriority(v int64) *UpdateMaintenanceWindowTaskInput { - s.Priority = &v - return s -} - -// SetReplace sets the Replace field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetReplace(v bool) *UpdateMaintenanceWindowTaskInput { - s.Replace = &v - return s -} - -// SetServiceRoleArn sets the ServiceRoleArn field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetServiceRoleArn(v string) *UpdateMaintenanceWindowTaskInput { - s.ServiceRoleArn = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetTargets(v []*Target) *UpdateMaintenanceWindowTaskInput { - s.Targets = v - return s -} - -// SetTaskArn sets the TaskArn field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetTaskArn(v string) *UpdateMaintenanceWindowTaskInput { - s.TaskArn = &v - return s -} - -// SetTaskInvocationParameters sets the TaskInvocationParameters field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *UpdateMaintenanceWindowTaskInput { - s.TaskInvocationParameters = v - return s -} - -// SetTaskParameters sets the TaskParameters field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *UpdateMaintenanceWindowTaskInput { - s.TaskParameters = v - return s -} - -// SetWindowId sets the WindowId field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetWindowId(v string) *UpdateMaintenanceWindowTaskInput { - s.WindowId = &v - return s -} - -// SetWindowTaskId sets the WindowTaskId field's value. -func (s *UpdateMaintenanceWindowTaskInput) SetWindowTaskId(v string) *UpdateMaintenanceWindowTaskInput { - s.WindowTaskId = &v - return s -} - -type UpdateMaintenanceWindowTaskOutput struct { - _ struct{} `type:"structure"` - - // The updated task description. - Description *string `min:"1" type:"string" sensitive:"true"` - - // The updated logging information in Amazon S3. - // - // LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, - // instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - LoggingInfo *LoggingInfo `type:"structure"` - - // The updated MaxConcurrency value. - MaxConcurrency *string `min:"1" type:"string"` - - // The updated MaxErrors value. - MaxErrors *string `min:"1" type:"string"` - - // The updated task name. - Name *string `min:"3" type:"string"` - - // The updated priority value. - Priority *int64 `type:"integer"` - - // The updated service role ARN value. - ServiceRoleArn *string `type:"string"` - - // The updated target values. - Targets []*Target `type:"list"` - - // The updated task ARN value. - TaskArn *string `min:"1" type:"string"` - - // The updated parameter values. - TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"` - - // The updated parameter values. - // - // TaskParameters has been deprecated. To specify parameters to pass to a task - // when it runs, instead use the Parameters option in the TaskInvocationParameters - // structure. For information about how Systems Manager handles these options - // for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters. - TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"` - - // The ID of the Maintenance Window that was updated. - WindowId *string `min:"20" type:"string"` - - // The task ID of the Maintenance Window that was updated. - WindowTaskId *string `min:"36" type:"string"` -} - -// String returns the string representation -func (s UpdateMaintenanceWindowTaskOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s UpdateMaintenanceWindowTaskOutput) GoString() string { - return s.String() -} - -// SetDescription sets the Description field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetDescription(v string) *UpdateMaintenanceWindowTaskOutput { - s.Description = &v - return s -} - -// SetLoggingInfo sets the LoggingInfo field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetLoggingInfo(v *LoggingInfo) *UpdateMaintenanceWindowTaskOutput { - s.LoggingInfo = v - return s -} - -// SetMaxConcurrency sets the MaxConcurrency field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetMaxConcurrency(v string) *UpdateMaintenanceWindowTaskOutput { - s.MaxConcurrency = &v - return s -} - -// SetMaxErrors sets the MaxErrors field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetMaxErrors(v string) *UpdateMaintenanceWindowTaskOutput { - s.MaxErrors = &v - return s -} - -// SetName sets the Name field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetName(v string) *UpdateMaintenanceWindowTaskOutput { - s.Name = &v - return s -} - -// SetPriority sets the Priority field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetPriority(v int64) *UpdateMaintenanceWindowTaskOutput { - s.Priority = &v - return s -} - -// SetServiceRoleArn sets the ServiceRoleArn field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetServiceRoleArn(v string) *UpdateMaintenanceWindowTaskOutput { - s.ServiceRoleArn = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetTargets(v []*Target) *UpdateMaintenanceWindowTaskOutput { - s.Targets = v - return s -} - -// SetTaskArn sets the TaskArn field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetTaskArn(v string) *UpdateMaintenanceWindowTaskOutput { - s.TaskArn = &v - return s -} - -// SetTaskInvocationParameters sets the TaskInvocationParameters field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *UpdateMaintenanceWindowTaskOutput { - s.TaskInvocationParameters = v - return s -} - -// SetTaskParameters sets the TaskParameters field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *UpdateMaintenanceWindowTaskOutput { - s.TaskParameters = v - return s -} - -// SetWindowId sets the WindowId field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetWindowId(v string) *UpdateMaintenanceWindowTaskOutput { - s.WindowId = &v - return s -} - -// SetWindowTaskId sets the WindowTaskId field's value. -func (s *UpdateMaintenanceWindowTaskOutput) SetWindowTaskId(v string) *UpdateMaintenanceWindowTaskOutput { - s.WindowTaskId = &v - return s -} - -type UpdateManagedInstanceRoleInput struct { - _ struct{} `type:"structure"` - - // The IAM role you want to assign or change. - // - // IamRole is a required field - IamRole *string `type:"string" required:"true"` - - // The ID of the managed instance where you want to update the role. - // - // InstanceId is a required field - InstanceId *string `type:"string" required:"true"` -} - -// String returns the string representation -func (s UpdateManagedInstanceRoleInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s UpdateManagedInstanceRoleInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateManagedInstanceRoleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateManagedInstanceRoleInput"} - if s.IamRole == nil { - invalidParams.Add(request.NewErrParamRequired("IamRole")) - } - if s.InstanceId == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceId")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetIamRole sets the IamRole field's value. -func (s *UpdateManagedInstanceRoleInput) SetIamRole(v string) *UpdateManagedInstanceRoleInput { - s.IamRole = &v - return s -} - -// SetInstanceId sets the InstanceId field's value. -func (s *UpdateManagedInstanceRoleInput) SetInstanceId(v string) *UpdateManagedInstanceRoleInput { - s.InstanceId = &v - return s -} - -type UpdateManagedInstanceRoleOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s UpdateManagedInstanceRoleOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s UpdateManagedInstanceRoleOutput) GoString() string { - return s.String() -} - -type UpdatePatchBaselineInput struct { - _ struct{} `type:"structure"` - - // A set of rules used to include patches in the baseline. - ApprovalRules *PatchRuleGroup `type:"structure"` - - // A list of explicitly approved patches for the baseline. - // - // For information about accepted formats for lists of approved patches and - // rejected patches, see Package Name Formats for Approved and Rejected Patch - // Lists (http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) - // in the AWS Systems Manager User Guide. - ApprovedPatches []*string `type:"list"` - - // Assigns a new compliance severity level to an existing patch baseline. - ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"` - - // Indicates whether the list of approved patches includes non-security updates - // that should be applied to the instances. The default value is 'false'. Applies - // to Linux instances only. - ApprovedPatchesEnableNonSecurity *bool `type:"boolean"` - - // The ID of the patch baseline to update. - // - // BaselineId is a required field - BaselineId *string `min:"20" type:"string" required:"true"` - - // A description of the patch baseline. - Description *string `min:"1" type:"string"` - - // A set of global filters used to exclude patches from the baseline. - GlobalFilters *PatchFilterGroup `type:"structure"` - - // The name of the patch baseline. - Name *string `min:"3" type:"string"` - - // A list of explicitly rejected patches for the baseline. - // - // For information about accepted formats for lists of approved patches and - // rejected patches, see Package Name Formats for Approved and Rejected Patch - // Lists (http://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) - // in the AWS Systems Manager User Guide. - RejectedPatches []*string `type:"list"` - - // The action for Patch Manager to take on patches included in the RejectedPackages - // list. - // - // * ALLOW_AS_DEPENDENCY: A package in the Rejected patches list is installed - // only if it is a dependency of another package. It is considered compliant - // with the patch baseline, and its status is reported as InstalledOther. - // This is the default action if no option is specified. - // - // * BLOCK: Packages in the RejectedPatches list, and packages that include - // them as dependencies, are not installed under any circumstances. If a - // package was installed before it was added to the Rejected patches list, - // it is considered non-compliant with the patch baseline, and its status - // is reported as InstalledRejected. - RejectedPatchesAction *string `type:"string" enum:"PatchAction"` - - // If True, then all fields that are required by the CreatePatchBaseline action - // are also required for this API request. Optional fields that are not specified - // are set to null. - Replace *bool `type:"boolean"` - - // Information about the patches to use to update the instances, including target - // operating systems and source repositories. Applies to Linux instances only. - Sources []*PatchSource `type:"list"` -} - -// String returns the string representation -func (s UpdatePatchBaselineInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s UpdatePatchBaselineInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdatePatchBaselineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdatePatchBaselineInput"} - if s.BaselineId == nil { - invalidParams.Add(request.NewErrParamRequired("BaselineId")) - } - if s.BaselineId != nil && len(*s.BaselineId) < 20 { - invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.Name != nil && len(*s.Name) < 3 { - invalidParams.Add(request.NewErrParamMinLen("Name", 3)) - } - if s.ApprovalRules != nil { - if err := s.ApprovalRules.Validate(); err != nil { - invalidParams.AddNested("ApprovalRules", err.(request.ErrInvalidParams)) - } - } - if s.GlobalFilters != nil { - if err := s.GlobalFilters.Validate(); err != nil { - invalidParams.AddNested("GlobalFilters", err.(request.ErrInvalidParams)) - } - } - if s.Sources != nil { - for i, v := range s.Sources { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetApprovalRules sets the ApprovalRules field's value. -func (s *UpdatePatchBaselineInput) SetApprovalRules(v *PatchRuleGroup) *UpdatePatchBaselineInput { - s.ApprovalRules = v - return s -} - -// SetApprovedPatches sets the ApprovedPatches field's value. -func (s *UpdatePatchBaselineInput) SetApprovedPatches(v []*string) *UpdatePatchBaselineInput { - s.ApprovedPatches = v - return s -} - -// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value. -func (s *UpdatePatchBaselineInput) SetApprovedPatchesComplianceLevel(v string) *UpdatePatchBaselineInput { - s.ApprovedPatchesComplianceLevel = &v - return s -} - -// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value. -func (s *UpdatePatchBaselineInput) SetApprovedPatchesEnableNonSecurity(v bool) *UpdatePatchBaselineInput { - s.ApprovedPatchesEnableNonSecurity = &v - return s -} - -// SetBaselineId sets the BaselineId field's value. -func (s *UpdatePatchBaselineInput) SetBaselineId(v string) *UpdatePatchBaselineInput { - s.BaselineId = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *UpdatePatchBaselineInput) SetDescription(v string) *UpdatePatchBaselineInput { - s.Description = &v - return s -} - -// SetGlobalFilters sets the GlobalFilters field's value. -func (s *UpdatePatchBaselineInput) SetGlobalFilters(v *PatchFilterGroup) *UpdatePatchBaselineInput { - s.GlobalFilters = v - return s -} - -// SetName sets the Name field's value. -func (s *UpdatePatchBaselineInput) SetName(v string) *UpdatePatchBaselineInput { - s.Name = &v - return s -} - -// SetRejectedPatches sets the RejectedPatches field's value. -func (s *UpdatePatchBaselineInput) SetRejectedPatches(v []*string) *UpdatePatchBaselineInput { - s.RejectedPatches = v - return s -} - -// SetRejectedPatchesAction sets the RejectedPatchesAction field's value. -func (s *UpdatePatchBaselineInput) SetRejectedPatchesAction(v string) *UpdatePatchBaselineInput { - s.RejectedPatchesAction = &v - return s -} - -// SetReplace sets the Replace field's value. -func (s *UpdatePatchBaselineInput) SetReplace(v bool) *UpdatePatchBaselineInput { - s.Replace = &v - return s -} - -// SetSources sets the Sources field's value. -func (s *UpdatePatchBaselineInput) SetSources(v []*PatchSource) *UpdatePatchBaselineInput { - s.Sources = v - return s -} - -type UpdatePatchBaselineOutput struct { - _ struct{} `type:"structure"` - - // A set of rules used to include patches in the baseline. - ApprovalRules *PatchRuleGroup `type:"structure"` - - // A list of explicitly approved patches for the baseline. - ApprovedPatches []*string `type:"list"` - - // The compliance severity level assigned to the patch baseline after the update - // completed. - ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"` - - // Indicates whether the list of approved patches includes non-security updates - // that should be applied to the instances. The default value is 'false'. Applies - // to Linux instances only. - ApprovedPatchesEnableNonSecurity *bool `type:"boolean"` - - // The ID of the deleted patch baseline. - BaselineId *string `min:"20" type:"string"` - - // The date when the patch baseline was created. - CreatedDate *time.Time `type:"timestamp"` - - // A description of the Patch Baseline. - Description *string `min:"1" type:"string"` - - // A set of global filters used to exclude patches from the baseline. - GlobalFilters *PatchFilterGroup `type:"structure"` - - // The date when the patch baseline was last modified. - ModifiedDate *time.Time `type:"timestamp"` - - // The name of the patch baseline. - Name *string `min:"3" type:"string"` - - // The operating system rule used by the updated patch baseline. - OperatingSystem *string `type:"string" enum:"OperatingSystem"` - - // A list of explicitly rejected patches for the baseline. - RejectedPatches []*string `type:"list"` - - // The action specified to take on patches included in the RejectedPatches list. - // A patch can be allowed only if it is a dependency of another package, or - // blocked entirely along with packages that include it as a dependency. - RejectedPatchesAction *string `type:"string" enum:"PatchAction"` - - // Information about the patches to use to update the instances, including target - // operating systems and source repositories. Applies to Linux instances only. - Sources []*PatchSource `type:"list"` -} - -// String returns the string representation -func (s UpdatePatchBaselineOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s UpdatePatchBaselineOutput) GoString() string { - return s.String() -} - -// SetApprovalRules sets the ApprovalRules field's value. -func (s *UpdatePatchBaselineOutput) SetApprovalRules(v *PatchRuleGroup) *UpdatePatchBaselineOutput { - s.ApprovalRules = v - return s -} - -// SetApprovedPatches sets the ApprovedPatches field's value. -func (s *UpdatePatchBaselineOutput) SetApprovedPatches(v []*string) *UpdatePatchBaselineOutput { - s.ApprovedPatches = v - return s -} - -// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value. -func (s *UpdatePatchBaselineOutput) SetApprovedPatchesComplianceLevel(v string) *UpdatePatchBaselineOutput { - s.ApprovedPatchesComplianceLevel = &v - return s -} - -// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value. -func (s *UpdatePatchBaselineOutput) SetApprovedPatchesEnableNonSecurity(v bool) *UpdatePatchBaselineOutput { - s.ApprovedPatchesEnableNonSecurity = &v - return s -} - -// SetBaselineId sets the BaselineId field's value. -func (s *UpdatePatchBaselineOutput) SetBaselineId(v string) *UpdatePatchBaselineOutput { - s.BaselineId = &v - return s -} - -// SetCreatedDate sets the CreatedDate field's value. -func (s *UpdatePatchBaselineOutput) SetCreatedDate(v time.Time) *UpdatePatchBaselineOutput { - s.CreatedDate = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *UpdatePatchBaselineOutput) SetDescription(v string) *UpdatePatchBaselineOutput { - s.Description = &v - return s -} - -// SetGlobalFilters sets the GlobalFilters field's value. -func (s *UpdatePatchBaselineOutput) SetGlobalFilters(v *PatchFilterGroup) *UpdatePatchBaselineOutput { - s.GlobalFilters = v - return s -} - -// SetModifiedDate sets the ModifiedDate field's value. -func (s *UpdatePatchBaselineOutput) SetModifiedDate(v time.Time) *UpdatePatchBaselineOutput { - s.ModifiedDate = &v - return s -} - -// SetName sets the Name field's value. -func (s *UpdatePatchBaselineOutput) SetName(v string) *UpdatePatchBaselineOutput { - s.Name = &v - return s -} - -// SetOperatingSystem sets the OperatingSystem field's value. -func (s *UpdatePatchBaselineOutput) SetOperatingSystem(v string) *UpdatePatchBaselineOutput { - s.OperatingSystem = &v - return s -} - -// SetRejectedPatches sets the RejectedPatches field's value. -func (s *UpdatePatchBaselineOutput) SetRejectedPatches(v []*string) *UpdatePatchBaselineOutput { - s.RejectedPatches = v - return s -} - -// SetRejectedPatchesAction sets the RejectedPatchesAction field's value. -func (s *UpdatePatchBaselineOutput) SetRejectedPatchesAction(v string) *UpdatePatchBaselineOutput { - s.RejectedPatchesAction = &v - return s -} - -// SetSources sets the Sources field's value. -func (s *UpdatePatchBaselineOutput) SetSources(v []*PatchSource) *UpdatePatchBaselineOutput { - s.Sources = v - return s -} - -const ( - // AssociationComplianceSeverityCritical is a AssociationComplianceSeverity enum value - AssociationComplianceSeverityCritical = "CRITICAL" - - // AssociationComplianceSeverityHigh is a AssociationComplianceSeverity enum value - AssociationComplianceSeverityHigh = "HIGH" - - // AssociationComplianceSeverityMedium is a AssociationComplianceSeverity enum value - AssociationComplianceSeverityMedium = "MEDIUM" - - // AssociationComplianceSeverityLow is a AssociationComplianceSeverity enum value - AssociationComplianceSeverityLow = "LOW" - - // AssociationComplianceSeverityUnspecified is a AssociationComplianceSeverity enum value - AssociationComplianceSeverityUnspecified = "UNSPECIFIED" -) - -const ( - // AssociationExecutionFilterKeyExecutionId is a AssociationExecutionFilterKey enum value - AssociationExecutionFilterKeyExecutionId = "ExecutionId" - - // AssociationExecutionFilterKeyStatus is a AssociationExecutionFilterKey enum value - AssociationExecutionFilterKeyStatus = "Status" - - // AssociationExecutionFilterKeyCreatedTime is a AssociationExecutionFilterKey enum value - AssociationExecutionFilterKeyCreatedTime = "CreatedTime" -) - -const ( - // AssociationExecutionTargetsFilterKeyStatus is a AssociationExecutionTargetsFilterKey enum value - AssociationExecutionTargetsFilterKeyStatus = "Status" - - // AssociationExecutionTargetsFilterKeyResourceId is a AssociationExecutionTargetsFilterKey enum value - AssociationExecutionTargetsFilterKeyResourceId = "ResourceId" - - // AssociationExecutionTargetsFilterKeyResourceType is a AssociationExecutionTargetsFilterKey enum value - AssociationExecutionTargetsFilterKeyResourceType = "ResourceType" -) - -const ( - // AssociationFilterKeyInstanceId is a AssociationFilterKey enum value - AssociationFilterKeyInstanceId = "InstanceId" - - // 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" - - // AssociationFilterKeyAssociationName is a AssociationFilterKey enum value - AssociationFilterKeyAssociationName = "AssociationName" -) - -const ( - // AssociationFilterOperatorTypeEqual is a AssociationFilterOperatorType enum value - AssociationFilterOperatorTypeEqual = "EQUAL" - - // AssociationFilterOperatorTypeLessThan is a AssociationFilterOperatorType enum value - AssociationFilterOperatorTypeLessThan = "LESS_THAN" - - // AssociationFilterOperatorTypeGreaterThan is a AssociationFilterOperatorType enum value - AssociationFilterOperatorTypeGreaterThan = "GREATER_THAN" -) - -const ( - // AssociationStatusNamePending is a AssociationStatusName enum value - AssociationStatusNamePending = "Pending" - - // AssociationStatusNameSuccess is a AssociationStatusName enum value - AssociationStatusNameSuccess = "Success" - - // AssociationStatusNameFailed is a AssociationStatusName enum value - AssociationStatusNameFailed = "Failed" -) - -const ( - // AttachmentHashTypeSha256 is a AttachmentHashType enum value - AttachmentHashTypeSha256 = "Sha256" -) - -const ( - // AttachmentsSourceKeySourceUrl is a AttachmentsSourceKey enum value - AttachmentsSourceKeySourceUrl = "SourceUrl" -) - -const ( - // AutomationExecutionFilterKeyDocumentNamePrefix is a AutomationExecutionFilterKey enum value - AutomationExecutionFilterKeyDocumentNamePrefix = "DocumentNamePrefix" - - // AutomationExecutionFilterKeyExecutionStatus is a AutomationExecutionFilterKey enum value - AutomationExecutionFilterKeyExecutionStatus = "ExecutionStatus" - - // AutomationExecutionFilterKeyExecutionId is a AutomationExecutionFilterKey enum value - AutomationExecutionFilterKeyExecutionId = "ExecutionId" - - // AutomationExecutionFilterKeyParentExecutionId is a AutomationExecutionFilterKey enum value - AutomationExecutionFilterKeyParentExecutionId = "ParentExecutionId" - - // AutomationExecutionFilterKeyCurrentAction is a AutomationExecutionFilterKey enum value - AutomationExecutionFilterKeyCurrentAction = "CurrentAction" - - // AutomationExecutionFilterKeyStartTimeBefore is a AutomationExecutionFilterKey enum value - AutomationExecutionFilterKeyStartTimeBefore = "StartTimeBefore" - - // AutomationExecutionFilterKeyStartTimeAfter is a AutomationExecutionFilterKey enum value - AutomationExecutionFilterKeyStartTimeAfter = "StartTimeAfter" - - // AutomationExecutionFilterKeyAutomationType is a AutomationExecutionFilterKey enum value - AutomationExecutionFilterKeyAutomationType = "AutomationType" -) - -const ( - // AutomationExecutionStatusPending is a AutomationExecutionStatus enum value - AutomationExecutionStatusPending = "Pending" - - // AutomationExecutionStatusInProgress is a AutomationExecutionStatus enum value - AutomationExecutionStatusInProgress = "InProgress" - - // AutomationExecutionStatusWaiting is a AutomationExecutionStatus enum value - AutomationExecutionStatusWaiting = "Waiting" - - // AutomationExecutionStatusSuccess is a AutomationExecutionStatus enum value - AutomationExecutionStatusSuccess = "Success" - - // AutomationExecutionStatusTimedOut is a AutomationExecutionStatus enum value - AutomationExecutionStatusTimedOut = "TimedOut" - - // AutomationExecutionStatusCancelling is a AutomationExecutionStatus enum value - AutomationExecutionStatusCancelling = "Cancelling" - - // AutomationExecutionStatusCancelled is a AutomationExecutionStatus enum value - AutomationExecutionStatusCancelled = "Cancelled" - - // AutomationExecutionStatusFailed is a AutomationExecutionStatus enum value - AutomationExecutionStatusFailed = "Failed" -) - -const ( - // AutomationTypeCrossAccount is a AutomationType enum value - AutomationTypeCrossAccount = "CrossAccount" - - // AutomationTypeLocal is a AutomationType enum value - AutomationTypeLocal = "Local" -) - -const ( - // CommandFilterKeyInvokedAfter is a CommandFilterKey enum value - CommandFilterKeyInvokedAfter = "InvokedAfter" - - // CommandFilterKeyInvokedBefore is a CommandFilterKey enum value - CommandFilterKeyInvokedBefore = "InvokedBefore" - - // CommandFilterKeyStatus is a CommandFilterKey enum value - CommandFilterKeyStatus = "Status" - - // CommandFilterKeyExecutionStage is a CommandFilterKey enum value - CommandFilterKeyExecutionStage = "ExecutionStage" - - // CommandFilterKeyDocumentName is a CommandFilterKey enum value - CommandFilterKeyDocumentName = "DocumentName" -) - -const ( - // CommandInvocationStatusPending is a CommandInvocationStatus enum value - CommandInvocationStatusPending = "Pending" - - // CommandInvocationStatusInProgress is a CommandInvocationStatus enum value - CommandInvocationStatusInProgress = "InProgress" - - // CommandInvocationStatusDelayed is a CommandInvocationStatus enum value - CommandInvocationStatusDelayed = "Delayed" - - // CommandInvocationStatusSuccess is a CommandInvocationStatus enum value - CommandInvocationStatusSuccess = "Success" - - // 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 ( - // CommandPluginStatusPending is a CommandPluginStatus enum value - CommandPluginStatusPending = "Pending" - - // CommandPluginStatusInProgress is a CommandPluginStatus enum value - CommandPluginStatusInProgress = "InProgress" - - // CommandPluginStatusSuccess is a CommandPluginStatus enum value - CommandPluginStatusSuccess = "Success" - - // CommandPluginStatusTimedOut is a CommandPluginStatus enum value - CommandPluginStatusTimedOut = "TimedOut" - - // CommandPluginStatusCancelled is a CommandPluginStatus enum value - CommandPluginStatusCancelled = "Cancelled" - - // CommandPluginStatusFailed is a CommandPluginStatus enum value - CommandPluginStatusFailed = "Failed" -) - -const ( - // CommandStatusPending is a CommandStatus enum value - CommandStatusPending = "Pending" - - // CommandStatusInProgress is a CommandStatus enum value - CommandStatusInProgress = "InProgress" - - // CommandStatusSuccess is a CommandStatus enum value - CommandStatusSuccess = "Success" - - // 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 ( - // ComplianceQueryOperatorTypeEqual is a ComplianceQueryOperatorType enum value - ComplianceQueryOperatorTypeEqual = "EQUAL" - - // ComplianceQueryOperatorTypeNotEqual is a ComplianceQueryOperatorType enum value - ComplianceQueryOperatorTypeNotEqual = "NOT_EQUAL" - - // ComplianceQueryOperatorTypeBeginWith is a ComplianceQueryOperatorType enum value - ComplianceQueryOperatorTypeBeginWith = "BEGIN_WITH" - - // ComplianceQueryOperatorTypeLessThan is a ComplianceQueryOperatorType enum value - ComplianceQueryOperatorTypeLessThan = "LESS_THAN" - - // ComplianceQueryOperatorTypeGreaterThan is a ComplianceQueryOperatorType enum value - ComplianceQueryOperatorTypeGreaterThan = "GREATER_THAN" -) - -const ( - // ComplianceSeverityCritical is a ComplianceSeverity enum value - ComplianceSeverityCritical = "CRITICAL" - - // ComplianceSeverityHigh is a ComplianceSeverity enum value - ComplianceSeverityHigh = "HIGH" - - // ComplianceSeverityMedium is a ComplianceSeverity enum value - ComplianceSeverityMedium = "MEDIUM" - - // ComplianceSeverityLow is a ComplianceSeverity enum value - ComplianceSeverityLow = "LOW" - - // ComplianceSeverityInformational is a ComplianceSeverity enum value - ComplianceSeverityInformational = "INFORMATIONAL" - - // ComplianceSeverityUnspecified is a ComplianceSeverity enum value - ComplianceSeverityUnspecified = "UNSPECIFIED" -) - -const ( - // ComplianceStatusCompliant is a ComplianceStatus enum value - ComplianceStatusCompliant = "COMPLIANT" - - // ComplianceStatusNonCompliant is a ComplianceStatus enum value - ComplianceStatusNonCompliant = "NON_COMPLIANT" -) - -const ( - // ConnectionStatusConnected is a ConnectionStatus enum value - ConnectionStatusConnected = "Connected" - - // ConnectionStatusNotConnected is a ConnectionStatus enum value - ConnectionStatusNotConnected = "NotConnected" -) - -const ( - // DescribeActivationsFilterKeysActivationIds is a DescribeActivationsFilterKeys enum value - DescribeActivationsFilterKeysActivationIds = "ActivationIds" - - // DescribeActivationsFilterKeysDefaultInstanceName is a DescribeActivationsFilterKeys enum value - DescribeActivationsFilterKeysDefaultInstanceName = "DefaultInstanceName" - - // DescribeActivationsFilterKeysIamRole is a DescribeActivationsFilterKeys enum value - DescribeActivationsFilterKeysIamRole = "IamRole" -) - -const ( - // DocumentFilterKeyName is a DocumentFilterKey enum value - DocumentFilterKeyName = "Name" - - // DocumentFilterKeyOwner is a DocumentFilterKey enum value - DocumentFilterKeyOwner = "Owner" - - // DocumentFilterKeyPlatformTypes is a DocumentFilterKey enum value - DocumentFilterKeyPlatformTypes = "PlatformTypes" - - // DocumentFilterKeyDocumentType is a DocumentFilterKey enum value - DocumentFilterKeyDocumentType = "DocumentType" -) - -const ( - // DocumentFormatYaml is a DocumentFormat enum value - DocumentFormatYaml = "YAML" - - // DocumentFormatJson is a DocumentFormat enum value - DocumentFormatJson = "JSON" -) - -const ( - // DocumentHashTypeSha256 is a DocumentHashType enum value - DocumentHashTypeSha256 = "Sha256" - - // DocumentHashTypeSha1 is a DocumentHashType enum value - DocumentHashTypeSha1 = "Sha1" -) - -const ( - // DocumentParameterTypeString is a DocumentParameterType enum value - DocumentParameterTypeString = "String" - - // DocumentParameterTypeStringList is a DocumentParameterType enum value - DocumentParameterTypeStringList = "StringList" -) - -const ( - // DocumentPermissionTypeShare is a DocumentPermissionType enum value - DocumentPermissionTypeShare = "Share" -) - -// The status of a document. -const ( - // DocumentStatusCreating is a DocumentStatus enum value - DocumentStatusCreating = "Creating" - - // DocumentStatusActive is a DocumentStatus enum value - DocumentStatusActive = "Active" - - // DocumentStatusUpdating is a DocumentStatus enum value - DocumentStatusUpdating = "Updating" - - // DocumentStatusDeleting is a DocumentStatus enum value - DocumentStatusDeleting = "Deleting" - - // DocumentStatusFailed is a DocumentStatus enum value - DocumentStatusFailed = "Failed" -) - -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" - - // DocumentTypeSession is a DocumentType enum value - DocumentTypeSession = "Session" - - // DocumentTypePackage is a DocumentType enum value - DocumentTypePackage = "Package" -) - -const ( - // ExecutionModeAuto is a ExecutionMode enum value - ExecutionModeAuto = "Auto" - - // ExecutionModeInteractive is a ExecutionMode enum value - ExecutionModeInteractive = "Interactive" -) - -const ( - // FaultClient is a Fault enum value - FaultClient = "Client" - - // FaultServer is a Fault enum value - FaultServer = "Server" - - // FaultUnknown is a Fault enum value - FaultUnknown = "Unknown" -) - -const ( - // InstanceInformationFilterKeyInstanceIds is a InstanceInformationFilterKey enum value - InstanceInformationFilterKeyInstanceIds = "InstanceIds" - - // InstanceInformationFilterKeyAgentVersion is a InstanceInformationFilterKey enum value - InstanceInformationFilterKeyAgentVersion = "AgentVersion" - - // InstanceInformationFilterKeyPingStatus is a InstanceInformationFilterKey enum value - InstanceInformationFilterKeyPingStatus = "PingStatus" - - // InstanceInformationFilterKeyPlatformTypes is a InstanceInformationFilterKey enum value - InstanceInformationFilterKeyPlatformTypes = "PlatformTypes" - - // InstanceInformationFilterKeyActivationIds is a InstanceInformationFilterKey enum value - InstanceInformationFilterKeyActivationIds = "ActivationIds" - - // InstanceInformationFilterKeyIamRole is a InstanceInformationFilterKey enum value - InstanceInformationFilterKeyIamRole = "IamRole" - - // InstanceInformationFilterKeyResourceType is a InstanceInformationFilterKey enum value - InstanceInformationFilterKeyResourceType = "ResourceType" - - // InstanceInformationFilterKeyAssociationStatus is a InstanceInformationFilterKey enum value - InstanceInformationFilterKeyAssociationStatus = "AssociationStatus" -) - -const ( - // InstancePatchStateOperatorTypeEqual is a InstancePatchStateOperatorType enum value - InstancePatchStateOperatorTypeEqual = "Equal" - - // InstancePatchStateOperatorTypeNotEqual is a InstancePatchStateOperatorType enum value - InstancePatchStateOperatorTypeNotEqual = "NotEqual" - - // InstancePatchStateOperatorTypeLessThan is a InstancePatchStateOperatorType enum value - InstancePatchStateOperatorTypeLessThan = "LessThan" - - // InstancePatchStateOperatorTypeGreaterThan is a InstancePatchStateOperatorType enum value - InstancePatchStateOperatorTypeGreaterThan = "GreaterThan" -) - -const ( - // InventoryAttributeDataTypeString is a InventoryAttributeDataType enum value - InventoryAttributeDataTypeString = "string" - - // InventoryAttributeDataTypeNumber is a InventoryAttributeDataType enum value - InventoryAttributeDataTypeNumber = "number" -) - -const ( - // InventoryDeletionStatusInProgress is a InventoryDeletionStatus enum value - InventoryDeletionStatusInProgress = "InProgress" - - // InventoryDeletionStatusComplete is a InventoryDeletionStatus enum value - InventoryDeletionStatusComplete = "Complete" -) - -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" - - // InventoryQueryOperatorTypeExists is a InventoryQueryOperatorType enum value - InventoryQueryOperatorTypeExists = "Exists" -) - -const ( - // InventorySchemaDeleteOptionDisableSchema is a InventorySchemaDeleteOption enum value - InventorySchemaDeleteOptionDisableSchema = "DisableSchema" - - // InventorySchemaDeleteOptionDeleteSchema is a InventorySchemaDeleteOption enum value - InventorySchemaDeleteOptionDeleteSchema = "DeleteSchema" -) - -const ( - // LastResourceDataSyncStatusSuccessful is a LastResourceDataSyncStatus enum value - LastResourceDataSyncStatusSuccessful = "Successful" - - // LastResourceDataSyncStatusFailed is a LastResourceDataSyncStatus enum value - LastResourceDataSyncStatusFailed = "Failed" - - // LastResourceDataSyncStatusInProgress is a LastResourceDataSyncStatus enum value - LastResourceDataSyncStatusInProgress = "InProgress" -) - -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" - - // MaintenanceWindowTaskTypeAutomation is a MaintenanceWindowTaskType enum value - MaintenanceWindowTaskTypeAutomation = "AUTOMATION" - - // MaintenanceWindowTaskTypeStepFunctions is a MaintenanceWindowTaskType enum value - MaintenanceWindowTaskTypeStepFunctions = "STEP_FUNCTIONS" - - // MaintenanceWindowTaskTypeLambda is a MaintenanceWindowTaskType enum value - MaintenanceWindowTaskTypeLambda = "LAMBDA" -) - -const ( - // NotificationEventAll is a NotificationEvent enum value - NotificationEventAll = "All" - - // NotificationEventInProgress is a NotificationEvent enum value - NotificationEventInProgress = "InProgress" - - // NotificationEventSuccess is a NotificationEvent enum value - NotificationEventSuccess = "Success" - - // NotificationEventTimedOut is a NotificationEvent enum value - NotificationEventTimedOut = "TimedOut" - - // NotificationEventCancelled is a NotificationEvent enum value - NotificationEventCancelled = "Cancelled" - - // NotificationEventFailed is a NotificationEvent enum value - NotificationEventFailed = "Failed" -) - -const ( - // NotificationTypeCommand is a NotificationType enum value - NotificationTypeCommand = "Command" - - // NotificationTypeInvocation is a NotificationType enum value - NotificationTypeInvocation = "Invocation" -) - -const ( - // OperatingSystemWindows is a OperatingSystem enum value - OperatingSystemWindows = "WINDOWS" - - // OperatingSystemAmazonLinux is a OperatingSystem enum value - OperatingSystemAmazonLinux = "AMAZON_LINUX" - - // OperatingSystemAmazonLinux2 is a OperatingSystem enum value - OperatingSystemAmazonLinux2 = "AMAZON_LINUX_2" - - // OperatingSystemUbuntu is a OperatingSystem enum value - OperatingSystemUbuntu = "UBUNTU" - - // OperatingSystemRedhatEnterpriseLinux is a OperatingSystem enum value - OperatingSystemRedhatEnterpriseLinux = "REDHAT_ENTERPRISE_LINUX" - - // OperatingSystemSuse is a OperatingSystem enum value - OperatingSystemSuse = "SUSE" - - // OperatingSystemCentos is a OperatingSystem enum value - OperatingSystemCentos = "CENTOS" -) - -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 ( - // PatchActionAllowAsDependency is a PatchAction enum value - PatchActionAllowAsDependency = "ALLOW_AS_DEPENDENCY" - - // PatchActionBlock is a PatchAction enum value - PatchActionBlock = "BLOCK" -) - -const ( - // PatchComplianceDataStateInstalled is a PatchComplianceDataState enum value - PatchComplianceDataStateInstalled = "INSTALLED" - - // PatchComplianceDataStateInstalledOther is a PatchComplianceDataState enum value - PatchComplianceDataStateInstalledOther = "INSTALLED_OTHER" - - // PatchComplianceDataStateInstalledRejected is a PatchComplianceDataState enum value - PatchComplianceDataStateInstalledRejected = "INSTALLED_REJECTED" - - // PatchComplianceDataStateMissing is a PatchComplianceDataState enum value - PatchComplianceDataStateMissing = "MISSING" - - // PatchComplianceDataStateNotApplicable is a PatchComplianceDataState enum value - PatchComplianceDataStateNotApplicable = "NOT_APPLICABLE" - - // PatchComplianceDataStateFailed is a PatchComplianceDataState enum value - PatchComplianceDataStateFailed = "FAILED" -) - -const ( - // PatchComplianceLevelCritical is a PatchComplianceLevel enum value - PatchComplianceLevelCritical = "CRITICAL" - - // PatchComplianceLevelHigh is a PatchComplianceLevel enum value - PatchComplianceLevelHigh = "HIGH" - - // PatchComplianceLevelMedium is a PatchComplianceLevel enum value - PatchComplianceLevelMedium = "MEDIUM" - - // PatchComplianceLevelLow is a PatchComplianceLevel enum value - PatchComplianceLevelLow = "LOW" - - // PatchComplianceLevelInformational is a PatchComplianceLevel enum value - PatchComplianceLevelInformational = "INFORMATIONAL" - - // PatchComplianceLevelUnspecified is a PatchComplianceLevel enum value - PatchComplianceLevelUnspecified = "UNSPECIFIED" -) - -const ( - // PatchDeploymentStatusApproved is a PatchDeploymentStatus enum value - PatchDeploymentStatusApproved = "APPROVED" - - // PatchDeploymentStatusPendingApproval is a PatchDeploymentStatus enum value - PatchDeploymentStatusPendingApproval = "PENDING_APPROVAL" - - // PatchDeploymentStatusExplicitApproved is a PatchDeploymentStatus enum value - PatchDeploymentStatusExplicitApproved = "EXPLICIT_APPROVED" - - // PatchDeploymentStatusExplicitRejected is a PatchDeploymentStatus enum value - PatchDeploymentStatusExplicitRejected = "EXPLICIT_REJECTED" -) - -const ( - // PatchFilterKeyProduct is a PatchFilterKey enum value - PatchFilterKeyProduct = "PRODUCT" - - // PatchFilterKeyClassification is a PatchFilterKey enum value - PatchFilterKeyClassification = "CLASSIFICATION" - - // PatchFilterKeyMsrcSeverity is a PatchFilterKey enum value - PatchFilterKeyMsrcSeverity = "MSRC_SEVERITY" - - // PatchFilterKeyPatchId is a PatchFilterKey enum value - PatchFilterKeyPatchId = "PATCH_ID" - - // PatchFilterKeySection is a PatchFilterKey enum value - PatchFilterKeySection = "SECTION" - - // PatchFilterKeyPriority is a PatchFilterKey enum value - PatchFilterKeyPriority = "PRIORITY" - - // PatchFilterKeySeverity is a PatchFilterKey enum value - PatchFilterKeySeverity = "SEVERITY" -) - -const ( - // PatchOperationTypeScan is a PatchOperationType enum value - PatchOperationTypeScan = "Scan" - - // PatchOperationTypeInstall is a PatchOperationType enum value - PatchOperationTypeInstall = "Install" -) - -const ( - // PingStatusOnline is a PingStatus enum value - PingStatusOnline = "Online" - - // PingStatusConnectionLost is a PingStatus enum value - PingStatusConnectionLost = "ConnectionLost" - - // PingStatusInactive is a PingStatus enum value - PingStatusInactive = "Inactive" -) - -const ( - // PlatformTypeWindows is a PlatformType enum value - PlatformTypeWindows = "Windows" - - // PlatformTypeLinux is a PlatformType enum value - PlatformTypeLinux = "Linux" -) - -const ( - // ResourceDataSyncS3FormatJsonSerDe is a ResourceDataSyncS3Format enum value - ResourceDataSyncS3FormatJsonSerDe = "JsonSerDe" -) - -const ( - // ResourceTypeManagedInstance is a ResourceType enum value - ResourceTypeManagedInstance = "ManagedInstance" - - // ResourceTypeDocument is a ResourceType enum value - ResourceTypeDocument = "Document" - - // ResourceTypeEc2instance is a ResourceType enum value - ResourceTypeEc2instance = "EC2Instance" -) - -const ( - // ResourceTypeForTaggingDocument is a ResourceTypeForTagging enum value - ResourceTypeForTaggingDocument = "Document" - - // ResourceTypeForTaggingManagedInstance is a ResourceTypeForTagging enum value - ResourceTypeForTaggingManagedInstance = "ManagedInstance" - - // ResourceTypeForTaggingMaintenanceWindow is a ResourceTypeForTagging enum value - ResourceTypeForTaggingMaintenanceWindow = "MaintenanceWindow" - - // ResourceTypeForTaggingParameter is a ResourceTypeForTagging enum value - ResourceTypeForTaggingParameter = "Parameter" - - // ResourceTypeForTaggingPatchBaseline is a ResourceTypeForTagging enum value - ResourceTypeForTaggingPatchBaseline = "PatchBaseline" -) - -const ( - // SessionFilterKeyInvokedAfter is a SessionFilterKey enum value - SessionFilterKeyInvokedAfter = "InvokedAfter" - - // SessionFilterKeyInvokedBefore is a SessionFilterKey enum value - SessionFilterKeyInvokedBefore = "InvokedBefore" - - // SessionFilterKeyTarget is a SessionFilterKey enum value - SessionFilterKeyTarget = "Target" - - // SessionFilterKeyOwner is a SessionFilterKey enum value - SessionFilterKeyOwner = "Owner" - - // SessionFilterKeyStatus is a SessionFilterKey enum value - SessionFilterKeyStatus = "Status" -) - -const ( - // SessionStateActive is a SessionState enum value - SessionStateActive = "Active" - - // SessionStateHistory is a SessionState enum value - SessionStateHistory = "History" -) - -const ( - // SessionStatusConnected is a SessionStatus enum value - SessionStatusConnected = "Connected" - - // SessionStatusConnecting is a SessionStatus enum value - SessionStatusConnecting = "Connecting" - - // SessionStatusDisconnected is a SessionStatus enum value - SessionStatusDisconnected = "Disconnected" - - // SessionStatusTerminated is a SessionStatus enum value - SessionStatusTerminated = "Terminated" - - // SessionStatusTerminating is a SessionStatus enum value - SessionStatusTerminating = "Terminating" - - // SessionStatusFailed is a SessionStatus enum value - SessionStatusFailed = "Failed" -) - -const ( - // SignalTypeApprove is a SignalType enum value - SignalTypeApprove = "Approve" - - // SignalTypeReject is a SignalType enum value - SignalTypeReject = "Reject" - - // SignalTypeStartStep is a SignalType enum value - SignalTypeStartStep = "StartStep" - - // SignalTypeStopStep is a SignalType enum value - SignalTypeStopStep = "StopStep" - - // SignalTypeResume is a SignalType enum value - SignalTypeResume = "Resume" -) - -const ( - // StepExecutionFilterKeyStartTimeBefore is a StepExecutionFilterKey enum value - StepExecutionFilterKeyStartTimeBefore = "StartTimeBefore" - - // StepExecutionFilterKeyStartTimeAfter is a StepExecutionFilterKey enum value - StepExecutionFilterKeyStartTimeAfter = "StartTimeAfter" - - // StepExecutionFilterKeyStepExecutionStatus is a StepExecutionFilterKey enum value - StepExecutionFilterKeyStepExecutionStatus = "StepExecutionStatus" - - // StepExecutionFilterKeyStepExecutionId is a StepExecutionFilterKey enum value - StepExecutionFilterKeyStepExecutionId = "StepExecutionId" - - // StepExecutionFilterKeyStepName is a StepExecutionFilterKey enum value - StepExecutionFilterKeyStepName = "StepName" - - // StepExecutionFilterKeyAction is a StepExecutionFilterKey enum value - StepExecutionFilterKeyAction = "Action" -) - -const ( - // StopTypeComplete is a StopType enum value - StopTypeComplete = "Complete" - - // StopTypeCancel is a StopType enum value - StopTypeCancel = "Cancel" -) diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/doc.go deleted file mode 100644 index 6964adb..0000000 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/doc.go +++ /dev/null @@ -1,45 +0,0 @@ -// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. - -// Package ssm provides the client and types for making API -// requests to Amazon Simple Systems Manager (SSM). -// -// AWS 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 lets you remotely and securely manage the configuration of your managed -// instances. A managed instance is any Amazon EC2 instance or on-premises machine -// in your hybrid environment that has been configured for Systems Manager. -// -// This reference is intended to be used with the AWS Systems Manager User Guide -// (http://docs.aws.amazon.com/systems-manager/latest/userguide/). -// -// To get started, verify prerequisites and configure managed instances. For -// more information, see Systems Manager Prerequisites (http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up.html) -// in the AWS Systems Manager User Guide. -// -// For information about other API actions you can perform on Amazon EC2 instances, -// see the Amazon EC2 API Reference (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/). -// For information about how to use a Query API, see Making API Requests (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/making-api-requests.html). -// -// See https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06 for more information on this service. -// -// See ssm package documentation for more information. -// https://docs.aws.amazon.com/sdk-for-go/api/service/ssm/ -// -// Using the Client -// -// To contact Amazon Simple Systems Manager (SSM) with the SDK use the New function to create -// a new service client. With that client you can make API requests to the service. -// These clients are safe to use concurrently. -// -// See the SDK's documentation for more information on how to use the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/ -// -// See aws.Config documentation for more information on configuring SDK clients. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config -// -// See the Amazon Simple Systems Manager (SSM) client SSM for more -// information on creating client for this service. -// https://docs.aws.amazon.com/sdk-for-go/api/service/ssm/#New -package ssm diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go deleted file mode 100644 index 44d3bac..0000000 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/errors.go +++ /dev/null @@ -1,685 +0,0 @@ -// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. - -package ssm - -const ( - - // ErrCodeAlreadyExistsException for service response error code - // "AlreadyExistsException". - // - // Error returned if an attempt is made to register a patch group with a patch - // baseline that is already registered with a different patch baseline. - ErrCodeAlreadyExistsException = "AlreadyExistsException" - - // ErrCodeAssociatedInstances for service response error code - // "AssociatedInstances". - // - // You must disassociate a document from all instances before you can delete - // it. - ErrCodeAssociatedInstances = "AssociatedInstances" - - // ErrCodeAssociationAlreadyExists for service response error code - // "AssociationAlreadyExists". - // - // The specified association already exists. - ErrCodeAssociationAlreadyExists = "AssociationAlreadyExists" - - // ErrCodeAssociationDoesNotExist for service response error code - // "AssociationDoesNotExist". - // - // The specified association does not exist. - ErrCodeAssociationDoesNotExist = "AssociationDoesNotExist" - - // ErrCodeAssociationExecutionDoesNotExist for service response error code - // "AssociationExecutionDoesNotExist". - // - // The specified execution ID does not exist. Verify the ID number and try again. - ErrCodeAssociationExecutionDoesNotExist = "AssociationExecutionDoesNotExist" - - // ErrCodeAssociationLimitExceeded for service response error code - // "AssociationLimitExceeded". - // - // You can have at most 2,000 active associations. - ErrCodeAssociationLimitExceeded = "AssociationLimitExceeded" - - // ErrCodeAssociationVersionLimitExceeded for service response error code - // "AssociationVersionLimitExceeded". - // - // You have reached the maximum number versions allowed for an association. - // Each association has a limit of 1,000 versions. - ErrCodeAssociationVersionLimitExceeded = "AssociationVersionLimitExceeded" - - // ErrCodeAutomationDefinitionNotFoundException for service response error code - // "AutomationDefinitionNotFoundException". - // - // An Automation document with the specified name could not be found. - ErrCodeAutomationDefinitionNotFoundException = "AutomationDefinitionNotFoundException" - - // ErrCodeAutomationDefinitionVersionNotFoundException for service response error code - // "AutomationDefinitionVersionNotFoundException". - // - // An Automation document with the specified name and version could not be found. - ErrCodeAutomationDefinitionVersionNotFoundException = "AutomationDefinitionVersionNotFoundException" - - // ErrCodeAutomationExecutionLimitExceededException for service response error code - // "AutomationExecutionLimitExceededException". - // - // The number of simultaneously running Automation executions exceeded the allowable - // limit. - ErrCodeAutomationExecutionLimitExceededException = "AutomationExecutionLimitExceededException" - - // ErrCodeAutomationExecutionNotFoundException for service response error code - // "AutomationExecutionNotFoundException". - // - // There is no automation execution information for the requested automation - // execution ID. - ErrCodeAutomationExecutionNotFoundException = "AutomationExecutionNotFoundException" - - // ErrCodeAutomationStepNotFoundException for service response error code - // "AutomationStepNotFoundException". - // - // The specified step name and execution ID don't exist. Verify the information - // and try again. - ErrCodeAutomationStepNotFoundException = "AutomationStepNotFoundException" - - // ErrCodeComplianceTypeCountLimitExceededException for service response error code - // "ComplianceTypeCountLimitExceededException". - // - // You specified too many custom compliance types. You can specify a maximum - // of 10 different types. - ErrCodeComplianceTypeCountLimitExceededException = "ComplianceTypeCountLimitExceededException" - - // ErrCodeCustomSchemaCountLimitExceededException for service response error code - // "CustomSchemaCountLimitExceededException". - // - // You have exceeded the limit for custom schemas. Delete one or more custom - // schemas and try again. - ErrCodeCustomSchemaCountLimitExceededException = "CustomSchemaCountLimitExceededException" - - // ErrCodeDocumentAlreadyExists for service response error code - // "DocumentAlreadyExists". - // - // The specified document already exists. - ErrCodeDocumentAlreadyExists = "DocumentAlreadyExists" - - // ErrCodeDocumentLimitExceeded for service response error code - // "DocumentLimitExceeded". - // - // You can have at most 200 active Systems Manager documents. - ErrCodeDocumentLimitExceeded = "DocumentLimitExceeded" - - // ErrCodeDocumentPermissionLimit for service response error code - // "DocumentPermissionLimit". - // - // The document cannot be shared with more AWS user accounts. You can share - // a document with a maximum of 20 accounts. You can publicly share up to five - // documents. If you need to increase this limit, contact AWS Support. - ErrCodeDocumentPermissionLimit = "DocumentPermissionLimit" - - // ErrCodeDocumentVersionLimitExceeded for service response error code - // "DocumentVersionLimitExceeded". - // - // The document has too many versions. Delete one or more document versions - // and try again. - ErrCodeDocumentVersionLimitExceeded = "DocumentVersionLimitExceeded" - - // ErrCodeDoesNotExistException for service response error code - // "DoesNotExistException". - // - // Error returned when the ID specified for a resource, such as a Maintenance - // Window or Patch baseline, doesn't exist. - // - // For information about resource limits in Systems Manager, see AWS Systems - // Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). - ErrCodeDoesNotExistException = "DoesNotExistException" - - // ErrCodeDuplicateDocumentContent for service response error code - // "DuplicateDocumentContent". - // - // The content of the association document matches another document. Change - // the content of the document and try again. - ErrCodeDuplicateDocumentContent = "DuplicateDocumentContent" - - // ErrCodeDuplicateDocumentVersionName for service response error code - // "DuplicateDocumentVersionName". - // - // The version name has already been used in this document. Specify a different - // version name, and then try again. - ErrCodeDuplicateDocumentVersionName = "DuplicateDocumentVersionName" - - // ErrCodeDuplicateInstanceId for service response error code - // "DuplicateInstanceId". - // - // You cannot specify an instance ID in more than one association. - ErrCodeDuplicateInstanceId = "DuplicateInstanceId" - - // ErrCodeFeatureNotAvailableException for service response error code - // "FeatureNotAvailableException". - // - // You attempted to register a LAMBDA or STEP_FUNCTION task in a region where - // the corresponding service is not available. - ErrCodeFeatureNotAvailableException = "FeatureNotAvailableException" - - // ErrCodeHierarchyLevelLimitExceededException for service response error code - // "HierarchyLevelLimitExceededException". - // - // A hierarchy can have a maximum of 15 levels. For more information, see Requirements - // and Constraints for Parameter Names (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html) - // in the AWS Systems Manager User Guide. - ErrCodeHierarchyLevelLimitExceededException = "HierarchyLevelLimitExceededException" - - // ErrCodeHierarchyTypeMismatchException for service response error code - // "HierarchyTypeMismatchException". - // - // Parameter Store does not support changing a parameter type in a hierarchy. - // For example, you can't change a parameter from a String type to a SecureString - // type. You must create a new, unique parameter. - ErrCodeHierarchyTypeMismatchException = "HierarchyTypeMismatchException" - - // ErrCodeIdempotentParameterMismatch for service response error code - // "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. - ErrCodeIdempotentParameterMismatch = "IdempotentParameterMismatch" - - // ErrCodeInternalServerError for service response error code - // "InternalServerError". - // - // An error occurred on the server side. - ErrCodeInternalServerError = "InternalServerError" - - // ErrCodeInvalidActivation for service response error code - // "InvalidActivation". - // - // The activation is not valid. The activation might have been deleted, or the - // ActivationId and the ActivationCode do not match. - ErrCodeInvalidActivation = "InvalidActivation" - - // ErrCodeInvalidActivationId for service response error code - // "InvalidActivationId". - // - // The activation ID is not valid. Verify the you entered the correct ActivationId - // or ActivationCode and try again. - ErrCodeInvalidActivationId = "InvalidActivationId" - - // ErrCodeInvalidAggregatorException for service response error code - // "InvalidAggregatorException". - // - // The specified aggregator is not valid for inventory groups. Verify that the - // aggregator uses a valid inventory type such as AWS:Application or AWS:InstanceInformation. - ErrCodeInvalidAggregatorException = "InvalidAggregatorException" - - // ErrCodeInvalidAllowedPatternException for service response error code - // "InvalidAllowedPatternException". - // - // The request does not meet the regular expression requirement. - ErrCodeInvalidAllowedPatternException = "InvalidAllowedPatternException" - - // ErrCodeInvalidAssociation for service response error code - // "InvalidAssociation". - // - // The association is not valid or does not exist. - ErrCodeInvalidAssociation = "InvalidAssociation" - - // ErrCodeInvalidAssociationVersion for service response error code - // "InvalidAssociationVersion". - // - // The version you specified is not valid. Use ListAssociationVersions to view - // all versions of an association according to the association ID. Or, use the - // $LATEST parameter to view the latest version of the association. - ErrCodeInvalidAssociationVersion = "InvalidAssociationVersion" - - // ErrCodeInvalidAutomationExecutionParametersException for service response error code - // "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. - ErrCodeInvalidAutomationExecutionParametersException = "InvalidAutomationExecutionParametersException" - - // ErrCodeInvalidAutomationSignalException for service response error code - // "InvalidAutomationSignalException". - // - // The signal is not valid for the current Automation execution. - ErrCodeInvalidAutomationSignalException = "InvalidAutomationSignalException" - - // ErrCodeInvalidAutomationStatusUpdateException for service response error code - // "InvalidAutomationStatusUpdateException". - // - // The specified update status operation is not valid. - ErrCodeInvalidAutomationStatusUpdateException = "InvalidAutomationStatusUpdateException" - - // ErrCodeInvalidCommandId for service response error code - // "InvalidCommandId". - ErrCodeInvalidCommandId = "InvalidCommandId" - - // ErrCodeInvalidDeleteInventoryParametersException for service response error code - // "InvalidDeleteInventoryParametersException". - // - // One or more of the parameters specified for the delete operation is not valid. - // Verify all parameters and try again. - ErrCodeInvalidDeleteInventoryParametersException = "InvalidDeleteInventoryParametersException" - - // ErrCodeInvalidDeletionIdException for service response error code - // "InvalidDeletionIdException". - // - // The ID specified for the delete operation does not exist or is not valide. - // Verify the ID and try again. - ErrCodeInvalidDeletionIdException = "InvalidDeletionIdException" - - // ErrCodeInvalidDocument for service response error code - // "InvalidDocument". - // - // The specified document does not exist. - ErrCodeInvalidDocument = "InvalidDocument" - - // ErrCodeInvalidDocumentContent for service response error code - // "InvalidDocumentContent". - // - // The content for the document is not valid. - ErrCodeInvalidDocumentContent = "InvalidDocumentContent" - - // ErrCodeInvalidDocumentOperation for service response error code - // "InvalidDocumentOperation". - // - // You attempted to delete a document while it is still shared. You must stop - // sharing the document before you can delete it. - ErrCodeInvalidDocumentOperation = "InvalidDocumentOperation" - - // ErrCodeInvalidDocumentSchemaVersion for service response error code - // "InvalidDocumentSchemaVersion". - // - // The version of the document schema is not supported. - ErrCodeInvalidDocumentSchemaVersion = "InvalidDocumentSchemaVersion" - - // ErrCodeInvalidDocumentVersion for service response error code - // "InvalidDocumentVersion". - // - // The document version is not valid or does not exist. - ErrCodeInvalidDocumentVersion = "InvalidDocumentVersion" - - // ErrCodeInvalidFilter for service response error code - // "InvalidFilter". - // - // The filter name is not valid. Verify the you entered the correct name and - // try again. - ErrCodeInvalidFilter = "InvalidFilter" - - // ErrCodeInvalidFilterKey for service response error code - // "InvalidFilterKey". - // - // The specified key is not valid. - ErrCodeInvalidFilterKey = "InvalidFilterKey" - - // ErrCodeInvalidFilterOption for service response error code - // "InvalidFilterOption". - // - // The specified filter option is not valid. Valid options are Equals and BeginsWith. - // For Path filter, valid options are Recursive and OneLevel. - ErrCodeInvalidFilterOption = "InvalidFilterOption" - - // ErrCodeInvalidFilterValue for service response error code - // "InvalidFilterValue". - // - // The filter value is not valid. Verify the value and try again. - ErrCodeInvalidFilterValue = "InvalidFilterValue" - - // ErrCodeInvalidInstanceId for service response error code - // "InvalidInstanceId". - // - // The following problems can cause this exception: - // - // You do not have permission to access the instance. - // - // 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. - // - // SSM Agent or EC2Config service is not registered to the SSM endpoint. Try - // reinstalling 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. - ErrCodeInvalidInstanceId = "InvalidInstanceId" - - // ErrCodeInvalidInstanceInformationFilterValue for service response error code - // "InvalidInstanceInformationFilterValue". - // - // The specified filter value is not valid. - ErrCodeInvalidInstanceInformationFilterValue = "InvalidInstanceInformationFilterValue" - - // ErrCodeInvalidInventoryGroupException for service response error code - // "InvalidInventoryGroupException". - // - // The specified inventory group is not valid. - ErrCodeInvalidInventoryGroupException = "InvalidInventoryGroupException" - - // ErrCodeInvalidInventoryItemContextException for service response error code - // "InvalidInventoryItemContextException". - // - // You specified invalid keys or values in the Context attribute for InventoryItem. - // Verify the keys and values, and try again. - ErrCodeInvalidInventoryItemContextException = "InvalidInventoryItemContextException" - - // ErrCodeInvalidInventoryRequestException for service response error code - // "InvalidInventoryRequestException". - // - // The request is not valid. - ErrCodeInvalidInventoryRequestException = "InvalidInventoryRequestException" - - // ErrCodeInvalidItemContentException for service response error code - // "InvalidItemContentException". - // - // One or more content items is not valid. - ErrCodeInvalidItemContentException = "InvalidItemContentException" - - // ErrCodeInvalidKeyId for service response error code - // "InvalidKeyId". - // - // The query key ID is not valid. - ErrCodeInvalidKeyId = "InvalidKeyId" - - // ErrCodeInvalidNextToken for service response error code - // "InvalidNextToken". - // - // The specified token is not valid. - ErrCodeInvalidNextToken = "InvalidNextToken" - - // ErrCodeInvalidNotificationConfig for service response error code - // "InvalidNotificationConfig". - // - // One or more configuration items is not valid. Verify that a valid Amazon - // Resource Name (ARN) was provided for an Amazon SNS topic. - ErrCodeInvalidNotificationConfig = "InvalidNotificationConfig" - - // ErrCodeInvalidOptionException for service response error code - // "InvalidOptionException". - // - // The delete inventory option specified is not valid. Verify the option and - // try again. - ErrCodeInvalidOptionException = "InvalidOptionException" - - // ErrCodeInvalidOutputFolder for service response error code - // "InvalidOutputFolder". - // - // The S3 bucket does not exist. - ErrCodeInvalidOutputFolder = "InvalidOutputFolder" - - // ErrCodeInvalidOutputLocation for service response error code - // "InvalidOutputLocation". - // - // The output location is not valid or does not exist. - ErrCodeInvalidOutputLocation = "InvalidOutputLocation" - - // ErrCodeInvalidParameters for service response error code - // "InvalidParameters". - // - // You must specify values for all required parameters in the Systems Manager - // document. You can only supply values to parameters defined in the Systems - // Manager document. - ErrCodeInvalidParameters = "InvalidParameters" - - // ErrCodeInvalidPermissionType for service response error code - // "InvalidPermissionType". - // - // The permission type is not supported. Share is the only supported permission - // type. - ErrCodeInvalidPermissionType = "InvalidPermissionType" - - // ErrCodeInvalidPluginName for service response error code - // "InvalidPluginName". - // - // The plugin name is not valid. - ErrCodeInvalidPluginName = "InvalidPluginName" - - // ErrCodeInvalidResourceId for service response error code - // "InvalidResourceId". - // - // The resource ID is not valid. Verify that you entered the correct ID and - // try again. - ErrCodeInvalidResourceId = "InvalidResourceId" - - // ErrCodeInvalidResourceType for service response error code - // "InvalidResourceType". - // - // The resource type is not valid. For example, if you are attempting to tag - // an instance, the instance must be a registered, managed instance. - ErrCodeInvalidResourceType = "InvalidResourceType" - - // ErrCodeInvalidResultAttributeException for service response error code - // "InvalidResultAttributeException". - // - // The specified inventory item result attribute is not valid. - ErrCodeInvalidResultAttributeException = "InvalidResultAttributeException" - - // ErrCodeInvalidRole for service response error code - // "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 Run Command notifications, - // see Configuring Amazon SNS Notifications for Run Command (http://docs.aws.amazon.com/systems-manager/latest/userguide/rc-sns-notifications.html) - // in the AWS Systems Manager User Guide. - ErrCodeInvalidRole = "InvalidRole" - - // ErrCodeInvalidSchedule for service response error code - // "InvalidSchedule". - // - // The schedule is invalid. Verify your cron or rate expression and try again. - ErrCodeInvalidSchedule = "InvalidSchedule" - - // ErrCodeInvalidTarget for service response error code - // "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. - ErrCodeInvalidTarget = "InvalidTarget" - - // ErrCodeInvalidTypeNameException for service response error code - // "InvalidTypeNameException". - // - // The parameter type name is not valid. - ErrCodeInvalidTypeNameException = "InvalidTypeNameException" - - // ErrCodeInvalidUpdate for service response error code - // "InvalidUpdate". - // - // The update is not valid. - ErrCodeInvalidUpdate = "InvalidUpdate" - - // ErrCodeInvocationDoesNotExist for service response error code - // "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. - ErrCodeInvocationDoesNotExist = "InvocationDoesNotExist" - - // ErrCodeItemContentMismatchException for service response error code - // "ItemContentMismatchException". - // - // The inventory item has invalid content. - ErrCodeItemContentMismatchException = "ItemContentMismatchException" - - // ErrCodeItemSizeLimitExceededException for service response error code - // "ItemSizeLimitExceededException". - // - // The inventory item size has exceeded the size limit. - ErrCodeItemSizeLimitExceededException = "ItemSizeLimitExceededException" - - // ErrCodeMaxDocumentSizeExceeded for service response error code - // "MaxDocumentSizeExceeded". - // - // The size limit of a document is 64 KB. - ErrCodeMaxDocumentSizeExceeded = "MaxDocumentSizeExceeded" - - // ErrCodeParameterAlreadyExists for service response error code - // "ParameterAlreadyExists". - // - // The parameter already exists. You can't create duplicate parameters. - ErrCodeParameterAlreadyExists = "ParameterAlreadyExists" - - // ErrCodeParameterLimitExceeded for service response error code - // "ParameterLimitExceeded". - // - // You have exceeded the number of parameters for this AWS account. Delete one - // or more parameters and try again. - ErrCodeParameterLimitExceeded = "ParameterLimitExceeded" - - // ErrCodeParameterMaxVersionLimitExceeded for service response error code - // "ParameterMaxVersionLimitExceeded". - // - // The parameter exceeded the maximum number of allowed versions. - ErrCodeParameterMaxVersionLimitExceeded = "ParameterMaxVersionLimitExceeded" - - // ErrCodeParameterNotFound for service response error code - // "ParameterNotFound". - // - // The parameter could not be found. Verify the name and try again. - ErrCodeParameterNotFound = "ParameterNotFound" - - // ErrCodeParameterPatternMismatchException for service response error code - // "ParameterPatternMismatchException". - // - // The parameter name is not valid. - ErrCodeParameterPatternMismatchException = "ParameterPatternMismatchException" - - // ErrCodeParameterVersionLabelLimitExceeded for service response error code - // "ParameterVersionLabelLimitExceeded". - // - // A parameter version can have a maximum of ten labels. - ErrCodeParameterVersionLabelLimitExceeded = "ParameterVersionLabelLimitExceeded" - - // ErrCodeParameterVersionNotFound for service response error code - // "ParameterVersionNotFound". - // - // The specified parameter version was not found. Verify the parameter name - // and version, and try again. - ErrCodeParameterVersionNotFound = "ParameterVersionNotFound" - - // ErrCodeResourceDataSyncAlreadyExistsException for service response error code - // "ResourceDataSyncAlreadyExistsException". - // - // A sync configuration with the same name already exists. - ErrCodeResourceDataSyncAlreadyExistsException = "ResourceDataSyncAlreadyExistsException" - - // ErrCodeResourceDataSyncCountExceededException for service response error code - // "ResourceDataSyncCountExceededException". - // - // You have exceeded the allowed maximum sync configurations. - ErrCodeResourceDataSyncCountExceededException = "ResourceDataSyncCountExceededException" - - // ErrCodeResourceDataSyncInvalidConfigurationException for service response error code - // "ResourceDataSyncInvalidConfigurationException". - // - // The specified sync configuration is invalid. - ErrCodeResourceDataSyncInvalidConfigurationException = "ResourceDataSyncInvalidConfigurationException" - - // ErrCodeResourceDataSyncNotFoundException for service response error code - // "ResourceDataSyncNotFoundException". - // - // The specified sync name was not found. - ErrCodeResourceDataSyncNotFoundException = "ResourceDataSyncNotFoundException" - - // ErrCodeResourceInUseException for service response error code - // "ResourceInUseException". - // - // Error returned if an attempt is made to delete a patch baseline that is registered - // for a patch group. - ErrCodeResourceInUseException = "ResourceInUseException" - - // ErrCodeResourceLimitExceededException for service response error code - // "ResourceLimitExceededException". - // - // Error returned when the caller has exceeded the default resource limits. - // For example, too many Maintenance Windows or Patch baselines have been created. - // - // For information about resource limits in Systems Manager, see AWS Systems - // Manager Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_ssm). - ErrCodeResourceLimitExceededException = "ResourceLimitExceededException" - - // ErrCodeStatusUnchanged for service response error code - // "StatusUnchanged". - // - // The updated status is the same as the current status. - ErrCodeStatusUnchanged = "StatusUnchanged" - - // ErrCodeSubTypeCountLimitExceededException for service response error code - // "SubTypeCountLimitExceededException". - // - // The sub-type count exceeded the limit for the inventory type. - ErrCodeSubTypeCountLimitExceededException = "SubTypeCountLimitExceededException" - - // ErrCodeTargetInUseException for service response error code - // "TargetInUseException". - // - // You specified the Safe option for the DeregisterTargetFromMaintenanceWindow - // operation, but the target is still referenced in a task. - ErrCodeTargetInUseException = "TargetInUseException" - - // ErrCodeTargetNotConnected for service response error code - // "TargetNotConnected". - // - // The specified target instance for the session is not fully configured for - // use with Session Manager. For more information, see Getting Started with - // Session Manager (http://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html) - // in the AWS Systems Manager User Guide. - ErrCodeTargetNotConnected = "TargetNotConnected" - - // ErrCodeTooManyTagsError for service response error code - // "TooManyTagsError". - // - // The Targets parameter includes too many tags. Remove one or more tags and - // try the command again. - ErrCodeTooManyTagsError = "TooManyTagsError" - - // ErrCodeTooManyUpdates for service response error code - // "TooManyUpdates". - // - // There are concurrent updates for a resource that supports one update at a - // time. - ErrCodeTooManyUpdates = "TooManyUpdates" - - // ErrCodeTotalSizeLimitExceededException for service response error code - // "TotalSizeLimitExceededException". - // - // The size of inventory data has exceeded the total size limit for the resource. - ErrCodeTotalSizeLimitExceededException = "TotalSizeLimitExceededException" - - // ErrCodeUnsupportedInventoryItemContextException for service response error code - // "UnsupportedInventoryItemContextException". - // - // The Context attribute that you specified for the InventoryItem is not allowed - // for this inventory type. You can only use the Context attribute with inventory - // types like AWS:ComplianceItem. - ErrCodeUnsupportedInventoryItemContextException = "UnsupportedInventoryItemContextException" - - // ErrCodeUnsupportedInventorySchemaVersionException for service response error code - // "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. - ErrCodeUnsupportedInventorySchemaVersionException = "UnsupportedInventorySchemaVersionException" - - // ErrCodeUnsupportedOperatingSystem for service response error code - // "UnsupportedOperatingSystem". - // - // The operating systems you specified is not supported, or the operation is - // not supported for the operating system. Valid operating systems include: - // Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu. - ErrCodeUnsupportedOperatingSystem = "UnsupportedOperatingSystem" - - // ErrCodeUnsupportedParameterType for service response error code - // "UnsupportedParameterType". - // - // The parameter type is not supported. - ErrCodeUnsupportedParameterType = "UnsupportedParameterType" - - // ErrCodeUnsupportedPlatformType for service response error code - // "UnsupportedPlatformType". - // - // The document does not support the platform type of the given instance ID(s). - // For example, you sent an document for a Windows instance to a Linux instance. - ErrCodeUnsupportedPlatformType = "UnsupportedPlatformType" -) 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 deleted file mode 100644 index 9a6b8f7..0000000 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/service.go +++ /dev/null @@ -1,97 +0,0 @@ -// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. - -package ssm - -import ( - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/client" - "github.com/aws/aws-sdk-go/aws/client/metadata" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/aws/signer/v4" - "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" -) - -// SSM provides the API operation methods for making requests to -// Amazon Simple Systems Manager (SSM). See this package's package overview docs -// for details on the service. -// -// SSM methods are safe to use concurrently. It is not safe to -// modify mutate any of the struct's properties though. -type SSM struct { - *client.Client -} - -// Used for custom client initialization logic -var initClient func(*client.Client) - -// Used for custom request initialization logic -var initRequest func(*request.Request) - -// Service information constants -const ( - ServiceName = "ssm" // Name of service. - EndpointsID = ServiceName // ID to lookup a service endpoint with. - ServiceID = "SSM" // ServiceID is a unique identifer of a specific service. -) - -// New creates a new instance of the SSM client with a session. -// If additional configuration is needed for the client instance use the optional -// aws.Config parameter to add your extra config. -// -// Example: -// // Create a SSM client from just a session. -// svc := ssm.New(mySession) -// -// // Create a SSM client with additional configuration -// svc := ssm.New(mySession, aws.NewConfig().WithRegion("us-west-2")) -func New(p client.ConfigProvider, cfgs ...*aws.Config) *SSM { - c := p.ClientConfig(EndpointsID, cfgs...) - return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) -} - -// newClient creates, initializes and returns a new service client instance. -func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *SSM { - svc := &SSM{ - Client: client.New( - cfg, - metadata.ClientInfo{ - ServiceName: ServiceName, - ServiceID: ServiceID, - SigningName: signingName, - SigningRegion: signingRegion, - Endpoint: endpoint, - APIVersion: "2014-11-06", - JSONVersion: "1.1", - TargetPrefix: "AmazonSSM", - }, - handlers, - ), - } - - // Handlers - svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) - svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) - svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) - svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) - svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler) - - // Run custom client initialization if present - if initClient != nil { - initClient(svc.Client) - } - - return svc -} - -// newRequest creates a new request for a SSM operation and runs any -// custom request initialization. -func (c *SSM) newRequest(op *request.Operation, params, data interface{}) *request.Request { - req := c.NewRequest(op, params, data) - - // Run custom request initialization if present - if initRequest != nil { - initRequest(req) - } - - return req -} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go deleted file mode 100644 index ee908f9..0000000 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go +++ /dev/null @@ -1,2398 +0,0 @@ -// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. - -package sts - -import ( - "time" - - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/awsutil" - "github.com/aws/aws-sdk-go/aws/request" -) - -const opAssumeRole = "AssumeRole" - -// AssumeRoleRequest generates a "aws/request.Request" representing the -// client's request for the AssumeRole operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See AssumeRole for more information on using the AssumeRole -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the AssumeRoleRequest method. -// req, resp := client.AssumeRoleRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole -func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, output *AssumeRoleOutput) { - op := &request.Operation{ - Name: opAssumeRole, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &AssumeRoleInput{} - } - - output = &AssumeRoleOutput{} - req = c.newRequest(op, input, output) - return -} - -// AssumeRole API operation for AWS Security Token Service. -// -// Returns a set of temporary security credentials (consisting of an access -// key ID, a secret access key, and a security token) that you can use to access -// AWS resources that you might not normally have access to. Typically, you -// use AssumeRole for cross-account access or federation. For a comparison of -// AssumeRole with the other APIs that produce temporary credentials, see Requesting -// Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) -// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) -// in the IAM User Guide. -// -// Important: You cannot call AssumeRole by using AWS root account credentials; -// access is denied. You must use credentials for an IAM user or an IAM role -// to call AssumeRole. -// -// For cross-account access, imagine that you own multiple accounts and need -// to access resources in each account. You could create long-term credentials -// in each account to access those resources. However, managing all those credentials -// and remembering which one can access which account can be time consuming. -// Instead, you can create one set of long-term credentials in one account and -// then use temporary security credentials to access all the other accounts -// by assuming roles in those accounts. For more information about roles, see -// IAM Roles (Delegation and Federation) (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) -// in the IAM User Guide. -// -// For federation, you can, for example, grant single sign-on access to the -// AWS Management Console. If you already have an identity and authentication -// system in your corporate network, you don't have to recreate user identities -// in AWS in order to grant those user identities access to AWS. Instead, after -// a user has been authenticated, you call AssumeRole (and specify the role -// with the appropriate permissions) to get temporary security credentials for -// that user. With those temporary security credentials, you construct a sign-in -// URL that users can use to access the console. For more information, see Common -// Scenarios for Temporary Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html#sts-introduction) -// in the IAM User Guide. -// -// By default, the temporary security credentials created by AssumeRole last -// for one hour. However, you can use the optional DurationSeconds parameter -// to specify the duration of your session. You can provide a value from 900 -// seconds (15 minutes) up to the maximum session duration setting for the role. -// This setting can have a value from 1 hour to 12 hours. To learn how to view -// the maximum value for your role, see View the Maximum Session Duration Setting -// for a Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) -// in the IAM User Guide. The maximum session duration limit applies when you -// use the AssumeRole* API operations or the assume-role* CLI operations but -// does not apply when you use those operations to create a console URL. For -// more information, see Using IAM Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) -// in the IAM User Guide. -// -// The temporary security credentials created by AssumeRole can be used to make -// API calls to any AWS service with the following exception: you cannot call -// the STS service's GetFederationToken or GetSessionToken APIs. -// -// Optionally, you can pass an IAM access policy to this operation. If you choose -// not to pass a policy, the temporary security credentials that are returned -// by the operation have the permissions that are defined in the access policy -// of the role that is being assumed. If you pass a policy to this operation, -// the temporary security credentials that are returned by the operation have -// the permissions that are allowed by both the access policy of the role that -// is being assumed, and the policy that you pass. This gives you a way to further -// restrict the permissions for the resulting temporary security credentials. -// You cannot use the passed policy to grant permissions that are in excess -// of those allowed by the access policy of the role that is being assumed. -// For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, -// and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) -// in the IAM User Guide. -// -// To assume a role, your AWS account must be trusted by the role. The trust -// relationship is defined in the role's trust policy when the role is created. -// That trust policy states which accounts are allowed to delegate access to -// this account's role. -// -// The user who wants to access the role must also have permissions delegated -// from the role's administrator. If the user is in a different account than -// the role, then the user's administrator must attach a policy that allows -// the user to call AssumeRole on the ARN of the role in the other account. -// If the user is in the same account as the role, then you can either attach -// a policy to the user (identical to the previous different account user), -// or you can add the user as a principal directly in the role's trust policy. -// In this case, the trust policy acts as the only resource-based policy in -// IAM, and users in the same account as the role do not need explicit permission -// to assume the role. For more information about trust policies and resource-based -// policies, see IAM Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) -// in the IAM User Guide. -// -// Using MFA with AssumeRole -// -// You can optionally include multi-factor authentication (MFA) information -// when you call AssumeRole. This is useful for cross-account scenarios in which -// you want to make sure that the user who is assuming the role has been authenticated -// using an AWS MFA device. In that scenario, the trust policy of the role being -// assumed includes a condition that tests for MFA authentication; if the caller -// does not include valid MFA information, the request to assume the role is -// denied. The condition in a trust policy that tests for MFA authentication -// might look like the following example. -// -// "Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}} -// -// For more information, see Configuring MFA-Protected API Access (http://docs.aws.amazon.com/IAM/latest/UserGuide/MFAProtectedAPI.html) -// in the IAM User Guide guide. -// -// To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode -// parameters. The SerialNumber value identifies the user's hardware or virtual -// MFA device. The TokenCode is the time-based one-time password (TOTP) that -// the MFA devices produces. -// -// 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 Security Token Service's -// API operation AssumeRole for usage and error information. -// -// Returned Error Codes: -// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" -// The request was rejected because the policy document was malformed. The error -// message describes the specific error. -// -// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" -// The request was rejected because the policy document was too large. The error -// message describes how big the policy document is, in packed form, as a percentage -// of what the API allows. -// -// * ErrCodeRegionDisabledException "RegionDisabledException" -// STS is not activated in the requested region for the account that is being -// asked to generate credentials. The account administrator must use the IAM -// console to activate STS in that region. For more information, see Activating -// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) -// in the IAM User Guide. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole -func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) { - req, out := c.AssumeRoleRequest(input) - return out, req.Send() -} - -// AssumeRoleWithContext is the same as AssumeRole with the addition of -// the ability to pass a context and additional request options. -// -// See AssumeRole for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *STS) AssumeRoleWithContext(ctx aws.Context, input *AssumeRoleInput, opts ...request.Option) (*AssumeRoleOutput, error) { - req, out := c.AssumeRoleRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opAssumeRoleWithSAML = "AssumeRoleWithSAML" - -// AssumeRoleWithSAMLRequest generates a "aws/request.Request" representing the -// client's request for the AssumeRoleWithSAML operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See AssumeRoleWithSAML for more information on using the AssumeRoleWithSAML -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the AssumeRoleWithSAMLRequest method. -// req, resp := client.AssumeRoleWithSAMLRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML -func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *request.Request, output *AssumeRoleWithSAMLOutput) { - op := &request.Operation{ - Name: opAssumeRoleWithSAML, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &AssumeRoleWithSAMLInput{} - } - - output = &AssumeRoleWithSAMLOutput{} - req = c.newRequest(op, input, output) - return -} - -// AssumeRoleWithSAML API operation for AWS Security Token Service. -// -// Returns a set of temporary security credentials for users who have been authenticated -// via a SAML authentication response. This operation provides a mechanism for -// tying an enterprise identity store or directory to role-based AWS access -// without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML -// with the other APIs that produce temporary credentials, see Requesting Temporary -// Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) -// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) -// in the IAM User Guide. -// -// The temporary security credentials returned by this operation consist of -// an access key ID, a secret access key, and a security token. Applications -// can use these temporary security credentials to sign calls to AWS services. -// -// By default, the temporary security credentials created by AssumeRoleWithSAML -// last for one hour. However, you can use the optional DurationSeconds parameter -// to specify the duration of your session. Your role session lasts for the -// duration that you specify, or until the time specified in the SAML authentication -// response's SessionNotOnOrAfter value, whichever is shorter. You can provide -// a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session -// duration setting for the role. This setting can have a value from 1 hour -// to 12 hours. To learn how to view the maximum value for your role, see View -// the Maximum Session Duration Setting for a Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) -// in the IAM User Guide. The maximum session duration limit applies when you -// use the AssumeRole* API operations or the assume-role* CLI operations but -// does not apply when you use those operations to create a console URL. For -// more information, see Using IAM Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) -// in the IAM User Guide. -// -// The temporary security credentials created by AssumeRoleWithSAML can be used -// to make API calls to any AWS service with the following exception: you cannot -// call the STS service's GetFederationToken or GetSessionToken APIs. -// -// Optionally, you can pass an IAM access policy to this operation. If you choose -// not to pass a policy, the temporary security credentials that are returned -// by the operation have the permissions that are defined in the access policy -// of the role that is being assumed. If you pass a policy to this operation, -// the temporary security credentials that are returned by the operation have -// the permissions that are allowed by the intersection of both the access policy -// of the role that is being assumed, and the policy that you pass. This means -// that both policies must grant the permission for the action to be allowed. -// This gives you a way to further restrict the permissions for the resulting -// temporary security credentials. You cannot use the passed policy to grant -// permissions that are in excess of those allowed by the access policy of the -// role that is being assumed. For more information, see Permissions for AssumeRole, -// AssumeRoleWithSAML, and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) -// in the IAM User Guide. -// -// Before your application can call AssumeRoleWithSAML, you must configure your -// SAML identity provider (IdP) to issue the claims required by AWS. Additionally, -// you must use AWS Identity and Access Management (IAM) to create a SAML provider -// entity in your AWS account that represents your identity provider, and create -// an IAM role that specifies this SAML provider in its trust policy. -// -// Calling AssumeRoleWithSAML does not require the use of AWS security credentials. -// The identity of the caller is validated by using keys in the metadata document -// that is uploaded for the SAML provider entity for your identity provider. -// -// Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail -// logs. The entry includes the value in the NameID element of the SAML assertion. -// We recommend that you use a NameIDType that is not associated with any personally -// identifiable information (PII). For example, you could instead use the Persistent -// Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent). -// -// For more information, see the following resources: -// -// * About SAML 2.0-based Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html) -// in the IAM User Guide. -// -// * Creating SAML Identity Providers (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) -// in the IAM User Guide. -// -// * Configuring a Relying Party and Claims (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html) -// in the IAM User Guide. -// -// * Creating a Role for SAML 2.0 Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html) -// in the IAM 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 AWS Security Token Service's -// API operation AssumeRoleWithSAML for usage and error information. -// -// Returned Error Codes: -// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" -// The request was rejected because the policy document was malformed. The error -// message describes the specific error. -// -// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" -// The request was rejected because the policy document was too large. The error -// message describes how big the policy document is, in packed form, as a percentage -// of what the API allows. -// -// * ErrCodeIDPRejectedClaimException "IDPRejectedClaim" -// The identity provider (IdP) reported that authentication failed. This might -// be because the claim is invalid. -// -// If this error is returned for the AssumeRoleWithWebIdentity operation, it -// can also mean that the claim has expired or has been explicitly revoked. -// -// * ErrCodeInvalidIdentityTokenException "InvalidIdentityToken" -// The web identity token that was passed could not be validated by AWS. Get -// a new identity token from the identity provider and then retry the request. -// -// * ErrCodeExpiredTokenException "ExpiredTokenException" -// The web identity token that was passed is expired or is not valid. Get a -// new identity token from the identity provider and then retry the request. -// -// * ErrCodeRegionDisabledException "RegionDisabledException" -// STS is not activated in the requested region for the account that is being -// asked to generate credentials. The account administrator must use the IAM -// console to activate STS in that region. For more information, see Activating -// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) -// in the IAM User Guide. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML -func (c *STS) AssumeRoleWithSAML(input *AssumeRoleWithSAMLInput) (*AssumeRoleWithSAMLOutput, error) { - req, out := c.AssumeRoleWithSAMLRequest(input) - return out, req.Send() -} - -// AssumeRoleWithSAMLWithContext is the same as AssumeRoleWithSAML with the addition of -// the ability to pass a context and additional request options. -// -// See AssumeRoleWithSAML for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *STS) AssumeRoleWithSAMLWithContext(ctx aws.Context, input *AssumeRoleWithSAMLInput, opts ...request.Option) (*AssumeRoleWithSAMLOutput, error) { - req, out := c.AssumeRoleWithSAMLRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opAssumeRoleWithWebIdentity = "AssumeRoleWithWebIdentity" - -// AssumeRoleWithWebIdentityRequest generates a "aws/request.Request" representing the -// client's request for the AssumeRoleWithWebIdentity operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See AssumeRoleWithWebIdentity for more information on using the AssumeRoleWithWebIdentity -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the AssumeRoleWithWebIdentityRequest method. -// req, resp := client.AssumeRoleWithWebIdentityRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity -func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityInput) (req *request.Request, output *AssumeRoleWithWebIdentityOutput) { - op := &request.Operation{ - Name: opAssumeRoleWithWebIdentity, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &AssumeRoleWithWebIdentityInput{} - } - - output = &AssumeRoleWithWebIdentityOutput{} - req = c.newRequest(op, input, output) - return -} - -// AssumeRoleWithWebIdentity API operation for AWS Security Token Service. -// -// Returns a set of temporary security credentials for users who have been authenticated -// in a mobile or web application with a web identity provider, such as Amazon -// Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible -// identity provider. -// -// For mobile applications, we recommend that you use Amazon Cognito. You can -// use Amazon Cognito with the AWS SDK for iOS (http://aws.amazon.com/sdkforios/) -// and the AWS SDK for Android (http://aws.amazon.com/sdkforandroid/) to uniquely -// identify a user and supply the user with a consistent identity throughout -// the lifetime of an application. -// -// To learn more about Amazon Cognito, see Amazon Cognito Overview (http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/cognito-auth.html#d0e840) -// in the AWS SDK for Android Developer Guide guide and Amazon Cognito Overview -// (http://docs.aws.amazon.com/mobile/sdkforios/developerguide/cognito-auth.html#d0e664) -// in the AWS SDK for iOS Developer Guide. -// -// Calling AssumeRoleWithWebIdentity does not require the use of AWS security -// credentials. Therefore, you can distribute an application (for example, on -// mobile devices) that requests temporary security credentials without including -// long-term AWS credentials in the application, and without deploying server-based -// proxy services that use long-term AWS credentials. Instead, the identity -// of the caller is validated by using a token from the web identity provider. -// For a comparison of AssumeRoleWithWebIdentity with the other APIs that produce -// temporary credentials, see Requesting Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) -// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) -// in the IAM User Guide. -// -// The temporary security credentials returned by this API consist of an access -// key ID, a secret access key, and a security token. Applications can use these -// temporary security credentials to sign calls to AWS service APIs. -// -// By default, the temporary security credentials created by AssumeRoleWithWebIdentity -// last for one hour. However, you can use the optional DurationSeconds parameter -// to specify the duration of your session. You can provide a value from 900 -// seconds (15 minutes) up to the maximum session duration setting for the role. -// This setting can have a value from 1 hour to 12 hours. To learn how to view -// the maximum value for your role, see View the Maximum Session Duration Setting -// for a Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) -// in the IAM User Guide. The maximum session duration limit applies when you -// use the AssumeRole* API operations or the assume-role* CLI operations but -// does not apply when you use those operations to create a console URL. For -// more information, see Using IAM Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) -// in the IAM User Guide. -// -// The temporary security credentials created by AssumeRoleWithWebIdentity can -// be used to make API calls to any AWS service with the following exception: -// you cannot call the STS service's GetFederationToken or GetSessionToken APIs. -// -// Optionally, you can pass an IAM access policy to this operation. If you choose -// not to pass a policy, the temporary security credentials that are returned -// by the operation have the permissions that are defined in the access policy -// of the role that is being assumed. If you pass a policy to this operation, -// the temporary security credentials that are returned by the operation have -// the permissions that are allowed by both the access policy of the role that -// is being assumed, and the policy that you pass. This gives you a way to further -// restrict the permissions for the resulting temporary security credentials. -// You cannot use the passed policy to grant permissions that are in excess -// of those allowed by the access policy of the role that is being assumed. -// For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, -// and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) -// in the IAM User Guide. -// -// Before your application can call AssumeRoleWithWebIdentity, you must have -// an identity token from a supported identity provider and create a role that -// the application can assume. The role that your application assumes must trust -// the identity provider that is associated with the identity token. In other -// words, the identity provider must be specified in the role's trust policy. -// -// Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail -// logs. The entry includes the Subject (http://openid.net/specs/openid-connect-core-1_0.html#Claims) -// of the provided Web Identity Token. We recommend that you avoid using any -// personally identifiable information (PII) in this field. For example, you -// could instead use a GUID or a pairwise identifier, as suggested in the OIDC -// specification (http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes). -// -// For more information about how to use web identity federation and the AssumeRoleWithWebIdentity -// API, see the following resources: -// -// * Using Web Identity Federation APIs for Mobile Apps (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html) -// and Federation Through a Web-based Identity Provider (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity). -// -// -// * Web Identity Federation Playground (https://web-identity-federation-playground.s3.amazonaws.com/index.html). -// This interactive website lets you walk through the process of authenticating -// via Login with Amazon, Facebook, or Google, getting temporary security -// credentials, and then using those credentials to make a request to AWS. -// -// -// * AWS SDK for iOS (http://aws.amazon.com/sdkforios/) and AWS SDK for Android -// (http://aws.amazon.com/sdkforandroid/). These toolkits contain sample -// apps that show how to invoke the identity providers, and then how to use -// the information from these providers to get and use temporary security -// credentials. -// -// * Web Identity Federation with Mobile Applications (http://aws.amazon.com/articles/web-identity-federation-with-mobile-applications). -// This article discusses web identity federation and shows an example of -// how to use web identity federation to get access to content in Amazon -// S3. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for AWS Security Token Service's -// API operation AssumeRoleWithWebIdentity for usage and error information. -// -// Returned Error Codes: -// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" -// The request was rejected because the policy document was malformed. The error -// message describes the specific error. -// -// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" -// The request was rejected because the policy document was too large. The error -// message describes how big the policy document is, in packed form, as a percentage -// of what the API allows. -// -// * ErrCodeIDPRejectedClaimException "IDPRejectedClaim" -// The identity provider (IdP) reported that authentication failed. This might -// be because the claim is invalid. -// -// If this error is returned for the AssumeRoleWithWebIdentity operation, it -// can also mean that the claim has expired or has been explicitly revoked. -// -// * ErrCodeIDPCommunicationErrorException "IDPCommunicationError" -// The request could not be fulfilled because the non-AWS identity provider -// (IDP) that was asked to verify the incoming identity token could not be reached. -// This is often a transient error caused by network conditions. Retry the request -// a limited number of times so that you don't exceed the request rate. If the -// error persists, the non-AWS identity provider might be down or not responding. -// -// * ErrCodeInvalidIdentityTokenException "InvalidIdentityToken" -// The web identity token that was passed could not be validated by AWS. Get -// a new identity token from the identity provider and then retry the request. -// -// * ErrCodeExpiredTokenException "ExpiredTokenException" -// The web identity token that was passed is expired or is not valid. Get a -// new identity token from the identity provider and then retry the request. -// -// * ErrCodeRegionDisabledException "RegionDisabledException" -// STS is not activated in the requested region for the account that is being -// asked to generate credentials. The account administrator must use the IAM -// console to activate STS in that region. For more information, see Activating -// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) -// in the IAM User Guide. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity -func (c *STS) AssumeRoleWithWebIdentity(input *AssumeRoleWithWebIdentityInput) (*AssumeRoleWithWebIdentityOutput, error) { - req, out := c.AssumeRoleWithWebIdentityRequest(input) - return out, req.Send() -} - -// AssumeRoleWithWebIdentityWithContext is the same as AssumeRoleWithWebIdentity with the addition of -// the ability to pass a context and additional request options. -// -// See AssumeRoleWithWebIdentity for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *STS) AssumeRoleWithWebIdentityWithContext(ctx aws.Context, input *AssumeRoleWithWebIdentityInput, opts ...request.Option) (*AssumeRoleWithWebIdentityOutput, error) { - req, out := c.AssumeRoleWithWebIdentityRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opDecodeAuthorizationMessage = "DecodeAuthorizationMessage" - -// DecodeAuthorizationMessageRequest generates a "aws/request.Request" representing the -// client's request for the DecodeAuthorizationMessage operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See DecodeAuthorizationMessage for more information on using the DecodeAuthorizationMessage -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the DecodeAuthorizationMessageRequest method. -// req, resp := client.DecodeAuthorizationMessageRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage -func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessageInput) (req *request.Request, output *DecodeAuthorizationMessageOutput) { - op := &request.Operation{ - Name: opDecodeAuthorizationMessage, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &DecodeAuthorizationMessageInput{} - } - - output = &DecodeAuthorizationMessageOutput{} - req = c.newRequest(op, input, output) - return -} - -// DecodeAuthorizationMessage API operation for AWS Security Token Service. -// -// Decodes additional information about the authorization status of a request -// from an encoded message returned in response to an AWS request. -// -// For example, if a user is not authorized to perform an action that he or -// she has requested, the request returns a Client.UnauthorizedOperation response -// (an HTTP 403 response). Some AWS actions additionally return an encoded message -// that can provide details about this authorization failure. -// -// Only certain AWS actions return an encoded authorization message. The documentation -// for an individual action indicates whether that action returns an encoded -// message in addition to returning an HTTP code. -// -// The message is encoded because the details of the authorization status can -// constitute privileged information that the user who requested the action -// should not see. To decode an authorization status message, a user must be -// granted permissions via an IAM policy to request the DecodeAuthorizationMessage -// (sts:DecodeAuthorizationMessage) action. -// -// The decoded message includes the following type of information: -// -// * Whether the request was denied due to an explicit deny or due to the -// absence of an explicit allow. For more information, see Determining Whether -// a Request is Allowed or Denied (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow) -// in the IAM User Guide. -// -// * The principal who made the request. -// -// * The requested action. -// -// * The requested resource. -// -// * The values of condition keys in the context of the user's 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 AWS Security Token Service's -// API operation DecodeAuthorizationMessage for usage and error information. -// -// Returned Error Codes: -// * ErrCodeInvalidAuthorizationMessageException "InvalidAuthorizationMessageException" -// The error returned if the message passed to DecodeAuthorizationMessage was -// invalid. This can happen if the token contains invalid characters, such as -// linebreaks. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage -func (c *STS) DecodeAuthorizationMessage(input *DecodeAuthorizationMessageInput) (*DecodeAuthorizationMessageOutput, error) { - req, out := c.DecodeAuthorizationMessageRequest(input) - return out, req.Send() -} - -// DecodeAuthorizationMessageWithContext is the same as DecodeAuthorizationMessage with the addition of -// the ability to pass a context and additional request options. -// -// See DecodeAuthorizationMessage for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *STS) DecodeAuthorizationMessageWithContext(ctx aws.Context, input *DecodeAuthorizationMessageInput, opts ...request.Option) (*DecodeAuthorizationMessageOutput, error) { - req, out := c.DecodeAuthorizationMessageRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetCallerIdentity = "GetCallerIdentity" - -// GetCallerIdentityRequest generates a "aws/request.Request" representing the -// client's request for the GetCallerIdentity operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetCallerIdentity for more information on using the GetCallerIdentity -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetCallerIdentityRequest method. -// req, resp := client.GetCallerIdentityRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity -func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *request.Request, output *GetCallerIdentityOutput) { - op := &request.Operation{ - Name: opGetCallerIdentity, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetCallerIdentityInput{} - } - - output = &GetCallerIdentityOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetCallerIdentity API operation for AWS Security Token Service. -// -// Returns details about the IAM identity whose credentials are used to call -// the API. -// -// 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 Security Token Service's -// API operation GetCallerIdentity for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity -func (c *STS) GetCallerIdentity(input *GetCallerIdentityInput) (*GetCallerIdentityOutput, error) { - req, out := c.GetCallerIdentityRequest(input) - return out, req.Send() -} - -// GetCallerIdentityWithContext is the same as GetCallerIdentity with the addition of -// the ability to pass a context and additional request options. -// -// See GetCallerIdentity for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *STS) GetCallerIdentityWithContext(ctx aws.Context, input *GetCallerIdentityInput, opts ...request.Option) (*GetCallerIdentityOutput, error) { - req, out := c.GetCallerIdentityRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetFederationToken = "GetFederationToken" - -// GetFederationTokenRequest generates a "aws/request.Request" representing the -// client's request for the GetFederationToken operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetFederationToken for more information on using the GetFederationToken -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetFederationTokenRequest method. -// req, resp := client.GetFederationTokenRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken -func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *request.Request, output *GetFederationTokenOutput) { - op := &request.Operation{ - Name: opGetFederationToken, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetFederationTokenInput{} - } - - output = &GetFederationTokenOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetFederationToken API operation for AWS Security Token Service. -// -// Returns a set of temporary security credentials (consisting of an access -// key ID, a secret access key, and a security token) for a federated user. -// A typical use is in a proxy application that gets temporary security credentials -// on behalf of distributed applications inside a corporate network. Because -// you must call the GetFederationToken action using the long-term security -// credentials of an IAM user, this call is appropriate in contexts where those -// credentials can be safely stored, usually in a server-based application. -// For a comparison of GetFederationToken with the other APIs that produce temporary -// credentials, see Requesting Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) -// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) -// in the IAM User Guide. -// -// If you are creating a mobile-based or browser-based app that can authenticate -// users using a web identity provider like Login with Amazon, Facebook, Google, -// or an OpenID Connect-compatible identity provider, we recommend that you -// use Amazon Cognito (http://aws.amazon.com/cognito/) or AssumeRoleWithWebIdentity. -// For more information, see Federation Through a Web-based Identity Provider -// (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity). -// -// The GetFederationToken action must be called by using the long-term AWS security -// credentials of an IAM user. You can also call GetFederationToken using the -// security credentials of an AWS root account, but we do not recommended it. -// Instead, we recommend that you create an IAM user for the purpose of the -// proxy application and then attach a policy to the IAM user that limits federated -// users to only the actions and resources that they need access to. For more -// information, see IAM Best Practices (http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) -// in the IAM User Guide. -// -// The temporary security credentials that are obtained by using the long-term -// credentials of an IAM user are valid for the specified duration, from 900 -// seconds (15 minutes) up to a maximium of 129600 seconds (36 hours). The default -// is 43200 seconds (12 hours). Temporary credentials that are obtained by using -// AWS root account credentials have a maximum duration of 3600 seconds (1 hour). -// -// The temporary security credentials created by GetFederationToken can be used -// to make API calls to any AWS service with the following exceptions: -// -// * You cannot use these credentials to call any IAM APIs. -// -// * You cannot call any STS APIs except GetCallerIdentity. -// -// Permissions -// -// The permissions for the temporary security credentials returned by GetFederationToken -// are determined by a combination of the following: -// -// * The policy or policies that are attached to the IAM user whose credentials -// are used to call GetFederationToken. -// -// * The policy that is passed as a parameter in the call. -// -// The passed policy is attached to the temporary security credentials that -// result from the GetFederationToken API call--that is, to the federated user. -// When the federated user makes an AWS request, AWS evaluates the policy attached -// to the federated user in combination with the policy or policies attached -// to the IAM user whose credentials were used to call GetFederationToken. AWS -// allows the federated user's request only when both the federated user and -// the IAM user are explicitly allowed to perform the requested action. The -// passed policy cannot grant more permissions than those that are defined in -// the IAM user policy. -// -// A typical use case is that the permissions of the IAM user whose credentials -// are used to call GetFederationToken are designed to allow access to all the -// actions and resources that any federated user will need. Then, for individual -// users, you pass a policy to the operation that scopes down the permissions -// to a level that's appropriate to that individual user, using a policy that -// allows only a subset of permissions that are granted to the IAM user. -// -// If you do not pass a policy, the resulting temporary security credentials -// have no effective permissions. The only exception is when the temporary security -// credentials are used to access a resource that has a resource-based policy -// that specifically allows the federated user to access the resource. -// -// For more information about how permissions work, see Permissions for GetFederationToken -// (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html). -// For information about using GetFederationToken to create temporary security -// credentials, see GetFederationToken—Federation Through a Custom Identity -// Broker (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken). -// -// 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 Security Token Service's -// API operation GetFederationToken for usage and error information. -// -// Returned Error Codes: -// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" -// The request was rejected because the policy document was malformed. The error -// message describes the specific error. -// -// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" -// The request was rejected because the policy document was too large. The error -// message describes how big the policy document is, in packed form, as a percentage -// of what the API allows. -// -// * ErrCodeRegionDisabledException "RegionDisabledException" -// STS is not activated in the requested region for the account that is being -// asked to generate credentials. The account administrator must use the IAM -// console to activate STS in that region. For more information, see Activating -// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) -// in the IAM User Guide. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken -func (c *STS) GetFederationToken(input *GetFederationTokenInput) (*GetFederationTokenOutput, error) { - req, out := c.GetFederationTokenRequest(input) - return out, req.Send() -} - -// GetFederationTokenWithContext is the same as GetFederationToken with the addition of -// the ability to pass a context and additional request options. -// -// See GetFederationToken for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *STS) GetFederationTokenWithContext(ctx aws.Context, input *GetFederationTokenInput, opts ...request.Option) (*GetFederationTokenOutput, error) { - req, out := c.GetFederationTokenRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -const opGetSessionToken = "GetSessionToken" - -// GetSessionTokenRequest generates a "aws/request.Request" representing the -// client's request for the GetSessionToken operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See GetSessionToken for more information on using the GetSessionToken -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the GetSessionTokenRequest method. -// req, resp := client.GetSessionTokenRequest(params) -// -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken -func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.Request, output *GetSessionTokenOutput) { - op := &request.Operation{ - Name: opGetSessionToken, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &GetSessionTokenInput{} - } - - output = &GetSessionTokenOutput{} - req = c.newRequest(op, input, output) - return -} - -// GetSessionToken API operation for AWS Security Token Service. -// -// Returns a set of temporary credentials for an AWS account or IAM user. The -// credentials consist of an access key ID, a secret access key, and a security -// token. Typically, you use GetSessionToken if you want to use MFA to protect -// programmatic calls to specific AWS APIs like Amazon EC2 StopInstances. MFA-enabled -// IAM users would need to call GetSessionToken and submit an MFA code that -// is associated with their MFA device. Using the temporary security credentials -// that are returned from the call, IAM users can then make programmatic calls -// to APIs that require MFA authentication. If you do not supply a correct MFA -// code, then the API returns an access denied error. For a comparison of GetSessionToken -// with the other APIs that produce temporary credentials, see Requesting Temporary -// Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) -// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) -// in the IAM User Guide. -// -// The GetSessionToken action must be called by using the long-term AWS security -// credentials of the AWS account or an IAM user. Credentials that are created -// by IAM users are valid for the duration that you specify, from 900 seconds -// (15 minutes) up to a maximum of 129600 seconds (36 hours), with a default -// of 43200 seconds (12 hours); credentials that are created by using account -// credentials can range from 900 seconds (15 minutes) up to a maximum of 3600 -// seconds (1 hour), with a default of 1 hour. -// -// The temporary security credentials created by GetSessionToken can be used -// to make API calls to any AWS service with the following exceptions: -// -// * You cannot call any IAM APIs unless MFA authentication information is -// included in the request. -// -// * You cannot call any STS API exceptAssumeRole or GetCallerIdentity. -// -// We recommend that you do not call GetSessionToken with root account credentials. -// Instead, follow our best practices (http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users) -// by creating one or more IAM users, giving them the necessary permissions, -// and using IAM users for everyday interaction with AWS. -// -// The permissions associated with the temporary security credentials returned -// by GetSessionToken are based on the permissions associated with account or -// IAM user whose credentials are used to call the action. If GetSessionToken -// is called using root account credentials, the temporary credentials have -// root account permissions. Similarly, if GetSessionToken is called using the -// credentials of an IAM user, the temporary credentials have the same permissions -// as the IAM user. -// -// For more information about using GetSessionToken to create temporary credentials, -// go to Temporary Credentials for Users in Untrusted Environments (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken) -// in the IAM 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 AWS Security Token Service's -// API operation GetSessionToken for usage and error information. -// -// Returned Error Codes: -// * ErrCodeRegionDisabledException "RegionDisabledException" -// STS is not activated in the requested region for the account that is being -// asked to generate credentials. The account administrator must use the IAM -// console to activate STS in that region. For more information, see Activating -// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) -// in the IAM User Guide. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken -func (c *STS) GetSessionToken(input *GetSessionTokenInput) (*GetSessionTokenOutput, error) { - req, out := c.GetSessionTokenRequest(input) - return out, req.Send() -} - -// GetSessionTokenWithContext is the same as GetSessionToken with the addition of -// the ability to pass a context and additional request options. -// -// See GetSessionToken for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *STS) GetSessionTokenWithContext(ctx aws.Context, input *GetSessionTokenInput, opts ...request.Option) (*GetSessionTokenOutput, error) { - req, out := c.GetSessionTokenRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -type AssumeRoleInput struct { - _ struct{} `type:"structure"` - - // The duration, in seconds, of the role session. The value can range from 900 - // seconds (15 minutes) up to the maximum session duration setting for the role. - // This setting can have a value from 1 hour to 12 hours. If you specify a value - // higher than this setting, the operation fails. For example, if you specify - // a session duration of 12 hours, but your administrator set the maximum session - // duration to 6 hours, your operation fails. To learn how to view the maximum - // value for your role, see View the Maximum Session Duration Setting for a - // Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) - // in the IAM User Guide. - // - // By default, the value is set to 3600 seconds. - // - // The DurationSeconds parameter is separate from the duration of a console - // session that you might request using the returned credentials. The request - // to the federation endpoint for a console sign-in token takes a SessionDuration - // parameter that specifies the maximum length of the console session. For more - // information, see Creating a URL that Enables Federated Users to Access the - // AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) - // in the IAM User Guide. - DurationSeconds *int64 `min:"900" type:"integer"` - - // A unique identifier that is used by third parties when assuming roles in - // their customers' accounts. For each role that the third party can assume, - // they should instruct their customers to ensure the role's trust policy checks - // for the external ID that the third party generated. Each time the third party - // assumes the role, they should pass the customer's external ID. The external - // ID is useful in order to help third parties bind a role to the customer who - // created it. For more information about the external ID, see How to Use an - // External ID When Granting Access to Your AWS Resources to a Third Party (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) - // in the IAM User Guide. - // - // The regex used to validated this parameter is a string of characters consisting - // of upper- and lower-case alphanumeric characters with no spaces. You can - // also include underscores or any of the following characters: =,.@:/- - ExternalId *string `min:"2" type:"string"` - - // An IAM policy in JSON format. - // - // This parameter is optional. If you pass a policy, the temporary security - // credentials that are returned by the operation have the permissions that - // are allowed by both (the intersection of) the access policy of the role that - // is being assumed, and the policy that you pass. This gives you a way to further - // restrict the permissions for the resulting temporary security credentials. - // You cannot use the passed policy to grant permissions that are in excess - // of those allowed by the access policy of the role that is being assumed. - // For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, - // and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) - // in the IAM User Guide. - // - // The format for this parameter, as described by its regex pattern, is a string - // of characters up to 2048 characters in length. The characters can be any - // ASCII character from the space character to the end of the valid character - // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), - // and carriage return (\u000D) characters. - // - // The policy plain text must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, with 100% equaling the maximum allowed - // size. - Policy *string `min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the role to assume. - // - // RoleArn is a required field - RoleArn *string `min:"20" type:"string" required:"true"` - - // An identifier for the assumed role session. - // - // Use the role session name to uniquely identify a session when the same role - // is assumed by different principals or for different reasons. In cross-account - // scenarios, the role session name is visible to, and can be logged by the - // account that owns the role. The role session name is also used in the ARN - // of the assumed role principal. This means that subsequent cross-account API - // requests using the temporary security credentials will expose the role session - // name to the external account in their CloudTrail logs. - // - // The regex used to validate this parameter is a string of characters consisting - // of upper- and lower-case alphanumeric characters with no spaces. You can - // also include underscores or any of the following characters: =,.@- - // - // RoleSessionName is a required field - RoleSessionName *string `min:"2" type:"string" required:"true"` - - // The identification number of the MFA device that is associated with the user - // who is making the AssumeRole call. Specify this value if the trust policy - // of the role being assumed includes a condition that requires MFA authentication. - // The value is either the serial number for a hardware device (such as GAHT12345678) - // or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). - // - // The regex used to validate this parameter is a string of characters consisting - // of upper- and lower-case alphanumeric characters with no spaces. You can - // also include underscores or any of the following characters: =,.@- - SerialNumber *string `min:"9" type:"string"` - - // The value provided by the MFA device, if the trust policy of the role being - // assumed requires MFA (that is, if the policy includes a condition that tests - // for MFA). If the role being assumed requires MFA and if the TokenCode value - // is missing or expired, the AssumeRole call returns an "access denied" error. - // - // The format for this parameter, as described by its regex pattern, is a sequence - // of six numeric digits. - TokenCode *string `min:"6" type:"string"` -} - -// String returns the string representation -func (s AssumeRoleInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssumeRoleInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssumeRoleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssumeRoleInput"} - if s.DurationSeconds != nil && *s.DurationSeconds < 900 { - invalidParams.Add(request.NewErrParamMinValue("DurationSeconds", 900)) - } - if s.ExternalId != nil && len(*s.ExternalId) < 2 { - invalidParams.Add(request.NewErrParamMinLen("ExternalId", 2)) - } - if s.Policy != nil && len(*s.Policy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) - } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) - } - if s.RoleArn != nil && len(*s.RoleArn) < 20 { - invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) - } - if s.RoleSessionName == nil { - invalidParams.Add(request.NewErrParamRequired("RoleSessionName")) - } - if s.RoleSessionName != nil && len(*s.RoleSessionName) < 2 { - invalidParams.Add(request.NewErrParamMinLen("RoleSessionName", 2)) - } - if s.SerialNumber != nil && len(*s.SerialNumber) < 9 { - invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9)) - } - if s.TokenCode != nil && len(*s.TokenCode) < 6 { - invalidParams.Add(request.NewErrParamMinLen("TokenCode", 6)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDurationSeconds sets the DurationSeconds field's value. -func (s *AssumeRoleInput) SetDurationSeconds(v int64) *AssumeRoleInput { - s.DurationSeconds = &v - return s -} - -// SetExternalId sets the ExternalId field's value. -func (s *AssumeRoleInput) SetExternalId(v string) *AssumeRoleInput { - s.ExternalId = &v - return s -} - -// SetPolicy sets the Policy field's value. -func (s *AssumeRoleInput) SetPolicy(v string) *AssumeRoleInput { - s.Policy = &v - return s -} - -// SetRoleArn sets the RoleArn field's value. -func (s *AssumeRoleInput) SetRoleArn(v string) *AssumeRoleInput { - s.RoleArn = &v - return s -} - -// SetRoleSessionName sets the RoleSessionName field's value. -func (s *AssumeRoleInput) SetRoleSessionName(v string) *AssumeRoleInput { - s.RoleSessionName = &v - return s -} - -// SetSerialNumber sets the SerialNumber field's value. -func (s *AssumeRoleInput) SetSerialNumber(v string) *AssumeRoleInput { - s.SerialNumber = &v - return s -} - -// SetTokenCode sets the TokenCode field's value. -func (s *AssumeRoleInput) SetTokenCode(v string) *AssumeRoleInput { - s.TokenCode = &v - return s -} - -// Contains the response to a successful AssumeRole request, including temporary -// AWS credentials that can be used to make AWS requests. -type AssumeRoleOutput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers - // that you can use to refer to the resulting temporary security credentials. - // For example, you can reference these credentials as a principal in a resource-based - // policy by using the ARN or assumed role ID. The ARN and ID include the RoleSessionName - // that you specified when you called AssumeRole. - AssumedRoleUser *AssumedRoleUser `type:"structure"` - - // The temporary security credentials, which include an access key ID, a secret - // access key, and a security (or session) token. - // - // Note: The size of the security token that STS APIs return is not fixed. We - // strongly recommend that you make no assumptions about the maximum size. As - // of this writing, the typical size is less than 4096 bytes, but that can vary. - // Also, future updates to AWS might require larger sizes. - Credentials *Credentials `type:"structure"` - - // A percentage value that indicates the size of the policy in packed form. - // The service rejects any policy with a packed size greater than 100 percent, - // which means the policy exceeded the allowed space. - PackedPolicySize *int64 `type:"integer"` -} - -// String returns the string representation -func (s AssumeRoleOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssumeRoleOutput) GoString() string { - return s.String() -} - -// SetAssumedRoleUser sets the AssumedRoleUser field's value. -func (s *AssumeRoleOutput) SetAssumedRoleUser(v *AssumedRoleUser) *AssumeRoleOutput { - s.AssumedRoleUser = v - return s -} - -// SetCredentials sets the Credentials field's value. -func (s *AssumeRoleOutput) SetCredentials(v *Credentials) *AssumeRoleOutput { - s.Credentials = v - return s -} - -// SetPackedPolicySize sets the PackedPolicySize field's value. -func (s *AssumeRoleOutput) SetPackedPolicySize(v int64) *AssumeRoleOutput { - s.PackedPolicySize = &v - return s -} - -type AssumeRoleWithSAMLInput struct { - _ struct{} `type:"structure"` - - // The duration, in seconds, of the role session. Your role session lasts for - // the duration that you specify for the DurationSeconds parameter, or until - // the time specified in the SAML authentication response's SessionNotOnOrAfter - // value, whichever is shorter. You can provide a DurationSeconds value from - // 900 seconds (15 minutes) up to the maximum session duration setting for the - // role. This setting can have a value from 1 hour to 12 hours. If you specify - // a value higher than this setting, the operation fails. For example, if you - // specify a session duration of 12 hours, but your administrator set the maximum - // session duration to 6 hours, your operation fails. To learn how to view the - // maximum value for your role, see View the Maximum Session Duration Setting - // for a Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) - // in the IAM User Guide. - // - // By default, the value is set to 3600 seconds. - // - // The DurationSeconds parameter is separate from the duration of a console - // session that you might request using the returned credentials. The request - // to the federation endpoint for a console sign-in token takes a SessionDuration - // parameter that specifies the maximum length of the console session. For more - // information, see Creating a URL that Enables Federated Users to Access the - // AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) - // in the IAM User Guide. - DurationSeconds *int64 `min:"900" type:"integer"` - - // An IAM policy in JSON format. - // - // The policy parameter is optional. If you pass a policy, the temporary security - // credentials that are returned by the operation have the permissions that - // are allowed by both the access policy of the role that is being assumed, - // and the policy that you pass. This gives you a way to further restrict the - // permissions for the resulting temporary security credentials. You cannot - // use the passed policy to grant permissions that are in excess of those allowed - // by the access policy of the role that is being assumed. For more information, - // Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity - // (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) - // in the IAM User Guide. - // - // The format for this parameter, as described by its regex pattern, is a string - // of characters up to 2048 characters in length. The characters can be any - // ASCII character from the space character to the end of the valid character - // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), - // and carriage return (\u000D) characters. - // - // The policy plain text must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, with 100% equaling the maximum allowed - // size. - Policy *string `min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the SAML provider in IAM that describes - // the IdP. - // - // PrincipalArn is a required field - PrincipalArn *string `min:"20" type:"string" required:"true"` - - // The Amazon Resource Name (ARN) of the role that the caller is assuming. - // - // RoleArn is a required field - RoleArn *string `min:"20" type:"string" required:"true"` - - // The base-64 encoded SAML authentication response provided by the IdP. - // - // For more information, see Configuring a Relying Party and Adding Claims (http://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html) - // in the Using IAM guide. - // - // SAMLAssertion is a required field - SAMLAssertion *string `min:"4" type:"string" required:"true"` -} - -// String returns the string representation -func (s AssumeRoleWithSAMLInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssumeRoleWithSAMLInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssumeRoleWithSAMLInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssumeRoleWithSAMLInput"} - if s.DurationSeconds != nil && *s.DurationSeconds < 900 { - invalidParams.Add(request.NewErrParamMinValue("DurationSeconds", 900)) - } - if s.Policy != nil && len(*s.Policy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) - } - if s.PrincipalArn == nil { - invalidParams.Add(request.NewErrParamRequired("PrincipalArn")) - } - if s.PrincipalArn != nil && len(*s.PrincipalArn) < 20 { - invalidParams.Add(request.NewErrParamMinLen("PrincipalArn", 20)) - } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) - } - if s.RoleArn != nil && len(*s.RoleArn) < 20 { - invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) - } - if s.SAMLAssertion == nil { - invalidParams.Add(request.NewErrParamRequired("SAMLAssertion")) - } - if s.SAMLAssertion != nil && len(*s.SAMLAssertion) < 4 { - invalidParams.Add(request.NewErrParamMinLen("SAMLAssertion", 4)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDurationSeconds sets the DurationSeconds field's value. -func (s *AssumeRoleWithSAMLInput) SetDurationSeconds(v int64) *AssumeRoleWithSAMLInput { - s.DurationSeconds = &v - return s -} - -// SetPolicy sets the Policy field's value. -func (s *AssumeRoleWithSAMLInput) SetPolicy(v string) *AssumeRoleWithSAMLInput { - s.Policy = &v - return s -} - -// SetPrincipalArn sets the PrincipalArn field's value. -func (s *AssumeRoleWithSAMLInput) SetPrincipalArn(v string) *AssumeRoleWithSAMLInput { - s.PrincipalArn = &v - return s -} - -// SetRoleArn sets the RoleArn field's value. -func (s *AssumeRoleWithSAMLInput) SetRoleArn(v string) *AssumeRoleWithSAMLInput { - s.RoleArn = &v - return s -} - -// SetSAMLAssertion sets the SAMLAssertion field's value. -func (s *AssumeRoleWithSAMLInput) SetSAMLAssertion(v string) *AssumeRoleWithSAMLInput { - s.SAMLAssertion = &v - return s -} - -// Contains the response to a successful AssumeRoleWithSAML request, including -// temporary AWS credentials that can be used to make AWS requests. -type AssumeRoleWithSAMLOutput struct { - _ struct{} `type:"structure"` - - // The identifiers for the temporary security credentials that the operation - // returns. - AssumedRoleUser *AssumedRoleUser `type:"structure"` - - // The value of the Recipient attribute of the SubjectConfirmationData element - // of the SAML assertion. - Audience *string `type:"string"` - - // The temporary security credentials, which include an access key ID, a secret - // access key, and a security (or session) token. - // - // Note: The size of the security token that STS APIs return is not fixed. We - // strongly recommend that you make no assumptions about the maximum size. As - // of this writing, the typical size is less than 4096 bytes, but that can vary. - // Also, future updates to AWS might require larger sizes. - Credentials *Credentials `type:"structure"` - - // The value of the Issuer element of the SAML assertion. - Issuer *string `type:"string"` - - // A hash value based on the concatenation of the Issuer response value, the - // AWS account ID, and the friendly name (the last part of the ARN) of the SAML - // provider in IAM. The combination of NameQualifier and Subject can be used - // to uniquely identify a federated user. - // - // The following pseudocode shows how the hash value is calculated: - // - // BASE64 ( SHA1 ( "https://example.com/saml" + "123456789012" + "/MySAMLIdP" - // ) ) - NameQualifier *string `type:"string"` - - // A percentage value that indicates the size of the policy in packed form. - // The service rejects any policy with a packed size greater than 100 percent, - // which means the policy exceeded the allowed space. - PackedPolicySize *int64 `type:"integer"` - - // The value of the NameID element in the Subject element of the SAML assertion. - Subject *string `type:"string"` - - // The format of the name ID, as defined by the Format attribute in the NameID - // element of the SAML assertion. Typical examples of the format are transient - // or persistent. - // - // If the format includes the prefix urn:oasis:names:tc:SAML:2.0:nameid-format, - // that prefix is removed. For example, urn:oasis:names:tc:SAML:2.0:nameid-format:transient - // is returned as transient. If the format includes any other prefix, the format - // is returned with no modifications. - SubjectType *string `type:"string"` -} - -// String returns the string representation -func (s AssumeRoleWithSAMLOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssumeRoleWithSAMLOutput) GoString() string { - return s.String() -} - -// SetAssumedRoleUser sets the AssumedRoleUser field's value. -func (s *AssumeRoleWithSAMLOutput) SetAssumedRoleUser(v *AssumedRoleUser) *AssumeRoleWithSAMLOutput { - s.AssumedRoleUser = v - return s -} - -// SetAudience sets the Audience field's value. -func (s *AssumeRoleWithSAMLOutput) SetAudience(v string) *AssumeRoleWithSAMLOutput { - s.Audience = &v - return s -} - -// SetCredentials sets the Credentials field's value. -func (s *AssumeRoleWithSAMLOutput) SetCredentials(v *Credentials) *AssumeRoleWithSAMLOutput { - s.Credentials = v - return s -} - -// SetIssuer sets the Issuer field's value. -func (s *AssumeRoleWithSAMLOutput) SetIssuer(v string) *AssumeRoleWithSAMLOutput { - s.Issuer = &v - return s -} - -// SetNameQualifier sets the NameQualifier field's value. -func (s *AssumeRoleWithSAMLOutput) SetNameQualifier(v string) *AssumeRoleWithSAMLOutput { - s.NameQualifier = &v - return s -} - -// SetPackedPolicySize sets the PackedPolicySize field's value. -func (s *AssumeRoleWithSAMLOutput) SetPackedPolicySize(v int64) *AssumeRoleWithSAMLOutput { - s.PackedPolicySize = &v - return s -} - -// SetSubject sets the Subject field's value. -func (s *AssumeRoleWithSAMLOutput) SetSubject(v string) *AssumeRoleWithSAMLOutput { - s.Subject = &v - return s -} - -// SetSubjectType sets the SubjectType field's value. -func (s *AssumeRoleWithSAMLOutput) SetSubjectType(v string) *AssumeRoleWithSAMLOutput { - s.SubjectType = &v - return s -} - -type AssumeRoleWithWebIdentityInput struct { - _ struct{} `type:"structure"` - - // The duration, in seconds, of the role session. The value can range from 900 - // seconds (15 minutes) up to the maximum session duration setting for the role. - // This setting can have a value from 1 hour to 12 hours. If you specify a value - // higher than this setting, the operation fails. For example, if you specify - // a session duration of 12 hours, but your administrator set the maximum session - // duration to 6 hours, your operation fails. To learn how to view the maximum - // value for your role, see View the Maximum Session Duration Setting for a - // Role (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session) - // in the IAM User Guide. - // - // By default, the value is set to 3600 seconds. - // - // The DurationSeconds parameter is separate from the duration of a console - // session that you might request using the returned credentials. The request - // to the federation endpoint for a console sign-in token takes a SessionDuration - // parameter that specifies the maximum length of the console session. For more - // information, see Creating a URL that Enables Federated Users to Access the - // AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) - // in the IAM User Guide. - DurationSeconds *int64 `min:"900" type:"integer"` - - // An IAM policy in JSON format. - // - // The policy parameter is optional. If you pass a policy, the temporary security - // credentials that are returned by the operation have the permissions that - // are allowed by both the access policy of the role that is being assumed, - // and the policy that you pass. This gives you a way to further restrict the - // permissions for the resulting temporary security credentials. You cannot - // use the passed policy to grant permissions that are in excess of those allowed - // by the access policy of the role that is being assumed. For more information, - // see Permissions for AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) - // in the IAM User Guide. - // - // The format for this parameter, as described by its regex pattern, is a string - // of characters up to 2048 characters in length. The characters can be any - // ASCII character from the space character to the end of the valid character - // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), - // and carriage return (\u000D) characters. - // - // The policy plain text must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, with 100% equaling the maximum allowed - // size. - Policy *string `min:"1" type:"string"` - - // The fully qualified host component of the domain name of the identity provider. - // - // Specify this value only for OAuth 2.0 access tokens. Currently www.amazon.com - // and graph.facebook.com are the only supported identity providers for OAuth - // 2.0 access tokens. Do not include URL schemes and port numbers. - // - // Do not specify this value for OpenID Connect ID tokens. - ProviderId *string `min:"4" type:"string"` - - // The Amazon Resource Name (ARN) of the role that the caller is assuming. - // - // RoleArn is a required field - RoleArn *string `min:"20" type:"string" required:"true"` - - // An identifier for the assumed role session. Typically, you pass the name - // or identifier that is associated with the user who is using your application. - // That way, the temporary security credentials that your application will use - // are associated with that user. This session name is included as part of the - // ARN and assumed role ID in the AssumedRoleUser response element. - // - // The regex used to validate this parameter is a string of characters consisting - // of upper- and lower-case alphanumeric characters with no spaces. You can - // also include underscores or any of the following characters: =,.@- - // - // RoleSessionName is a required field - RoleSessionName *string `min:"2" type:"string" required:"true"` - - // The OAuth 2.0 access token or OpenID Connect ID token that is provided by - // the identity provider. Your application must get this token by authenticating - // the user who is using your application with a web identity provider before - // the application makes an AssumeRoleWithWebIdentity call. - // - // WebIdentityToken is a required field - WebIdentityToken *string `min:"4" type:"string" required:"true"` -} - -// String returns the string representation -func (s AssumeRoleWithWebIdentityInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssumeRoleWithWebIdentityInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssumeRoleWithWebIdentityInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssumeRoleWithWebIdentityInput"} - if s.DurationSeconds != nil && *s.DurationSeconds < 900 { - invalidParams.Add(request.NewErrParamMinValue("DurationSeconds", 900)) - } - if s.Policy != nil && len(*s.Policy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) - } - if s.ProviderId != nil && len(*s.ProviderId) < 4 { - invalidParams.Add(request.NewErrParamMinLen("ProviderId", 4)) - } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) - } - if s.RoleArn != nil && len(*s.RoleArn) < 20 { - invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) - } - if s.RoleSessionName == nil { - invalidParams.Add(request.NewErrParamRequired("RoleSessionName")) - } - if s.RoleSessionName != nil && len(*s.RoleSessionName) < 2 { - invalidParams.Add(request.NewErrParamMinLen("RoleSessionName", 2)) - } - if s.WebIdentityToken == nil { - invalidParams.Add(request.NewErrParamRequired("WebIdentityToken")) - } - if s.WebIdentityToken != nil && len(*s.WebIdentityToken) < 4 { - invalidParams.Add(request.NewErrParamMinLen("WebIdentityToken", 4)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDurationSeconds sets the DurationSeconds field's value. -func (s *AssumeRoleWithWebIdentityInput) SetDurationSeconds(v int64) *AssumeRoleWithWebIdentityInput { - s.DurationSeconds = &v - return s -} - -// SetPolicy sets the Policy field's value. -func (s *AssumeRoleWithWebIdentityInput) SetPolicy(v string) *AssumeRoleWithWebIdentityInput { - s.Policy = &v - return s -} - -// SetProviderId sets the ProviderId field's value. -func (s *AssumeRoleWithWebIdentityInput) SetProviderId(v string) *AssumeRoleWithWebIdentityInput { - s.ProviderId = &v - return s -} - -// SetRoleArn sets the RoleArn field's value. -func (s *AssumeRoleWithWebIdentityInput) SetRoleArn(v string) *AssumeRoleWithWebIdentityInput { - s.RoleArn = &v - return s -} - -// SetRoleSessionName sets the RoleSessionName field's value. -func (s *AssumeRoleWithWebIdentityInput) SetRoleSessionName(v string) *AssumeRoleWithWebIdentityInput { - s.RoleSessionName = &v - return s -} - -// SetWebIdentityToken sets the WebIdentityToken field's value. -func (s *AssumeRoleWithWebIdentityInput) SetWebIdentityToken(v string) *AssumeRoleWithWebIdentityInput { - s.WebIdentityToken = &v - return s -} - -// Contains the response to a successful AssumeRoleWithWebIdentity request, -// including temporary AWS credentials that can be used to make AWS requests. -type AssumeRoleWithWebIdentityOutput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers - // that you can use to refer to the resulting temporary security credentials. - // For example, you can reference these credentials as a principal in a resource-based - // policy by using the ARN or assumed role ID. The ARN and ID include the RoleSessionName - // that you specified when you called AssumeRole. - AssumedRoleUser *AssumedRoleUser `type:"structure"` - - // The intended audience (also known as client ID) of the web identity token. - // This is traditionally the client identifier issued to the application that - // requested the web identity token. - Audience *string `type:"string"` - - // The temporary security credentials, which include an access key ID, a secret - // access key, and a security token. - // - // Note: The size of the security token that STS APIs return is not fixed. We - // strongly recommend that you make no assumptions about the maximum size. As - // of this writing, the typical size is less than 4096 bytes, but that can vary. - // Also, future updates to AWS might require larger sizes. - Credentials *Credentials `type:"structure"` - - // A percentage value that indicates the size of the policy in packed form. - // The service rejects any policy with a packed size greater than 100 percent, - // which means the policy exceeded the allowed space. - PackedPolicySize *int64 `type:"integer"` - - // The issuing authority of the web identity token presented. For OpenID Connect - // ID Tokens this contains the value of the iss field. For OAuth 2.0 access - // tokens, this contains the value of the ProviderId parameter that was passed - // in the AssumeRoleWithWebIdentity request. - Provider *string `type:"string"` - - // The unique user identifier that is returned by the identity provider. This - // identifier is associated with the WebIdentityToken that was submitted with - // the AssumeRoleWithWebIdentity call. The identifier is typically unique to - // the user and the application that acquired the WebIdentityToken (pairwise - // identifier). For OpenID Connect ID tokens, this field contains the value - // returned by the identity provider as the token's sub (Subject) claim. - SubjectFromWebIdentityToken *string `min:"6" type:"string"` -} - -// String returns the string representation -func (s AssumeRoleWithWebIdentityOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssumeRoleWithWebIdentityOutput) GoString() string { - return s.String() -} - -// SetAssumedRoleUser sets the AssumedRoleUser field's value. -func (s *AssumeRoleWithWebIdentityOutput) SetAssumedRoleUser(v *AssumedRoleUser) *AssumeRoleWithWebIdentityOutput { - s.AssumedRoleUser = v - return s -} - -// SetAudience sets the Audience field's value. -func (s *AssumeRoleWithWebIdentityOutput) SetAudience(v string) *AssumeRoleWithWebIdentityOutput { - s.Audience = &v - return s -} - -// SetCredentials sets the Credentials field's value. -func (s *AssumeRoleWithWebIdentityOutput) SetCredentials(v *Credentials) *AssumeRoleWithWebIdentityOutput { - s.Credentials = v - return s -} - -// SetPackedPolicySize sets the PackedPolicySize field's value. -func (s *AssumeRoleWithWebIdentityOutput) SetPackedPolicySize(v int64) *AssumeRoleWithWebIdentityOutput { - s.PackedPolicySize = &v - return s -} - -// SetProvider sets the Provider field's value. -func (s *AssumeRoleWithWebIdentityOutput) SetProvider(v string) *AssumeRoleWithWebIdentityOutput { - s.Provider = &v - return s -} - -// SetSubjectFromWebIdentityToken sets the SubjectFromWebIdentityToken field's value. -func (s *AssumeRoleWithWebIdentityOutput) SetSubjectFromWebIdentityToken(v string) *AssumeRoleWithWebIdentityOutput { - s.SubjectFromWebIdentityToken = &v - return s -} - -// The identifiers for the temporary security credentials that the operation -// returns. -type AssumedRoleUser struct { - _ struct{} `type:"structure"` - - // The ARN of the temporary security credentials that are returned from the - // AssumeRole action. For more information about ARNs and how to use them in - // policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) - // in Using IAM. - // - // Arn is a required field - Arn *string `min:"20" type:"string" required:"true"` - - // A unique identifier that contains the role ID and the role session name of - // the role that is being assumed. The role ID is generated by AWS when the - // role is created. - // - // AssumedRoleId is a required field - AssumedRoleId *string `min:"2" type:"string" required:"true"` -} - -// String returns the string representation -func (s AssumedRoleUser) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AssumedRoleUser) GoString() string { - return s.String() -} - -// SetArn sets the Arn field's value. -func (s *AssumedRoleUser) SetArn(v string) *AssumedRoleUser { - s.Arn = &v - return s -} - -// SetAssumedRoleId sets the AssumedRoleId field's value. -func (s *AssumedRoleUser) SetAssumedRoleId(v string) *AssumedRoleUser { - s.AssumedRoleId = &v - return s -} - -// AWS credentials for API authentication. -type Credentials struct { - _ struct{} `type:"structure"` - - // The access key ID that identifies the temporary security credentials. - // - // AccessKeyId is a required field - AccessKeyId *string `min:"16" type:"string" required:"true"` - - // The date on which the current credentials expire. - // - // Expiration is a required field - Expiration *time.Time `type:"timestamp" required:"true"` - - // The secret access key that can be used to sign requests. - // - // SecretAccessKey is a required field - SecretAccessKey *string `type:"string" required:"true"` - - // The token that users must pass to the service API to use the temporary credentials. - // - // SessionToken is a required field - SessionToken *string `type:"string" required:"true"` -} - -// String returns the string representation -func (s Credentials) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s Credentials) GoString() string { - return s.String() -} - -// SetAccessKeyId sets the AccessKeyId field's value. -func (s *Credentials) SetAccessKeyId(v string) *Credentials { - s.AccessKeyId = &v - return s -} - -// SetExpiration sets the Expiration field's value. -func (s *Credentials) SetExpiration(v time.Time) *Credentials { - s.Expiration = &v - return s -} - -// SetSecretAccessKey sets the SecretAccessKey field's value. -func (s *Credentials) SetSecretAccessKey(v string) *Credentials { - s.SecretAccessKey = &v - return s -} - -// SetSessionToken sets the SessionToken field's value. -func (s *Credentials) SetSessionToken(v string) *Credentials { - s.SessionToken = &v - return s -} - -type DecodeAuthorizationMessageInput struct { - _ struct{} `type:"structure"` - - // The encoded message that was returned with the response. - // - // EncodedMessage is a required field - EncodedMessage *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation -func (s DecodeAuthorizationMessageInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DecodeAuthorizationMessageInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DecodeAuthorizationMessageInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DecodeAuthorizationMessageInput"} - if s.EncodedMessage == nil { - invalidParams.Add(request.NewErrParamRequired("EncodedMessage")) - } - if s.EncodedMessage != nil && len(*s.EncodedMessage) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EncodedMessage", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetEncodedMessage sets the EncodedMessage field's value. -func (s *DecodeAuthorizationMessageInput) SetEncodedMessage(v string) *DecodeAuthorizationMessageInput { - s.EncodedMessage = &v - return s -} - -// A document that contains additional information about the authorization status -// of a request from an encoded message that is returned in response to an AWS -// request. -type DecodeAuthorizationMessageOutput struct { - _ struct{} `type:"structure"` - - // An XML document that contains the decoded message. - DecodedMessage *string `type:"string"` -} - -// String returns the string representation -func (s DecodeAuthorizationMessageOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DecodeAuthorizationMessageOutput) GoString() string { - return s.String() -} - -// SetDecodedMessage sets the DecodedMessage field's value. -func (s *DecodeAuthorizationMessageOutput) SetDecodedMessage(v string) *DecodeAuthorizationMessageOutput { - s.DecodedMessage = &v - return s -} - -// Identifiers for the federated user that is associated with the credentials. -type FederatedUser struct { - _ struct{} `type:"structure"` - - // The ARN that specifies the federated user that is associated with the credentials. - // For more information about ARNs and how to use them in policies, see IAM - // Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) - // in Using IAM. - // - // Arn is a required field - Arn *string `min:"20" type:"string" required:"true"` - - // The string that identifies the federated user associated with the credentials, - // similar to the unique ID of an IAM user. - // - // FederatedUserId is a required field - FederatedUserId *string `min:"2" type:"string" required:"true"` -} - -// String returns the string representation -func (s FederatedUser) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s FederatedUser) GoString() string { - return s.String() -} - -// SetArn sets the Arn field's value. -func (s *FederatedUser) SetArn(v string) *FederatedUser { - s.Arn = &v - return s -} - -// SetFederatedUserId sets the FederatedUserId field's value. -func (s *FederatedUser) SetFederatedUserId(v string) *FederatedUser { - s.FederatedUserId = &v - return s -} - -type GetCallerIdentityInput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s GetCallerIdentityInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetCallerIdentityInput) GoString() string { - return s.String() -} - -// Contains the response to a successful GetCallerIdentity request, including -// information about the entity making the request. -type GetCallerIdentityOutput struct { - _ struct{} `type:"structure"` - - // The AWS account ID number of the account that owns or contains the calling - // entity. - Account *string `type:"string"` - - // The AWS ARN associated with the calling entity. - Arn *string `min:"20" type:"string"` - - // The unique identifier of the calling entity. The exact value depends on the - // type of entity making the call. The values returned are those listed in the - // aws:userid column in the Principal table (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable) - // found on the Policy Variables reference page in the IAM User Guide. - UserId *string `type:"string"` -} - -// String returns the string representation -func (s GetCallerIdentityOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetCallerIdentityOutput) GoString() string { - return s.String() -} - -// SetAccount sets the Account field's value. -func (s *GetCallerIdentityOutput) SetAccount(v string) *GetCallerIdentityOutput { - s.Account = &v - return s -} - -// SetArn sets the Arn field's value. -func (s *GetCallerIdentityOutput) SetArn(v string) *GetCallerIdentityOutput { - s.Arn = &v - return s -} - -// SetUserId sets the UserId field's value. -func (s *GetCallerIdentityOutput) SetUserId(v string) *GetCallerIdentityOutput { - s.UserId = &v - return s -} - -type GetFederationTokenInput struct { - _ struct{} `type:"structure"` - - // The duration, in seconds, that the session should last. Acceptable durations - // for federation sessions range from 900 seconds (15 minutes) to 129600 seconds - // (36 hours), with 43200 seconds (12 hours) as the default. Sessions obtained - // using AWS account (root) credentials are restricted to a maximum of 3600 - // seconds (one hour). If the specified duration is longer than one hour, the - // session obtained by using AWS account (root) credentials defaults to one - // hour. - DurationSeconds *int64 `min:"900" type:"integer"` - - // The name of the federated user. The name is used as an identifier for the - // temporary security credentials (such as Bob). For example, you can reference - // the federated user name in a resource-based policy, such as in an Amazon - // S3 bucket policy. - // - // The regex used to validate this parameter is a string of characters consisting - // of upper- and lower-case alphanumeric characters with no spaces. You can - // also include underscores or any of the following characters: =,.@- - // - // Name is a required field - Name *string `min:"2" type:"string" required:"true"` - - // An IAM policy in JSON format that is passed with the GetFederationToken call - // and evaluated along with the policy or policies that are attached to the - // IAM user whose credentials are used to call GetFederationToken. The passed - // policy is used to scope down the permissions that are available to the IAM - // user, by allowing only a subset of the permissions that are granted to the - // IAM user. The passed policy cannot grant more permissions than those granted - // to the IAM user. The final permissions for the federated user are the most - // restrictive set based on the intersection of the passed policy and the IAM - // user policy. - // - // If you do not pass a policy, the resulting temporary security credentials - // have no effective permissions. The only exception is when the temporary security - // credentials are used to access a resource that has a resource-based policy - // that specifically allows the federated user to access the resource. - // - // The format for this parameter, as described by its regex pattern, is a string - // of characters up to 2048 characters in length. The characters can be any - // ASCII character from the space character to the end of the valid character - // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), - // and carriage return (\u000D) characters. - // - // The policy plain text must be 2048 bytes or shorter. However, an internal - // conversion compresses it into a packed binary format with a separate limit. - // The PackedPolicySize response element indicates by percentage how close to - // the upper size limit the policy is, with 100% equaling the maximum allowed - // size. - // - // For more information about how permissions work, see Permissions for GetFederationToken - // (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html). - Policy *string `min:"1" type:"string"` -} - -// String returns the string representation -func (s GetFederationTokenInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetFederationTokenInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetFederationTokenInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFederationTokenInput"} - if s.DurationSeconds != nil && *s.DurationSeconds < 900 { - invalidParams.Add(request.NewErrParamMinValue("DurationSeconds", 900)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 2 { - invalidParams.Add(request.NewErrParamMinLen("Name", 2)) - } - if s.Policy != nil && len(*s.Policy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDurationSeconds sets the DurationSeconds field's value. -func (s *GetFederationTokenInput) SetDurationSeconds(v int64) *GetFederationTokenInput { - s.DurationSeconds = &v - return s -} - -// SetName sets the Name field's value. -func (s *GetFederationTokenInput) SetName(v string) *GetFederationTokenInput { - s.Name = &v - return s -} - -// SetPolicy sets the Policy field's value. -func (s *GetFederationTokenInput) SetPolicy(v string) *GetFederationTokenInput { - s.Policy = &v - return s -} - -// Contains the response to a successful GetFederationToken request, including -// temporary AWS credentials that can be used to make AWS requests. -type GetFederationTokenOutput struct { - _ struct{} `type:"structure"` - - // The temporary security credentials, which include an access key ID, a secret - // access key, and a security (or session) token. - // - // Note: The size of the security token that STS APIs return is not fixed. We - // strongly recommend that you make no assumptions about the maximum size. As - // of this writing, the typical size is less than 4096 bytes, but that can vary. - // Also, future updates to AWS might require larger sizes. - Credentials *Credentials `type:"structure"` - - // Identifiers for the federated user associated with the credentials (such - // as arn:aws:sts::123456789012:federated-user/Bob or 123456789012:Bob). You - // can use the federated user's ARN in your resource-based policies, such as - // an Amazon S3 bucket policy. - FederatedUser *FederatedUser `type:"structure"` - - // A percentage value indicating the size of the policy in packed form. The - // service rejects policies for which the packed size is greater than 100 percent - // of the allowed value. - PackedPolicySize *int64 `type:"integer"` -} - -// String returns the string representation -func (s GetFederationTokenOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetFederationTokenOutput) GoString() string { - return s.String() -} - -// SetCredentials sets the Credentials field's value. -func (s *GetFederationTokenOutput) SetCredentials(v *Credentials) *GetFederationTokenOutput { - s.Credentials = v - return s -} - -// SetFederatedUser sets the FederatedUser field's value. -func (s *GetFederationTokenOutput) SetFederatedUser(v *FederatedUser) *GetFederationTokenOutput { - s.FederatedUser = v - return s -} - -// SetPackedPolicySize sets the PackedPolicySize field's value. -func (s *GetFederationTokenOutput) SetPackedPolicySize(v int64) *GetFederationTokenOutput { - s.PackedPolicySize = &v - return s -} - -type GetSessionTokenInput struct { - _ struct{} `type:"structure"` - - // The duration, in seconds, that the credentials should remain valid. Acceptable - // durations for IAM user sessions range from 900 seconds (15 minutes) to 129600 - // seconds (36 hours), with 43200 seconds (12 hours) as the default. Sessions - // for AWS account owners are restricted to a maximum of 3600 seconds (one hour). - // If the duration is longer than one hour, the session for AWS account owners - // defaults to one hour. - DurationSeconds *int64 `min:"900" type:"integer"` - - // The identification number of the MFA device that is associated with the IAM - // user who is making the GetSessionToken call. Specify this value if the IAM - // user has a policy that requires MFA authentication. The value is either the - // serial number for a hardware device (such as GAHT12345678) or an Amazon Resource - // Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). - // You can find the device for an IAM user by going to the AWS Management Console - // and viewing the user's security credentials. - // - // The regex used to validated this parameter is a string of characters consisting - // of upper- and lower-case alphanumeric characters with no spaces. You can - // also include underscores or any of the following characters: =,.@:/- - SerialNumber *string `min:"9" type:"string"` - - // The value provided by the MFA device, if MFA is required. If any policy requires - // the IAM user to submit an MFA code, specify this value. If MFA authentication - // is required, and the user does not provide a code when requesting a set of - // temporary security credentials, the user will receive an "access denied" - // response when requesting resources that require MFA authentication. - // - // The format for this parameter, as described by its regex pattern, is a sequence - // of six numeric digits. - TokenCode *string `min:"6" type:"string"` -} - -// String returns the string representation -func (s GetSessionTokenInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetSessionTokenInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetSessionTokenInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSessionTokenInput"} - if s.DurationSeconds != nil && *s.DurationSeconds < 900 { - invalidParams.Add(request.NewErrParamMinValue("DurationSeconds", 900)) - } - if s.SerialNumber != nil && len(*s.SerialNumber) < 9 { - invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9)) - } - if s.TokenCode != nil && len(*s.TokenCode) < 6 { - invalidParams.Add(request.NewErrParamMinLen("TokenCode", 6)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDurationSeconds sets the DurationSeconds field's value. -func (s *GetSessionTokenInput) SetDurationSeconds(v int64) *GetSessionTokenInput { - s.DurationSeconds = &v - return s -} - -// SetSerialNumber sets the SerialNumber field's value. -func (s *GetSessionTokenInput) SetSerialNumber(v string) *GetSessionTokenInput { - s.SerialNumber = &v - return s -} - -// SetTokenCode sets the TokenCode field's value. -func (s *GetSessionTokenInput) SetTokenCode(v string) *GetSessionTokenInput { - s.TokenCode = &v - return s -} - -// Contains the response to a successful GetSessionToken request, including -// temporary AWS credentials that can be used to make AWS requests. -type GetSessionTokenOutput struct { - _ struct{} `type:"structure"` - - // The temporary security credentials, which include an access key ID, a secret - // access key, and a security (or session) token. - // - // Note: The size of the security token that STS APIs return is not fixed. We - // strongly recommend that you make no assumptions about the maximum size. As - // of this writing, the typical size is less than 4096 bytes, but that can vary. - // Also, future updates to AWS might require larger sizes. - Credentials *Credentials `type:"structure"` -} - -// String returns the string representation -func (s GetSessionTokenOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetSessionTokenOutput) GoString() string { - return s.String() -} - -// SetCredentials sets the Credentials field's value. -func (s *GetSessionTokenOutput) SetCredentials(v *Credentials) *GetSessionTokenOutput { - s.Credentials = v - return s -} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go deleted file mode 100644 index 4010cc7..0000000 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go +++ /dev/null @@ -1,12 +0,0 @@ -package sts - -import "github.com/aws/aws-sdk-go/aws/request" - -func init() { - initRequest = func(r *request.Request) { - switch r.Operation.Name { - case opAssumeRoleWithSAML, opAssumeRoleWithWebIdentity: - r.Handlers.Sign.Clear() // these operations are unsigned - } - } -} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go b/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go deleted file mode 100644 index ef681ab..0000000 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go +++ /dev/null @@ -1,72 +0,0 @@ -// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. - -// Package sts provides the client and types for making API -// requests to AWS Security Token Service. -// -// The AWS Security Token Service (STS) is a web service that enables you to -// request temporary, limited-privilege credentials for AWS Identity and Access -// Management (IAM) users or for users that you authenticate (federated users). -// This guide provides descriptions of the STS API. For more detailed information -// about using this service, go to Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html). -// -// As an alternative to using the API, you can use one of the AWS SDKs, which -// consist of libraries and sample code for various programming languages and -// platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient -// way to create programmatic access to STS. For example, the SDKs take care -// of cryptographically signing requests, managing errors, and retrying requests -// automatically. For information about the AWS SDKs, including how to download -// and install them, see the Tools for Amazon Web Services page (http://aws.amazon.com/tools/). -// -// For information about setting up signatures and authorization through the -// API, go to Signing AWS API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) -// in the AWS General Reference. For general information about the Query API, -// go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) -// in Using IAM. For information about using security tokens with other AWS -// products, go to AWS Services That Work with IAM (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) -// in the IAM User Guide. -// -// If you're new to AWS and need additional technical information about a specific -// AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/ -// (http://aws.amazon.com/documentation/). -// -// Endpoints -// -// The AWS Security Token Service (STS) has a default endpoint of https://sts.amazonaws.com -// that maps to the US East (N. Virginia) region. Additional regions are available -// and are activated by default. For more information, see Activating and Deactivating -// AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) -// in the IAM User Guide. -// -// For information about STS endpoints, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region) -// in the AWS General Reference. -// -// Recording API requests -// -// STS supports AWS CloudTrail, which is a service that records AWS calls for -// your AWS account and delivers log files to an Amazon S3 bucket. By using -// information collected by CloudTrail, you can determine what requests were -// successfully made to STS, who made the request, when it was made, and so -// on. To learn more about CloudTrail, including how to turn it on and find -// your log files, see the AWS CloudTrail User Guide (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html). -// -// See https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15 for more information on this service. -// -// See sts package documentation for more information. -// https://docs.aws.amazon.com/sdk-for-go/api/service/sts/ -// -// Using the Client -// -// To contact AWS Security Token Service with the SDK use the New function to create -// a new service client. With that client you can make API requests to the service. -// These clients are safe to use concurrently. -// -// See the SDK's documentation for more information on how to use the SDK. -// https://docs.aws.amazon.com/sdk-for-go/api/ -// -// See aws.Config documentation for more information on configuring SDK clients. -// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config -// -// See the AWS Security Token Service client STS for more -// information on creating client for this service. -// https://docs.aws.amazon.com/sdk-for-go/api/service/sts/#New -package sts diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go deleted file mode 100644 index e24884e..0000000 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go +++ /dev/null @@ -1,73 +0,0 @@ -// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. - -package sts - -const ( - - // ErrCodeExpiredTokenException for service response error code - // "ExpiredTokenException". - // - // The web identity token that was passed is expired or is not valid. Get a - // new identity token from the identity provider and then retry the request. - ErrCodeExpiredTokenException = "ExpiredTokenException" - - // ErrCodeIDPCommunicationErrorException for service response error code - // "IDPCommunicationError". - // - // The request could not be fulfilled because the non-AWS identity provider - // (IDP) that was asked to verify the incoming identity token could not be reached. - // This is often a transient error caused by network conditions. Retry the request - // a limited number of times so that you don't exceed the request rate. If the - // error persists, the non-AWS identity provider might be down or not responding. - ErrCodeIDPCommunicationErrorException = "IDPCommunicationError" - - // ErrCodeIDPRejectedClaimException for service response error code - // "IDPRejectedClaim". - // - // The identity provider (IdP) reported that authentication failed. This might - // be because the claim is invalid. - // - // If this error is returned for the AssumeRoleWithWebIdentity operation, it - // can also mean that the claim has expired or has been explicitly revoked. - ErrCodeIDPRejectedClaimException = "IDPRejectedClaim" - - // ErrCodeInvalidAuthorizationMessageException for service response error code - // "InvalidAuthorizationMessageException". - // - // The error returned if the message passed to DecodeAuthorizationMessage was - // invalid. This can happen if the token contains invalid characters, such as - // linebreaks. - ErrCodeInvalidAuthorizationMessageException = "InvalidAuthorizationMessageException" - - // ErrCodeInvalidIdentityTokenException for service response error code - // "InvalidIdentityToken". - // - // The web identity token that was passed could not be validated by AWS. Get - // a new identity token from the identity provider and then retry the request. - ErrCodeInvalidIdentityTokenException = "InvalidIdentityToken" - - // ErrCodeMalformedPolicyDocumentException for service response error code - // "MalformedPolicyDocument". - // - // The request was rejected because the policy document was malformed. The error - // message describes the specific error. - ErrCodeMalformedPolicyDocumentException = "MalformedPolicyDocument" - - // ErrCodePackedPolicyTooLargeException for service response error code - // "PackedPolicyTooLarge". - // - // The request was rejected because the policy document was too large. The error - // message describes how big the policy document is, in packed form, as a percentage - // of what the API allows. - ErrCodePackedPolicyTooLargeException = "PackedPolicyTooLarge" - - // ErrCodeRegionDisabledException for service response error code - // "RegionDisabledException". - // - // STS is not activated in the requested region for the account that is being - // asked to generate credentials. The account administrator must use the IAM - // console to activate STS in that region. For more information, see Activating - // and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) - // in the IAM User Guide. - ErrCodeRegionDisabledException = "RegionDisabledException" -) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/service.go b/vendor/github.com/aws/aws-sdk-go/service/sts/service.go deleted file mode 100644 index 185c914..0000000 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/service.go +++ /dev/null @@ -1,95 +0,0 @@ -// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. - -package sts - -import ( - "github.com/aws/aws-sdk-go/aws" - "github.com/aws/aws-sdk-go/aws/client" - "github.com/aws/aws-sdk-go/aws/client/metadata" - "github.com/aws/aws-sdk-go/aws/request" - "github.com/aws/aws-sdk-go/aws/signer/v4" - "github.com/aws/aws-sdk-go/private/protocol/query" -) - -// STS provides the API operation methods for making requests to -// AWS Security Token Service. See this package's package overview docs -// for details on the service. -// -// STS methods are safe to use concurrently. It is not safe to -// modify mutate any of the struct's properties though. -type STS struct { - *client.Client -} - -// Used for custom client initialization logic -var initClient func(*client.Client) - -// Used for custom request initialization logic -var initRequest func(*request.Request) - -// Service information constants -const ( - ServiceName = "sts" // Name of service. - EndpointsID = ServiceName // ID to lookup a service endpoint with. - ServiceID = "STS" // ServiceID is a unique identifer of a specific service. -) - -// New creates a new instance of the STS client with a session. -// If additional configuration is needed for the client instance use the optional -// aws.Config parameter to add your extra config. -// -// Example: -// // Create a STS client from just a session. -// svc := sts.New(mySession) -// -// // Create a STS client with additional configuration -// svc := sts.New(mySession, aws.NewConfig().WithRegion("us-west-2")) -func New(p client.ConfigProvider, cfgs ...*aws.Config) *STS { - c := p.ClientConfig(EndpointsID, cfgs...) - return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) -} - -// newClient creates, initializes and returns a new service client instance. -func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *STS { - svc := &STS{ - Client: client.New( - cfg, - metadata.ClientInfo{ - ServiceName: ServiceName, - ServiceID: ServiceID, - SigningName: signingName, - SigningRegion: signingRegion, - Endpoint: endpoint, - APIVersion: "2011-06-15", - }, - handlers, - ), - } - - // Handlers - svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) - svc.Handlers.Build.PushBackNamed(query.BuildHandler) - svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler) - svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler) - svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler) - - // Run custom client initialization if present - if initClient != nil { - initClient(svc.Client) - } - - return svc -} - -// newRequest creates a new request for a STS operation and runs any -// custom request initialization. -func (c *STS) newRequest(op *request.Operation, params, data interface{}) *request.Request { - req := c.NewRequest(op, params, data) - - // Run custom request initialization if present - if initRequest != nil { - initRequest(req) - } - - return req -} diff --git a/vendor/github.com/jmespath/go-jmespath/LICENSE b/vendor/github.com/jmespath/go-jmespath/LICENSE deleted file mode 100644 index b03310a..0000000 --- a/vendor/github.com/jmespath/go-jmespath/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2015 James Saryerwinnie - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/vendor/github.com/jmespath/go-jmespath/Makefile b/vendor/github.com/jmespath/go-jmespath/Makefile deleted file mode 100644 index a828d28..0000000 --- a/vendor/github.com/jmespath/go-jmespath/Makefile +++ /dev/null @@ -1,44 +0,0 @@ - -CMD = jpgo - -help: - @echo "Please use \`make ' where is one of" - @echo " test to run all the tests" - @echo " build to build the library and jp executable" - @echo " generate to run codegen" - - -generate: - go generate ./... - -build: - rm -f $(CMD) - go build ./... - rm -f cmd/$(CMD)/$(CMD) && cd cmd/$(CMD)/ && go build ./... - mv cmd/$(CMD)/$(CMD) . - -test: - go test -v ./... - -check: - go vet ./... - @echo "golint ./..." - @lint=`golint ./...`; \ - lint=`echo "$$lint" | grep -v "astnodetype_string.go" | grep -v "toktype_string.go"`; \ - echo "$$lint"; \ - if [ "$$lint" != "" ]; then exit 1; fi - -htmlc: - go test -coverprofile="/tmp/jpcov" && go tool cover -html="/tmp/jpcov" && unlink /tmp/jpcov - -buildfuzz: - go-fuzz-build github.com/jmespath/go-jmespath/fuzz - -fuzz: buildfuzz - go-fuzz -bin=./jmespath-fuzz.zip -workdir=fuzz/testdata - -bench: - go test -bench . -cpuprofile cpu.out - -pprof-cpu: - go tool pprof ./go-jmespath.test ./cpu.out diff --git a/vendor/github.com/jmespath/go-jmespath/README.md b/vendor/github.com/jmespath/go-jmespath/README.md deleted file mode 100644 index 187ef67..0000000 --- a/vendor/github.com/jmespath/go-jmespath/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# go-jmespath - A JMESPath implementation in Go - -[![Build Status](https://img.shields.io/travis/jmespath/go-jmespath.svg)](https://travis-ci.org/jmespath/go-jmespath) - - - -See http://jmespath.org for more info. diff --git a/vendor/github.com/jmespath/go-jmespath/api.go b/vendor/github.com/jmespath/go-jmespath/api.go deleted file mode 100644 index 8e26ffe..0000000 --- a/vendor/github.com/jmespath/go-jmespath/api.go +++ /dev/null @@ -1,49 +0,0 @@ -package jmespath - -import "strconv" - -// JMESPath is the epresentation of a compiled JMES path query. A JMESPath is -// safe for concurrent use by multiple goroutines. -type JMESPath struct { - ast ASTNode - intr *treeInterpreter -} - -// Compile parses a JMESPath expression and returns, if successful, a JMESPath -// object that can be used to match against data. -func Compile(expression string) (*JMESPath, error) { - parser := NewParser() - ast, err := parser.Parse(expression) - if err != nil { - return nil, err - } - jmespath := &JMESPath{ast: ast, intr: newInterpreter()} - return jmespath, nil -} - -// MustCompile is like Compile but panics if the expression cannot be parsed. -// It simplifies safe initialization of global variables holding compiled -// JMESPaths. -func MustCompile(expression string) *JMESPath { - jmespath, err := Compile(expression) - if err != nil { - panic(`jmespath: Compile(` + strconv.Quote(expression) + `): ` + err.Error()) - } - return jmespath -} - -// Search evaluates a JMESPath expression against input data and returns the result. -func (jp *JMESPath) Search(data interface{}) (interface{}, error) { - return jp.intr.Execute(jp.ast, data) -} - -// Search evaluates a JMESPath expression against input data and returns the result. -func Search(expression string, data interface{}) (interface{}, error) { - intr := newInterpreter() - parser := NewParser() - ast, err := parser.Parse(expression) - if err != nil { - return nil, err - } - return intr.Execute(ast, data) -} diff --git a/vendor/github.com/jmespath/go-jmespath/astnodetype_string.go b/vendor/github.com/jmespath/go-jmespath/astnodetype_string.go deleted file mode 100644 index 1cd2d23..0000000 --- a/vendor/github.com/jmespath/go-jmespath/astnodetype_string.go +++ /dev/null @@ -1,16 +0,0 @@ -// generated by stringer -type astNodeType; DO NOT EDIT - -package jmespath - -import "fmt" - -const _astNodeType_name = "ASTEmptyASTComparatorASTCurrentNodeASTExpRefASTFunctionExpressionASTFieldASTFilterProjectionASTFlattenASTIdentityASTIndexASTIndexExpressionASTKeyValPairASTLiteralASTMultiSelectHashASTMultiSelectListASTOrExpressionASTAndExpressionASTNotExpressionASTPipeASTProjectionASTSubexpressionASTSliceASTValueProjection" - -var _astNodeType_index = [...]uint16{0, 8, 21, 35, 44, 65, 73, 92, 102, 113, 121, 139, 152, 162, 180, 198, 213, 229, 245, 252, 265, 281, 289, 307} - -func (i astNodeType) String() string { - if i < 0 || i >= astNodeType(len(_astNodeType_index)-1) { - return fmt.Sprintf("astNodeType(%d)", i) - } - return _astNodeType_name[_astNodeType_index[i]:_astNodeType_index[i+1]] -} diff --git a/vendor/github.com/jmespath/go-jmespath/functions.go b/vendor/github.com/jmespath/go-jmespath/functions.go deleted file mode 100644 index 9b7cd89..0000000 --- a/vendor/github.com/jmespath/go-jmespath/functions.go +++ /dev/null @@ -1,842 +0,0 @@ -package jmespath - -import ( - "encoding/json" - "errors" - "fmt" - "math" - "reflect" - "sort" - "strconv" - "strings" - "unicode/utf8" -) - -type jpFunction func(arguments []interface{}) (interface{}, error) - -type jpType string - -const ( - jpUnknown jpType = "unknown" - jpNumber jpType = "number" - jpString jpType = "string" - jpArray jpType = "array" - jpObject jpType = "object" - jpArrayNumber jpType = "array[number]" - jpArrayString jpType = "array[string]" - jpExpref jpType = "expref" - jpAny jpType = "any" -) - -type functionEntry struct { - name string - arguments []argSpec - handler jpFunction - hasExpRef bool -} - -type argSpec struct { - types []jpType - variadic bool -} - -type byExprString struct { - intr *treeInterpreter - node ASTNode - items []interface{} - hasError bool -} - -func (a *byExprString) Len() int { - return len(a.items) -} -func (a *byExprString) Swap(i, j int) { - a.items[i], a.items[j] = a.items[j], a.items[i] -} -func (a *byExprString) Less(i, j int) bool { - first, err := a.intr.Execute(a.node, a.items[i]) - if err != nil { - a.hasError = true - // Return a dummy value. - return true - } - ith, ok := first.(string) - if !ok { - a.hasError = true - return true - } - second, err := a.intr.Execute(a.node, a.items[j]) - if err != nil { - a.hasError = true - // Return a dummy value. - return true - } - jth, ok := second.(string) - if !ok { - a.hasError = true - return true - } - return ith < jth -} - -type byExprFloat struct { - intr *treeInterpreter - node ASTNode - items []interface{} - hasError bool -} - -func (a *byExprFloat) Len() int { - return len(a.items) -} -func (a *byExprFloat) Swap(i, j int) { - a.items[i], a.items[j] = a.items[j], a.items[i] -} -func (a *byExprFloat) Less(i, j int) bool { - first, err := a.intr.Execute(a.node, a.items[i]) - if err != nil { - a.hasError = true - // Return a dummy value. - return true - } - ith, ok := first.(float64) - if !ok { - a.hasError = true - return true - } - second, err := a.intr.Execute(a.node, a.items[j]) - if err != nil { - a.hasError = true - // Return a dummy value. - return true - } - jth, ok := second.(float64) - if !ok { - a.hasError = true - return true - } - return ith < jth -} - -type functionCaller struct { - functionTable map[string]functionEntry -} - -func newFunctionCaller() *functionCaller { - caller := &functionCaller{} - caller.functionTable = map[string]functionEntry{ - "length": { - name: "length", - arguments: []argSpec{ - {types: []jpType{jpString, jpArray, jpObject}}, - }, - handler: jpfLength, - }, - "starts_with": { - name: "starts_with", - arguments: []argSpec{ - {types: []jpType{jpString}}, - {types: []jpType{jpString}}, - }, - handler: jpfStartsWith, - }, - "abs": { - name: "abs", - arguments: []argSpec{ - {types: []jpType{jpNumber}}, - }, - handler: jpfAbs, - }, - "avg": { - name: "avg", - arguments: []argSpec{ - {types: []jpType{jpArrayNumber}}, - }, - handler: jpfAvg, - }, - "ceil": { - name: "ceil", - arguments: []argSpec{ - {types: []jpType{jpNumber}}, - }, - handler: jpfCeil, - }, - "contains": { - name: "contains", - arguments: []argSpec{ - {types: []jpType{jpArray, jpString}}, - {types: []jpType{jpAny}}, - }, - handler: jpfContains, - }, - "ends_with": { - name: "ends_with", - arguments: []argSpec{ - {types: []jpType{jpString}}, - {types: []jpType{jpString}}, - }, - handler: jpfEndsWith, - }, - "floor": { - name: "floor", - arguments: []argSpec{ - {types: []jpType{jpNumber}}, - }, - handler: jpfFloor, - }, - "map": { - name: "amp", - arguments: []argSpec{ - {types: []jpType{jpExpref}}, - {types: []jpType{jpArray}}, - }, - handler: jpfMap, - hasExpRef: true, - }, - "max": { - name: "max", - arguments: []argSpec{ - {types: []jpType{jpArrayNumber, jpArrayString}}, - }, - handler: jpfMax, - }, - "merge": { - name: "merge", - arguments: []argSpec{ - {types: []jpType{jpObject}, variadic: true}, - }, - handler: jpfMerge, - }, - "max_by": { - name: "max_by", - arguments: []argSpec{ - {types: []jpType{jpArray}}, - {types: []jpType{jpExpref}}, - }, - handler: jpfMaxBy, - hasExpRef: true, - }, - "sum": { - name: "sum", - arguments: []argSpec{ - {types: []jpType{jpArrayNumber}}, - }, - handler: jpfSum, - }, - "min": { - name: "min", - arguments: []argSpec{ - {types: []jpType{jpArrayNumber, jpArrayString}}, - }, - handler: jpfMin, - }, - "min_by": { - name: "min_by", - arguments: []argSpec{ - {types: []jpType{jpArray}}, - {types: []jpType{jpExpref}}, - }, - handler: jpfMinBy, - hasExpRef: true, - }, - "type": { - name: "type", - arguments: []argSpec{ - {types: []jpType{jpAny}}, - }, - handler: jpfType, - }, - "keys": { - name: "keys", - arguments: []argSpec{ - {types: []jpType{jpObject}}, - }, - handler: jpfKeys, - }, - "values": { - name: "values", - arguments: []argSpec{ - {types: []jpType{jpObject}}, - }, - handler: jpfValues, - }, - "sort": { - name: "sort", - arguments: []argSpec{ - {types: []jpType{jpArrayString, jpArrayNumber}}, - }, - handler: jpfSort, - }, - "sort_by": { - name: "sort_by", - arguments: []argSpec{ - {types: []jpType{jpArray}}, - {types: []jpType{jpExpref}}, - }, - handler: jpfSortBy, - hasExpRef: true, - }, - "join": { - name: "join", - arguments: []argSpec{ - {types: []jpType{jpString}}, - {types: []jpType{jpArrayString}}, - }, - handler: jpfJoin, - }, - "reverse": { - name: "reverse", - arguments: []argSpec{ - {types: []jpType{jpArray, jpString}}, - }, - handler: jpfReverse, - }, - "to_array": { - name: "to_array", - arguments: []argSpec{ - {types: []jpType{jpAny}}, - }, - handler: jpfToArray, - }, - "to_string": { - name: "to_string", - arguments: []argSpec{ - {types: []jpType{jpAny}}, - }, - handler: jpfToString, - }, - "to_number": { - name: "to_number", - arguments: []argSpec{ - {types: []jpType{jpAny}}, - }, - handler: jpfToNumber, - }, - "not_null": { - name: "not_null", - arguments: []argSpec{ - {types: []jpType{jpAny}, variadic: true}, - }, - handler: jpfNotNull, - }, - } - return caller -} - -func (e *functionEntry) resolveArgs(arguments []interface{}) ([]interface{}, error) { - if len(e.arguments) == 0 { - return arguments, nil - } - if !e.arguments[len(e.arguments)-1].variadic { - if len(e.arguments) != len(arguments) { - return nil, errors.New("incorrect number of args") - } - for i, spec := range e.arguments { - userArg := arguments[i] - err := spec.typeCheck(userArg) - if err != nil { - return nil, err - } - } - return arguments, nil - } - if len(arguments) < len(e.arguments) { - return nil, errors.New("Invalid arity.") - } - return arguments, nil -} - -func (a *argSpec) typeCheck(arg interface{}) error { - for _, t := range a.types { - switch t { - case jpNumber: - if _, ok := arg.(float64); ok { - return nil - } - case jpString: - if _, ok := arg.(string); ok { - return nil - } - case jpArray: - if isSliceType(arg) { - return nil - } - case jpObject: - if _, ok := arg.(map[string]interface{}); ok { - return nil - } - case jpArrayNumber: - if _, ok := toArrayNum(arg); ok { - return nil - } - case jpArrayString: - if _, ok := toArrayStr(arg); ok { - return nil - } - case jpAny: - return nil - case jpExpref: - if _, ok := arg.(expRef); ok { - return nil - } - } - } - return fmt.Errorf("Invalid type for: %v, expected: %#v", arg, a.types) -} - -func (f *functionCaller) CallFunction(name string, arguments []interface{}, intr *treeInterpreter) (interface{}, error) { - entry, ok := f.functionTable[name] - if !ok { - return nil, errors.New("unknown function: " + name) - } - resolvedArgs, err := entry.resolveArgs(arguments) - if err != nil { - return nil, err - } - if entry.hasExpRef { - var extra []interface{} - extra = append(extra, intr) - resolvedArgs = append(extra, resolvedArgs...) - } - return entry.handler(resolvedArgs) -} - -func jpfAbs(arguments []interface{}) (interface{}, error) { - num := arguments[0].(float64) - return math.Abs(num), nil -} - -func jpfLength(arguments []interface{}) (interface{}, error) { - arg := arguments[0] - if c, ok := arg.(string); ok { - return float64(utf8.RuneCountInString(c)), nil - } else if isSliceType(arg) { - v := reflect.ValueOf(arg) - return float64(v.Len()), nil - } else if c, ok := arg.(map[string]interface{}); ok { - return float64(len(c)), nil - } - return nil, errors.New("could not compute length()") -} - -func jpfStartsWith(arguments []interface{}) (interface{}, error) { - search := arguments[0].(string) - prefix := arguments[1].(string) - return strings.HasPrefix(search, prefix), nil -} - -func jpfAvg(arguments []interface{}) (interface{}, error) { - // We've already type checked the value so we can safely use - // type assertions. - args := arguments[0].([]interface{}) - length := float64(len(args)) - numerator := 0.0 - for _, n := range args { - numerator += n.(float64) - } - return numerator / length, nil -} -func jpfCeil(arguments []interface{}) (interface{}, error) { - val := arguments[0].(float64) - return math.Ceil(val), nil -} -func jpfContains(arguments []interface{}) (interface{}, error) { - search := arguments[0] - el := arguments[1] - if searchStr, ok := search.(string); ok { - if elStr, ok := el.(string); ok { - return strings.Index(searchStr, elStr) != -1, nil - } - return false, nil - } - // Otherwise this is a generic contains for []interface{} - general := search.([]interface{}) - for _, item := range general { - if item == el { - return true, nil - } - } - return false, nil -} -func jpfEndsWith(arguments []interface{}) (interface{}, error) { - search := arguments[0].(string) - suffix := arguments[1].(string) - return strings.HasSuffix(search, suffix), nil -} -func jpfFloor(arguments []interface{}) (interface{}, error) { - val := arguments[0].(float64) - return math.Floor(val), nil -} -func jpfMap(arguments []interface{}) (interface{}, error) { - intr := arguments[0].(*treeInterpreter) - exp := arguments[1].(expRef) - node := exp.ref - arr := arguments[2].([]interface{}) - mapped := make([]interface{}, 0, len(arr)) - for _, value := range arr { - current, err := intr.Execute(node, value) - if err != nil { - return nil, err - } - mapped = append(mapped, current) - } - return mapped, nil -} -func jpfMax(arguments []interface{}) (interface{}, error) { - if items, ok := toArrayNum(arguments[0]); ok { - if len(items) == 0 { - return nil, nil - } - if len(items) == 1 { - return items[0], nil - } - best := items[0] - for _, item := range items[1:] { - if item > best { - best = item - } - } - return best, nil - } - // Otherwise we're dealing with a max() of strings. - items, _ := toArrayStr(arguments[0]) - if len(items) == 0 { - return nil, nil - } - if len(items) == 1 { - return items[0], nil - } - best := items[0] - for _, item := range items[1:] { - if item > best { - best = item - } - } - return best, nil -} -func jpfMerge(arguments []interface{}) (interface{}, error) { - final := make(map[string]interface{}) - for _, m := range arguments { - mapped := m.(map[string]interface{}) - for key, value := range mapped { - final[key] = value - } - } - return final, nil -} -func jpfMaxBy(arguments []interface{}) (interface{}, error) { - intr := arguments[0].(*treeInterpreter) - arr := arguments[1].([]interface{}) - exp := arguments[2].(expRef) - node := exp.ref - if len(arr) == 0 { - return nil, nil - } else if len(arr) == 1 { - return arr[0], nil - } - start, err := intr.Execute(node, arr[0]) - if err != nil { - return nil, err - } - switch t := start.(type) { - case float64: - bestVal := t - bestItem := arr[0] - for _, item := range arr[1:] { - result, err := intr.Execute(node, item) - if err != nil { - return nil, err - } - current, ok := result.(float64) - if !ok { - return nil, errors.New("invalid type, must be number") - } - if current > bestVal { - bestVal = current - bestItem = item - } - } - return bestItem, nil - case string: - bestVal := t - bestItem := arr[0] - for _, item := range arr[1:] { - result, err := intr.Execute(node, item) - if err != nil { - return nil, err - } - current, ok := result.(string) - if !ok { - return nil, errors.New("invalid type, must be string") - } - if current > bestVal { - bestVal = current - bestItem = item - } - } - return bestItem, nil - default: - return nil, errors.New("invalid type, must be number of string") - } -} -func jpfSum(arguments []interface{}) (interface{}, error) { - items, _ := toArrayNum(arguments[0]) - sum := 0.0 - for _, item := range items { - sum += item - } - return sum, nil -} - -func jpfMin(arguments []interface{}) (interface{}, error) { - if items, ok := toArrayNum(arguments[0]); ok { - if len(items) == 0 { - return nil, nil - } - if len(items) == 1 { - return items[0], nil - } - best := items[0] - for _, item := range items[1:] { - if item < best { - best = item - } - } - return best, nil - } - items, _ := toArrayStr(arguments[0]) - if len(items) == 0 { - return nil, nil - } - if len(items) == 1 { - return items[0], nil - } - best := items[0] - for _, item := range items[1:] { - if item < best { - best = item - } - } - return best, nil -} - -func jpfMinBy(arguments []interface{}) (interface{}, error) { - intr := arguments[0].(*treeInterpreter) - arr := arguments[1].([]interface{}) - exp := arguments[2].(expRef) - node := exp.ref - if len(arr) == 0 { - return nil, nil - } else if len(arr) == 1 { - return arr[0], nil - } - start, err := intr.Execute(node, arr[0]) - if err != nil { - return nil, err - } - if t, ok := start.(float64); ok { - bestVal := t - bestItem := arr[0] - for _, item := range arr[1:] { - result, err := intr.Execute(node, item) - if err != nil { - return nil, err - } - current, ok := result.(float64) - if !ok { - return nil, errors.New("invalid type, must be number") - } - if current < bestVal { - bestVal = current - bestItem = item - } - } - return bestItem, nil - } else if t, ok := start.(string); ok { - bestVal := t - bestItem := arr[0] - for _, item := range arr[1:] { - result, err := intr.Execute(node, item) - if err != nil { - return nil, err - } - current, ok := result.(string) - if !ok { - return nil, errors.New("invalid type, must be string") - } - if current < bestVal { - bestVal = current - bestItem = item - } - } - return bestItem, nil - } else { - return nil, errors.New("invalid type, must be number of string") - } -} -func jpfType(arguments []interface{}) (interface{}, error) { - arg := arguments[0] - if _, ok := arg.(float64); ok { - return "number", nil - } - if _, ok := arg.(string); ok { - return "string", nil - } - if _, ok := arg.([]interface{}); ok { - return "array", nil - } - if _, ok := arg.(map[string]interface{}); ok { - return "object", nil - } - if arg == nil { - return "null", nil - } - if arg == true || arg == false { - return "boolean", nil - } - return nil, errors.New("unknown type") -} -func jpfKeys(arguments []interface{}) (interface{}, error) { - arg := arguments[0].(map[string]interface{}) - collected := make([]interface{}, 0, len(arg)) - for key := range arg { - collected = append(collected, key) - } - return collected, nil -} -func jpfValues(arguments []interface{}) (interface{}, error) { - arg := arguments[0].(map[string]interface{}) - collected := make([]interface{}, 0, len(arg)) - for _, value := range arg { - collected = append(collected, value) - } - return collected, nil -} -func jpfSort(arguments []interface{}) (interface{}, error) { - if items, ok := toArrayNum(arguments[0]); ok { - d := sort.Float64Slice(items) - sort.Stable(d) - final := make([]interface{}, len(d)) - for i, val := range d { - final[i] = val - } - return final, nil - } - // Otherwise we're dealing with sort()'ing strings. - items, _ := toArrayStr(arguments[0]) - d := sort.StringSlice(items) - sort.Stable(d) - final := make([]interface{}, len(d)) - for i, val := range d { - final[i] = val - } - return final, nil -} -func jpfSortBy(arguments []interface{}) (interface{}, error) { - intr := arguments[0].(*treeInterpreter) - arr := arguments[1].([]interface{}) - exp := arguments[2].(expRef) - node := exp.ref - if len(arr) == 0 { - return arr, nil - } else if len(arr) == 1 { - return arr, nil - } - start, err := intr.Execute(node, arr[0]) - if err != nil { - return nil, err - } - if _, ok := start.(float64); ok { - sortable := &byExprFloat{intr, node, arr, false} - sort.Stable(sortable) - if sortable.hasError { - return nil, errors.New("error in sort_by comparison") - } - return arr, nil - } else if _, ok := start.(string); ok { - sortable := &byExprString{intr, node, arr, false} - sort.Stable(sortable) - if sortable.hasError { - return nil, errors.New("error in sort_by comparison") - } - return arr, nil - } else { - return nil, errors.New("invalid type, must be number of string") - } -} -func jpfJoin(arguments []interface{}) (interface{}, error) { - sep := arguments[0].(string) - // We can't just do arguments[1].([]string), we have to - // manually convert each item to a string. - arrayStr := []string{} - for _, item := range arguments[1].([]interface{}) { - arrayStr = append(arrayStr, item.(string)) - } - return strings.Join(arrayStr, sep), nil -} -func jpfReverse(arguments []interface{}) (interface{}, error) { - if s, ok := arguments[0].(string); ok { - r := []rune(s) - for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 { - r[i], r[j] = r[j], r[i] - } - return string(r), nil - } - items := arguments[0].([]interface{}) - length := len(items) - reversed := make([]interface{}, length) - for i, item := range items { - reversed[length-(i+1)] = item - } - return reversed, nil -} -func jpfToArray(arguments []interface{}) (interface{}, error) { - if _, ok := arguments[0].([]interface{}); ok { - return arguments[0], nil - } - return arguments[:1:1], nil -} -func jpfToString(arguments []interface{}) (interface{}, error) { - if v, ok := arguments[0].(string); ok { - return v, nil - } - result, err := json.Marshal(arguments[0]) - if err != nil { - return nil, err - } - return string(result), nil -} -func jpfToNumber(arguments []interface{}) (interface{}, error) { - arg := arguments[0] - if v, ok := arg.(float64); ok { - return v, nil - } - if v, ok := arg.(string); ok { - conv, err := strconv.ParseFloat(v, 64) - if err != nil { - return nil, nil - } - return conv, nil - } - if _, ok := arg.([]interface{}); ok { - return nil, nil - } - if _, ok := arg.(map[string]interface{}); ok { - return nil, nil - } - if arg == nil { - return nil, nil - } - if arg == true || arg == false { - return nil, nil - } - return nil, errors.New("unknown type") -} -func jpfNotNull(arguments []interface{}) (interface{}, error) { - for _, arg := range arguments { - if arg != nil { - return arg, nil - } - } - return nil, nil -} diff --git a/vendor/github.com/jmespath/go-jmespath/interpreter.go b/vendor/github.com/jmespath/go-jmespath/interpreter.go deleted file mode 100644 index 13c7460..0000000 --- a/vendor/github.com/jmespath/go-jmespath/interpreter.go +++ /dev/null @@ -1,418 +0,0 @@ -package jmespath - -import ( - "errors" - "reflect" - "unicode" - "unicode/utf8" -) - -/* This is a tree based interpreter. It walks the AST and directly - interprets the AST to search through a JSON document. -*/ - -type treeInterpreter struct { - fCall *functionCaller -} - -func newInterpreter() *treeInterpreter { - interpreter := treeInterpreter{} - interpreter.fCall = newFunctionCaller() - return &interpreter -} - -type expRef struct { - ref ASTNode -} - -// Execute takes an ASTNode and input data and interprets the AST directly. -// It will produce the result of applying the JMESPath expression associated -// with the ASTNode to the input data "value". -func (intr *treeInterpreter) Execute(node ASTNode, value interface{}) (interface{}, error) { - switch node.nodeType { - case ASTComparator: - left, err := intr.Execute(node.children[0], value) - if err != nil { - return nil, err - } - right, err := intr.Execute(node.children[1], value) - if err != nil { - return nil, err - } - switch node.value { - case tEQ: - return objsEqual(left, right), nil - case tNE: - return !objsEqual(left, right), nil - } - leftNum, ok := left.(float64) - if !ok { - return nil, nil - } - rightNum, ok := right.(float64) - if !ok { - return nil, nil - } - switch node.value { - case tGT: - return leftNum > rightNum, nil - case tGTE: - return leftNum >= rightNum, nil - case tLT: - return leftNum < rightNum, nil - case tLTE: - return leftNum <= rightNum, nil - } - case ASTExpRef: - return expRef{ref: node.children[0]}, nil - case ASTFunctionExpression: - resolvedArgs := []interface{}{} - for _, arg := range node.children { - current, err := intr.Execute(arg, value) - if err != nil { - return nil, err - } - resolvedArgs = append(resolvedArgs, current) - } - return intr.fCall.CallFunction(node.value.(string), resolvedArgs, intr) - case ASTField: - if m, ok := value.(map[string]interface{}); ok { - key := node.value.(string) - return m[key], nil - } - return intr.fieldFromStruct(node.value.(string), value) - case ASTFilterProjection: - left, err := intr.Execute(node.children[0], value) - if err != nil { - return nil, nil - } - sliceType, ok := left.([]interface{}) - if !ok { - if isSliceType(left) { - return intr.filterProjectionWithReflection(node, left) - } - return nil, nil - } - compareNode := node.children[2] - collected := []interface{}{} - for _, element := range sliceType { - result, err := intr.Execute(compareNode, element) - if err != nil { - return nil, err - } - if !isFalse(result) { - current, err := intr.Execute(node.children[1], element) - if err != nil { - return nil, err - } - if current != nil { - collected = append(collected, current) - } - } - } - return collected, nil - case ASTFlatten: - left, err := intr.Execute(node.children[0], value) - if err != nil { - return nil, nil - } - sliceType, ok := left.([]interface{}) - if !ok { - // If we can't type convert to []interface{}, there's - // a chance this could still work via reflection if we're - // dealing with user provided types. - if isSliceType(left) { - return intr.flattenWithReflection(left) - } - return nil, nil - } - flattened := []interface{}{} - for _, element := range sliceType { - if elementSlice, ok := element.([]interface{}); ok { - flattened = append(flattened, elementSlice...) - } else if isSliceType(element) { - reflectFlat := []interface{}{} - v := reflect.ValueOf(element) - for i := 0; i < v.Len(); i++ { - reflectFlat = append(reflectFlat, v.Index(i).Interface()) - } - flattened = append(flattened, reflectFlat...) - } else { - flattened = append(flattened, element) - } - } - return flattened, nil - case ASTIdentity, ASTCurrentNode: - return value, nil - case ASTIndex: - if sliceType, ok := value.([]interface{}); ok { - index := node.value.(int) - if index < 0 { - index += len(sliceType) - } - if index < len(sliceType) && index >= 0 { - return sliceType[index], nil - } - return nil, nil - } - // Otherwise try via reflection. - rv := reflect.ValueOf(value) - if rv.Kind() == reflect.Slice { - index := node.value.(int) - if index < 0 { - index += rv.Len() - } - if index < rv.Len() && index >= 0 { - v := rv.Index(index) - return v.Interface(), nil - } - } - return nil, nil - case ASTKeyValPair: - return intr.Execute(node.children[0], value) - case ASTLiteral: - return node.value, nil - case ASTMultiSelectHash: - if value == nil { - return nil, nil - } - collected := make(map[string]interface{}) - for _, child := range node.children { - current, err := intr.Execute(child, value) - if err != nil { - return nil, err - } - key := child.value.(string) - collected[key] = current - } - return collected, nil - case ASTMultiSelectList: - if value == nil { - return nil, nil - } - collected := []interface{}{} - for _, child := range node.children { - current, err := intr.Execute(child, value) - if err != nil { - return nil, err - } - collected = append(collected, current) - } - return collected, nil - case ASTOrExpression: - matched, err := intr.Execute(node.children[0], value) - if err != nil { - return nil, err - } - if isFalse(matched) { - matched, err = intr.Execute(node.children[1], value) - if err != nil { - return nil, err - } - } - return matched, nil - case ASTAndExpression: - matched, err := intr.Execute(node.children[0], value) - if err != nil { - return nil, err - } - if isFalse(matched) { - return matched, nil - } - return intr.Execute(node.children[1], value) - case ASTNotExpression: - matched, err := intr.Execute(node.children[0], value) - if err != nil { - return nil, err - } - if isFalse(matched) { - return true, nil - } - return false, nil - case ASTPipe: - result := value - var err error - for _, child := range node.children { - result, err = intr.Execute(child, result) - if err != nil { - return nil, err - } - } - return result, nil - case ASTProjection: - left, err := intr.Execute(node.children[0], value) - if err != nil { - return nil, err - } - sliceType, ok := left.([]interface{}) - if !ok { - if isSliceType(left) { - return intr.projectWithReflection(node, left) - } - return nil, nil - } - collected := []interface{}{} - var current interface{} - for _, element := range sliceType { - current, err = intr.Execute(node.children[1], element) - if err != nil { - return nil, err - } - if current != nil { - collected = append(collected, current) - } - } - return collected, nil - case ASTSubexpression, ASTIndexExpression: - left, err := intr.Execute(node.children[0], value) - if err != nil { - return nil, err - } - return intr.Execute(node.children[1], left) - case ASTSlice: - sliceType, ok := value.([]interface{}) - if !ok { - if isSliceType(value) { - return intr.sliceWithReflection(node, value) - } - return nil, nil - } - parts := node.value.([]*int) - sliceParams := make([]sliceParam, 3) - for i, part := range parts { - if part != nil { - sliceParams[i].Specified = true - sliceParams[i].N = *part - } - } - return slice(sliceType, sliceParams) - case ASTValueProjection: - left, err := intr.Execute(node.children[0], value) - if err != nil { - return nil, nil - } - mapType, ok := left.(map[string]interface{}) - if !ok { - return nil, nil - } - values := make([]interface{}, len(mapType)) - for _, value := range mapType { - values = append(values, value) - } - collected := []interface{}{} - for _, element := range values { - current, err := intr.Execute(node.children[1], element) - if err != nil { - return nil, err - } - if current != nil { - collected = append(collected, current) - } - } - return collected, nil - } - return nil, errors.New("Unknown AST node: " + node.nodeType.String()) -} - -func (intr *treeInterpreter) fieldFromStruct(key string, value interface{}) (interface{}, error) { - rv := reflect.ValueOf(value) - first, n := utf8.DecodeRuneInString(key) - fieldName := string(unicode.ToUpper(first)) + key[n:] - if rv.Kind() == reflect.Struct { - v := rv.FieldByName(fieldName) - if !v.IsValid() { - return nil, nil - } - return v.Interface(), nil - } else if rv.Kind() == reflect.Ptr { - // Handle multiple levels of indirection? - if rv.IsNil() { - return nil, nil - } - rv = rv.Elem() - v := rv.FieldByName(fieldName) - if !v.IsValid() { - return nil, nil - } - return v.Interface(), nil - } - return nil, nil -} - -func (intr *treeInterpreter) flattenWithReflection(value interface{}) (interface{}, error) { - v := reflect.ValueOf(value) - flattened := []interface{}{} - for i := 0; i < v.Len(); i++ { - element := v.Index(i).Interface() - if reflect.TypeOf(element).Kind() == reflect.Slice { - // Then insert the contents of the element - // slice into the flattened slice, - // i.e flattened = append(flattened, mySlice...) - elementV := reflect.ValueOf(element) - for j := 0; j < elementV.Len(); j++ { - flattened = append( - flattened, elementV.Index(j).Interface()) - } - } else { - flattened = append(flattened, element) - } - } - return flattened, nil -} - -func (intr *treeInterpreter) sliceWithReflection(node ASTNode, value interface{}) (interface{}, error) { - v := reflect.ValueOf(value) - parts := node.value.([]*int) - sliceParams := make([]sliceParam, 3) - for i, part := range parts { - if part != nil { - sliceParams[i].Specified = true - sliceParams[i].N = *part - } - } - final := []interface{}{} - for i := 0; i < v.Len(); i++ { - element := v.Index(i).Interface() - final = append(final, element) - } - return slice(final, sliceParams) -} - -func (intr *treeInterpreter) filterProjectionWithReflection(node ASTNode, value interface{}) (interface{}, error) { - compareNode := node.children[2] - collected := []interface{}{} - v := reflect.ValueOf(value) - for i := 0; i < v.Len(); i++ { - element := v.Index(i).Interface() - result, err := intr.Execute(compareNode, element) - if err != nil { - return nil, err - } - if !isFalse(result) { - current, err := intr.Execute(node.children[1], element) - if err != nil { - return nil, err - } - if current != nil { - collected = append(collected, current) - } - } - } - return collected, nil -} - -func (intr *treeInterpreter) projectWithReflection(node ASTNode, value interface{}) (interface{}, error) { - collected := []interface{}{} - v := reflect.ValueOf(value) - for i := 0; i < v.Len(); i++ { - element := v.Index(i).Interface() - result, err := intr.Execute(node.children[1], element) - if err != nil { - return nil, err - } - if result != nil { - collected = append(collected, result) - } - } - return collected, nil -} diff --git a/vendor/github.com/jmespath/go-jmespath/lexer.go b/vendor/github.com/jmespath/go-jmespath/lexer.go deleted file mode 100644 index 817900c..0000000 --- a/vendor/github.com/jmespath/go-jmespath/lexer.go +++ /dev/null @@ -1,420 +0,0 @@ -package jmespath - -import ( - "bytes" - "encoding/json" - "fmt" - "strconv" - "strings" - "unicode/utf8" -) - -type token struct { - tokenType tokType - value string - position int - length int -} - -type tokType int - -const eof = -1 - -// Lexer contains information about the expression being tokenized. -type Lexer struct { - expression string // The expression provided by the user. - currentPos int // The current position in the string. - lastWidth int // The width of the current rune. This - buf bytes.Buffer // Internal buffer used for building up values. -} - -// SyntaxError is the main error used whenever a lexing or parsing error occurs. -type SyntaxError struct { - msg string // Error message displayed to user - Expression string // Expression that generated a SyntaxError - Offset int // The location in the string where the error occurred -} - -func (e SyntaxError) Error() string { - // In the future, it would be good to underline the specific - // location where the error occurred. - return "SyntaxError: " + e.msg -} - -// HighlightLocation will show where the syntax error occurred. -// It will place a "^" character on a line below the expression -// at the point where the syntax error occurred. -func (e SyntaxError) HighlightLocation() string { - return e.Expression + "\n" + strings.Repeat(" ", e.Offset) + "^" -} - -//go:generate stringer -type=tokType -const ( - tUnknown tokType = iota - tStar - tDot - tFilter - tFlatten - tLparen - tRparen - tLbracket - tRbracket - tLbrace - tRbrace - tOr - tPipe - tNumber - tUnquotedIdentifier - tQuotedIdentifier - tComma - tColon - tLT - tLTE - tGT - tGTE - tEQ - tNE - tJSONLiteral - tStringLiteral - tCurrent - tExpref - tAnd - tNot - tEOF -) - -var basicTokens = map[rune]tokType{ - '.': tDot, - '*': tStar, - ',': tComma, - ':': tColon, - '{': tLbrace, - '}': tRbrace, - ']': tRbracket, // tLbracket not included because it could be "[]" - '(': tLparen, - ')': tRparen, - '@': tCurrent, -} - -// Bit mask for [a-zA-Z_] shifted down 64 bits to fit in a single uint64. -// When using this bitmask just be sure to shift the rune down 64 bits -// before checking against identifierStartBits. -const identifierStartBits uint64 = 576460745995190270 - -// Bit mask for [a-zA-Z0-9], 128 bits -> 2 uint64s. -var identifierTrailingBits = [2]uint64{287948901175001088, 576460745995190270} - -var whiteSpace = map[rune]bool{ - ' ': true, '\t': true, '\n': true, '\r': true, -} - -func (t token) String() string { - return fmt.Sprintf("Token{%+v, %s, %d, %d}", - t.tokenType, t.value, t.position, t.length) -} - -// NewLexer creates a new JMESPath lexer. -func NewLexer() *Lexer { - lexer := Lexer{} - return &lexer -} - -func (lexer *Lexer) next() rune { - if lexer.currentPos >= len(lexer.expression) { - lexer.lastWidth = 0 - return eof - } - r, w := utf8.DecodeRuneInString(lexer.expression[lexer.currentPos:]) - lexer.lastWidth = w - lexer.currentPos += w - return r -} - -func (lexer *Lexer) back() { - lexer.currentPos -= lexer.lastWidth -} - -func (lexer *Lexer) peek() rune { - t := lexer.next() - lexer.back() - return t -} - -// tokenize takes an expression and returns corresponding tokens. -func (lexer *Lexer) tokenize(expression string) ([]token, error) { - var tokens []token - lexer.expression = expression - lexer.currentPos = 0 - lexer.lastWidth = 0 -loop: - for { - r := lexer.next() - if identifierStartBits&(1<<(uint64(r)-64)) > 0 { - t := lexer.consumeUnquotedIdentifier() - tokens = append(tokens, t) - } else if val, ok := basicTokens[r]; ok { - // Basic single char token. - t := token{ - tokenType: val, - value: string(r), - position: lexer.currentPos - lexer.lastWidth, - length: 1, - } - tokens = append(tokens, t) - } else if r == '-' || (r >= '0' && r <= '9') { - t := lexer.consumeNumber() - tokens = append(tokens, t) - } else if r == '[' { - t := lexer.consumeLBracket() - tokens = append(tokens, t) - } else if r == '"' { - t, err := lexer.consumeQuotedIdentifier() - if err != nil { - return tokens, err - } - tokens = append(tokens, t) - } else if r == '\'' { - t, err := lexer.consumeRawStringLiteral() - if err != nil { - return tokens, err - } - tokens = append(tokens, t) - } else if r == '`' { - t, err := lexer.consumeLiteral() - if err != nil { - return tokens, err - } - tokens = append(tokens, t) - } else if r == '|' { - t := lexer.matchOrElse(r, '|', tOr, tPipe) - tokens = append(tokens, t) - } else if r == '<' { - t := lexer.matchOrElse(r, '=', tLTE, tLT) - tokens = append(tokens, t) - } else if r == '>' { - t := lexer.matchOrElse(r, '=', tGTE, tGT) - tokens = append(tokens, t) - } else if r == '!' { - t := lexer.matchOrElse(r, '=', tNE, tNot) - tokens = append(tokens, t) - } else if r == '=' { - t := lexer.matchOrElse(r, '=', tEQ, tUnknown) - tokens = append(tokens, t) - } else if r == '&' { - t := lexer.matchOrElse(r, '&', tAnd, tExpref) - tokens = append(tokens, t) - } else if r == eof { - break loop - } else if _, ok := whiteSpace[r]; ok { - // Ignore whitespace - } else { - return tokens, lexer.syntaxError(fmt.Sprintf("Unknown char: %s", strconv.QuoteRuneToASCII(r))) - } - } - tokens = append(tokens, token{tEOF, "", len(lexer.expression), 0}) - return tokens, nil -} - -// Consume characters until the ending rune "r" is reached. -// If the end of the expression is reached before seeing the -// terminating rune "r", then an error is returned. -// If no error occurs then the matching substring is returned. -// The returned string will not include the ending rune. -func (lexer *Lexer) consumeUntil(end rune) (string, error) { - start := lexer.currentPos - current := lexer.next() - for current != end && current != eof { - if current == '\\' && lexer.peek() != eof { - lexer.next() - } - current = lexer.next() - } - if lexer.lastWidth == 0 { - // Then we hit an EOF so we never reached the closing - // delimiter. - return "", SyntaxError{ - msg: "Unclosed delimiter: " + string(end), - Expression: lexer.expression, - Offset: len(lexer.expression), - } - } - return lexer.expression[start : lexer.currentPos-lexer.lastWidth], nil -} - -func (lexer *Lexer) consumeLiteral() (token, error) { - start := lexer.currentPos - value, err := lexer.consumeUntil('`') - if err != nil { - return token{}, err - } - value = strings.Replace(value, "\\`", "`", -1) - return token{ - tokenType: tJSONLiteral, - value: value, - position: start, - length: len(value), - }, nil -} - -func (lexer *Lexer) consumeRawStringLiteral() (token, error) { - start := lexer.currentPos - currentIndex := start - current := lexer.next() - for current != '\'' && lexer.peek() != eof { - if current == '\\' && lexer.peek() == '\'' { - chunk := lexer.expression[currentIndex : lexer.currentPos-1] - lexer.buf.WriteString(chunk) - lexer.buf.WriteString("'") - lexer.next() - currentIndex = lexer.currentPos - } - current = lexer.next() - } - if lexer.lastWidth == 0 { - // Then we hit an EOF so we never reached the closing - // delimiter. - return token{}, SyntaxError{ - msg: "Unclosed delimiter: '", - Expression: lexer.expression, - Offset: len(lexer.expression), - } - } - if currentIndex < lexer.currentPos { - lexer.buf.WriteString(lexer.expression[currentIndex : lexer.currentPos-1]) - } - value := lexer.buf.String() - // Reset the buffer so it can reused again. - lexer.buf.Reset() - return token{ - tokenType: tStringLiteral, - value: value, - position: start, - length: len(value), - }, nil -} - -func (lexer *Lexer) syntaxError(msg string) SyntaxError { - return SyntaxError{ - msg: msg, - Expression: lexer.expression, - Offset: lexer.currentPos - 1, - } -} - -// Checks for a two char token, otherwise matches a single character -// token. This is used whenever a two char token overlaps a single -// char token, e.g. "||" -> tPipe, "|" -> tOr. -func (lexer *Lexer) matchOrElse(first rune, second rune, matchedType tokType, singleCharType tokType) token { - start := lexer.currentPos - lexer.lastWidth - nextRune := lexer.next() - var t token - if nextRune == second { - t = token{ - tokenType: matchedType, - value: string(first) + string(second), - position: start, - length: 2, - } - } else { - lexer.back() - t = token{ - tokenType: singleCharType, - value: string(first), - position: start, - length: 1, - } - } - return t -} - -func (lexer *Lexer) consumeLBracket() token { - // There's three options here: - // 1. A filter expression "[?" - // 2. A flatten operator "[]" - // 3. A bare rbracket "[" - start := lexer.currentPos - lexer.lastWidth - nextRune := lexer.next() - var t token - if nextRune == '?' { - t = token{ - tokenType: tFilter, - value: "[?", - position: start, - length: 2, - } - } else if nextRune == ']' { - t = token{ - tokenType: tFlatten, - value: "[]", - position: start, - length: 2, - } - } else { - t = token{ - tokenType: tLbracket, - value: "[", - position: start, - length: 1, - } - lexer.back() - } - return t -} - -func (lexer *Lexer) consumeQuotedIdentifier() (token, error) { - start := lexer.currentPos - value, err := lexer.consumeUntil('"') - if err != nil { - return token{}, err - } - var decoded string - asJSON := []byte("\"" + value + "\"") - if err := json.Unmarshal([]byte(asJSON), &decoded); err != nil { - return token{}, err - } - return token{ - tokenType: tQuotedIdentifier, - value: decoded, - position: start - 1, - length: len(decoded), - }, nil -} - -func (lexer *Lexer) consumeUnquotedIdentifier() token { - // Consume runes until we reach the end of an unquoted - // identifier. - start := lexer.currentPos - lexer.lastWidth - for { - r := lexer.next() - if r < 0 || r > 128 || identifierTrailingBits[uint64(r)/64]&(1<<(uint64(r)%64)) == 0 { - lexer.back() - break - } - } - value := lexer.expression[start:lexer.currentPos] - return token{ - tokenType: tUnquotedIdentifier, - value: value, - position: start, - length: lexer.currentPos - start, - } -} - -func (lexer *Lexer) consumeNumber() token { - // Consume runes until we reach something that's not a number. - start := lexer.currentPos - lexer.lastWidth - for { - r := lexer.next() - if r < '0' || r > '9' { - lexer.back() - break - } - } - value := lexer.expression[start:lexer.currentPos] - return token{ - tokenType: tNumber, - value: value, - position: start, - length: lexer.currentPos - start, - } -} diff --git a/vendor/github.com/jmespath/go-jmespath/parser.go b/vendor/github.com/jmespath/go-jmespath/parser.go deleted file mode 100644 index 1240a17..0000000 --- a/vendor/github.com/jmespath/go-jmespath/parser.go +++ /dev/null @@ -1,603 +0,0 @@ -package jmespath - -import ( - "encoding/json" - "fmt" - "strconv" - "strings" -) - -type astNodeType int - -//go:generate stringer -type astNodeType -const ( - ASTEmpty astNodeType = iota - ASTComparator - ASTCurrentNode - ASTExpRef - ASTFunctionExpression - ASTField - ASTFilterProjection - ASTFlatten - ASTIdentity - ASTIndex - ASTIndexExpression - ASTKeyValPair - ASTLiteral - ASTMultiSelectHash - ASTMultiSelectList - ASTOrExpression - ASTAndExpression - ASTNotExpression - ASTPipe - ASTProjection - ASTSubexpression - ASTSlice - ASTValueProjection -) - -// ASTNode represents the abstract syntax tree of a JMESPath expression. -type ASTNode struct { - nodeType astNodeType - value interface{} - children []ASTNode -} - -func (node ASTNode) String() string { - return node.PrettyPrint(0) -} - -// PrettyPrint will pretty print the parsed AST. -// The AST is an implementation detail and this pretty print -// function is provided as a convenience method to help with -// debugging. You should not rely on its output as the internal -// structure of the AST may change at any time. -func (node ASTNode) PrettyPrint(indent int) string { - spaces := strings.Repeat(" ", indent) - output := fmt.Sprintf("%s%s {\n", spaces, node.nodeType) - nextIndent := indent + 2 - if node.value != nil { - if converted, ok := node.value.(fmt.Stringer); ok { - // Account for things like comparator nodes - // that are enums with a String() method. - output += fmt.Sprintf("%svalue: %s\n", strings.Repeat(" ", nextIndent), converted.String()) - } else { - output += fmt.Sprintf("%svalue: %#v\n", strings.Repeat(" ", nextIndent), node.value) - } - } - lastIndex := len(node.children) - if lastIndex > 0 { - output += fmt.Sprintf("%schildren: {\n", strings.Repeat(" ", nextIndent)) - childIndent := nextIndent + 2 - for _, elem := range node.children { - output += elem.PrettyPrint(childIndent) - } - } - output += fmt.Sprintf("%s}\n", spaces) - return output -} - -var bindingPowers = map[tokType]int{ - tEOF: 0, - tUnquotedIdentifier: 0, - tQuotedIdentifier: 0, - tRbracket: 0, - tRparen: 0, - tComma: 0, - tRbrace: 0, - tNumber: 0, - tCurrent: 0, - tExpref: 0, - tColon: 0, - tPipe: 1, - tOr: 2, - tAnd: 3, - tEQ: 5, - tLT: 5, - tLTE: 5, - tGT: 5, - tGTE: 5, - tNE: 5, - tFlatten: 9, - tStar: 20, - tFilter: 21, - tDot: 40, - tNot: 45, - tLbrace: 50, - tLbracket: 55, - tLparen: 60, -} - -// Parser holds state about the current expression being parsed. -type Parser struct { - expression string - tokens []token - index int -} - -// NewParser creates a new JMESPath parser. -func NewParser() *Parser { - p := Parser{} - return &p -} - -// Parse will compile a JMESPath expression. -func (p *Parser) Parse(expression string) (ASTNode, error) { - lexer := NewLexer() - p.expression = expression - p.index = 0 - tokens, err := lexer.tokenize(expression) - if err != nil { - return ASTNode{}, err - } - p.tokens = tokens - parsed, err := p.parseExpression(0) - if err != nil { - return ASTNode{}, err - } - if p.current() != tEOF { - return ASTNode{}, p.syntaxError(fmt.Sprintf( - "Unexpected token at the end of the expresssion: %s", p.current())) - } - return parsed, nil -} - -func (p *Parser) parseExpression(bindingPower int) (ASTNode, error) { - var err error - leftToken := p.lookaheadToken(0) - p.advance() - leftNode, err := p.nud(leftToken) - if err != nil { - return ASTNode{}, err - } - currentToken := p.current() - for bindingPower < bindingPowers[currentToken] { - p.advance() - leftNode, err = p.led(currentToken, leftNode) - if err != nil { - return ASTNode{}, err - } - currentToken = p.current() - } - return leftNode, nil -} - -func (p *Parser) parseIndexExpression() (ASTNode, error) { - if p.lookahead(0) == tColon || p.lookahead(1) == tColon { - return p.parseSliceExpression() - } - indexStr := p.lookaheadToken(0).value - parsedInt, err := strconv.Atoi(indexStr) - if err != nil { - return ASTNode{}, err - } - indexNode := ASTNode{nodeType: ASTIndex, value: parsedInt} - p.advance() - if err := p.match(tRbracket); err != nil { - return ASTNode{}, err - } - return indexNode, nil -} - -func (p *Parser) parseSliceExpression() (ASTNode, error) { - parts := []*int{nil, nil, nil} - index := 0 - current := p.current() - for current != tRbracket && index < 3 { - if current == tColon { - index++ - p.advance() - } else if current == tNumber { - parsedInt, err := strconv.Atoi(p.lookaheadToken(0).value) - if err != nil { - return ASTNode{}, err - } - parts[index] = &parsedInt - p.advance() - } else { - return ASTNode{}, p.syntaxError( - "Expected tColon or tNumber" + ", received: " + p.current().String()) - } - current = p.current() - } - if err := p.match(tRbracket); err != nil { - return ASTNode{}, err - } - return ASTNode{ - nodeType: ASTSlice, - value: parts, - }, nil -} - -func (p *Parser) match(tokenType tokType) error { - if p.current() == tokenType { - p.advance() - return nil - } - return p.syntaxError("Expected " + tokenType.String() + ", received: " + p.current().String()) -} - -func (p *Parser) led(tokenType tokType, node ASTNode) (ASTNode, error) { - switch tokenType { - case tDot: - if p.current() != tStar { - right, err := p.parseDotRHS(bindingPowers[tDot]) - return ASTNode{ - nodeType: ASTSubexpression, - children: []ASTNode{node, right}, - }, err - } - p.advance() - right, err := p.parseProjectionRHS(bindingPowers[tDot]) - return ASTNode{ - nodeType: ASTValueProjection, - children: []ASTNode{node, right}, - }, err - case tPipe: - right, err := p.parseExpression(bindingPowers[tPipe]) - return ASTNode{nodeType: ASTPipe, children: []ASTNode{node, right}}, err - case tOr: - right, err := p.parseExpression(bindingPowers[tOr]) - return ASTNode{nodeType: ASTOrExpression, children: []ASTNode{node, right}}, err - case tAnd: - right, err := p.parseExpression(bindingPowers[tAnd]) - return ASTNode{nodeType: ASTAndExpression, children: []ASTNode{node, right}}, err - case tLparen: - name := node.value - var args []ASTNode - for p.current() != tRparen { - expression, err := p.parseExpression(0) - if err != nil { - return ASTNode{}, err - } - if p.current() == tComma { - if err := p.match(tComma); err != nil { - return ASTNode{}, err - } - } - args = append(args, expression) - } - if err := p.match(tRparen); err != nil { - return ASTNode{}, err - } - return ASTNode{ - nodeType: ASTFunctionExpression, - value: name, - children: args, - }, nil - case tFilter: - return p.parseFilter(node) - case tFlatten: - left := ASTNode{nodeType: ASTFlatten, children: []ASTNode{node}} - right, err := p.parseProjectionRHS(bindingPowers[tFlatten]) - return ASTNode{ - nodeType: ASTProjection, - children: []ASTNode{left, right}, - }, err - case tEQ, tNE, tGT, tGTE, tLT, tLTE: - right, err := p.parseExpression(bindingPowers[tokenType]) - if err != nil { - return ASTNode{}, err - } - return ASTNode{ - nodeType: ASTComparator, - value: tokenType, - children: []ASTNode{node, right}, - }, nil - case tLbracket: - tokenType := p.current() - var right ASTNode - var err error - if tokenType == tNumber || tokenType == tColon { - right, err = p.parseIndexExpression() - if err != nil { - return ASTNode{}, err - } - return p.projectIfSlice(node, right) - } - // Otherwise this is a projection. - if err := p.match(tStar); err != nil { - return ASTNode{}, err - } - if err := p.match(tRbracket); err != nil { - return ASTNode{}, err - } - right, err = p.parseProjectionRHS(bindingPowers[tStar]) - if err != nil { - return ASTNode{}, err - } - return ASTNode{ - nodeType: ASTProjection, - children: []ASTNode{node, right}, - }, nil - } - return ASTNode{}, p.syntaxError("Unexpected token: " + tokenType.String()) -} - -func (p *Parser) nud(token token) (ASTNode, error) { - switch token.tokenType { - case tJSONLiteral: - var parsed interface{} - err := json.Unmarshal([]byte(token.value), &parsed) - if err != nil { - return ASTNode{}, err - } - return ASTNode{nodeType: ASTLiteral, value: parsed}, nil - case tStringLiteral: - return ASTNode{nodeType: ASTLiteral, value: token.value}, nil - case tUnquotedIdentifier: - return ASTNode{ - nodeType: ASTField, - value: token.value, - }, nil - case tQuotedIdentifier: - node := ASTNode{nodeType: ASTField, value: token.value} - if p.current() == tLparen { - return ASTNode{}, p.syntaxErrorToken("Can't have quoted identifier as function name.", token) - } - return node, nil - case tStar: - left := ASTNode{nodeType: ASTIdentity} - var right ASTNode - var err error - if p.current() == tRbracket { - right = ASTNode{nodeType: ASTIdentity} - } else { - right, err = p.parseProjectionRHS(bindingPowers[tStar]) - } - return ASTNode{nodeType: ASTValueProjection, children: []ASTNode{left, right}}, err - case tFilter: - return p.parseFilter(ASTNode{nodeType: ASTIdentity}) - case tLbrace: - return p.parseMultiSelectHash() - case tFlatten: - left := ASTNode{ - nodeType: ASTFlatten, - children: []ASTNode{{nodeType: ASTIdentity}}, - } - right, err := p.parseProjectionRHS(bindingPowers[tFlatten]) - if err != nil { - return ASTNode{}, err - } - return ASTNode{nodeType: ASTProjection, children: []ASTNode{left, right}}, nil - case tLbracket: - tokenType := p.current() - //var right ASTNode - if tokenType == tNumber || tokenType == tColon { - right, err := p.parseIndexExpression() - if err != nil { - return ASTNode{}, nil - } - return p.projectIfSlice(ASTNode{nodeType: ASTIdentity}, right) - } else if tokenType == tStar && p.lookahead(1) == tRbracket { - p.advance() - p.advance() - right, err := p.parseProjectionRHS(bindingPowers[tStar]) - if err != nil { - return ASTNode{}, err - } - return ASTNode{ - nodeType: ASTProjection, - children: []ASTNode{{nodeType: ASTIdentity}, right}, - }, nil - } else { - return p.parseMultiSelectList() - } - case tCurrent: - return ASTNode{nodeType: ASTCurrentNode}, nil - case tExpref: - expression, err := p.parseExpression(bindingPowers[tExpref]) - if err != nil { - return ASTNode{}, err - } - return ASTNode{nodeType: ASTExpRef, children: []ASTNode{expression}}, nil - case tNot: - expression, err := p.parseExpression(bindingPowers[tNot]) - if err != nil { - return ASTNode{}, err - } - return ASTNode{nodeType: ASTNotExpression, children: []ASTNode{expression}}, nil - case tLparen: - expression, err := p.parseExpression(0) - if err != nil { - return ASTNode{}, err - } - if err := p.match(tRparen); err != nil { - return ASTNode{}, err - } - return expression, nil - case tEOF: - return ASTNode{}, p.syntaxErrorToken("Incomplete expression", token) - } - - return ASTNode{}, p.syntaxErrorToken("Invalid token: "+token.tokenType.String(), token) -} - -func (p *Parser) parseMultiSelectList() (ASTNode, error) { - var expressions []ASTNode - for { - expression, err := p.parseExpression(0) - if err != nil { - return ASTNode{}, err - } - expressions = append(expressions, expression) - if p.current() == tRbracket { - break - } - err = p.match(tComma) - if err != nil { - return ASTNode{}, err - } - } - err := p.match(tRbracket) - if err != nil { - return ASTNode{}, err - } - return ASTNode{ - nodeType: ASTMultiSelectList, - children: expressions, - }, nil -} - -func (p *Parser) parseMultiSelectHash() (ASTNode, error) { - var children []ASTNode - for { - keyToken := p.lookaheadToken(0) - if err := p.match(tUnquotedIdentifier); err != nil { - if err := p.match(tQuotedIdentifier); err != nil { - return ASTNode{}, p.syntaxError("Expected tQuotedIdentifier or tUnquotedIdentifier") - } - } - keyName := keyToken.value - err := p.match(tColon) - if err != nil { - return ASTNode{}, err - } - value, err := p.parseExpression(0) - if err != nil { - return ASTNode{}, err - } - node := ASTNode{ - nodeType: ASTKeyValPair, - value: keyName, - children: []ASTNode{value}, - } - children = append(children, node) - if p.current() == tComma { - err := p.match(tComma) - if err != nil { - return ASTNode{}, nil - } - } else if p.current() == tRbrace { - err := p.match(tRbrace) - if err != nil { - return ASTNode{}, nil - } - break - } - } - return ASTNode{ - nodeType: ASTMultiSelectHash, - children: children, - }, nil -} - -func (p *Parser) projectIfSlice(left ASTNode, right ASTNode) (ASTNode, error) { - indexExpr := ASTNode{ - nodeType: ASTIndexExpression, - children: []ASTNode{left, right}, - } - if right.nodeType == ASTSlice { - right, err := p.parseProjectionRHS(bindingPowers[tStar]) - return ASTNode{ - nodeType: ASTProjection, - children: []ASTNode{indexExpr, right}, - }, err - } - return indexExpr, nil -} -func (p *Parser) parseFilter(node ASTNode) (ASTNode, error) { - var right, condition ASTNode - var err error - condition, err = p.parseExpression(0) - if err != nil { - return ASTNode{}, err - } - if err := p.match(tRbracket); err != nil { - return ASTNode{}, err - } - if p.current() == tFlatten { - right = ASTNode{nodeType: ASTIdentity} - } else { - right, err = p.parseProjectionRHS(bindingPowers[tFilter]) - if err != nil { - return ASTNode{}, err - } - } - - return ASTNode{ - nodeType: ASTFilterProjection, - children: []ASTNode{node, right, condition}, - }, nil -} - -func (p *Parser) parseDotRHS(bindingPower int) (ASTNode, error) { - lookahead := p.current() - if tokensOneOf([]tokType{tQuotedIdentifier, tUnquotedIdentifier, tStar}, lookahead) { - return p.parseExpression(bindingPower) - } else if lookahead == tLbracket { - if err := p.match(tLbracket); err != nil { - return ASTNode{}, err - } - return p.parseMultiSelectList() - } else if lookahead == tLbrace { - if err := p.match(tLbrace); err != nil { - return ASTNode{}, err - } - return p.parseMultiSelectHash() - } - return ASTNode{}, p.syntaxError("Expected identifier, lbracket, or lbrace") -} - -func (p *Parser) parseProjectionRHS(bindingPower int) (ASTNode, error) { - current := p.current() - if bindingPowers[current] < 10 { - return ASTNode{nodeType: ASTIdentity}, nil - } else if current == tLbracket { - return p.parseExpression(bindingPower) - } else if current == tFilter { - return p.parseExpression(bindingPower) - } else if current == tDot { - err := p.match(tDot) - if err != nil { - return ASTNode{}, err - } - return p.parseDotRHS(bindingPower) - } else { - return ASTNode{}, p.syntaxError("Error") - } -} - -func (p *Parser) lookahead(number int) tokType { - return p.lookaheadToken(number).tokenType -} - -func (p *Parser) current() tokType { - return p.lookahead(0) -} - -func (p *Parser) lookaheadToken(number int) token { - return p.tokens[p.index+number] -} - -func (p *Parser) advance() { - p.index++ -} - -func tokensOneOf(elements []tokType, token tokType) bool { - for _, elem := range elements { - if elem == token { - return true - } - } - return false -} - -func (p *Parser) syntaxError(msg string) SyntaxError { - return SyntaxError{ - msg: msg, - Expression: p.expression, - Offset: p.lookaheadToken(0).position, - } -} - -// Create a SyntaxError based on the provided token. -// This differs from syntaxError() which creates a SyntaxError -// based on the current lookahead token. -func (p *Parser) syntaxErrorToken(msg string, t token) SyntaxError { - return SyntaxError{ - msg: msg, - Expression: p.expression, - Offset: t.position, - } -} diff --git a/vendor/github.com/jmespath/go-jmespath/toktype_string.go b/vendor/github.com/jmespath/go-jmespath/toktype_string.go deleted file mode 100644 index dae79cb..0000000 --- a/vendor/github.com/jmespath/go-jmespath/toktype_string.go +++ /dev/null @@ -1,16 +0,0 @@ -// generated by stringer -type=tokType; DO NOT EDIT - -package jmespath - -import "fmt" - -const _tokType_name = "tUnknowntStartDottFiltertFlattentLparentRparentLbrackettRbrackettLbracetRbracetOrtPipetNumbertUnquotedIdentifiertQuotedIdentifiertCommatColontLTtLTEtGTtGTEtEQtNEtJSONLiteraltStringLiteraltCurrenttExpreftAndtNottEOF" - -var _tokType_index = [...]uint8{0, 8, 13, 17, 24, 32, 39, 46, 55, 64, 71, 78, 81, 86, 93, 112, 129, 135, 141, 144, 148, 151, 155, 158, 161, 173, 187, 195, 202, 206, 210, 214} - -func (i tokType) String() string { - if i < 0 || i >= tokType(len(_tokType_index)-1) { - return fmt.Sprintf("tokType(%d)", i) - } - return _tokType_name[_tokType_index[i]:_tokType_index[i+1]] -} diff --git a/vendor/github.com/jmespath/go-jmespath/util.go b/vendor/github.com/jmespath/go-jmespath/util.go deleted file mode 100644 index ddc1b7d..0000000 --- a/vendor/github.com/jmespath/go-jmespath/util.go +++ /dev/null @@ -1,185 +0,0 @@ -package jmespath - -import ( - "errors" - "reflect" -) - -// IsFalse determines if an object is false based on the JMESPath spec. -// JMESPath defines false values to be any of: -// - An empty string array, or hash. -// - The boolean value false. -// - nil -func isFalse(value interface{}) bool { - switch v := value.(type) { - case bool: - return !v - case []interface{}: - return len(v) == 0 - case map[string]interface{}: - return len(v) == 0 - case string: - return len(v) == 0 - case nil: - return true - } - // Try the reflection cases before returning false. - rv := reflect.ValueOf(value) - switch rv.Kind() { - case reflect.Struct: - // A struct type will never be false, even if - // all of its values are the zero type. - return false - case reflect.Slice, reflect.Map: - return rv.Len() == 0 - case reflect.Ptr: - if rv.IsNil() { - return true - } - // If it's a pointer type, we'll try to deref the pointer - // and evaluate the pointer value for isFalse. - element := rv.Elem() - return isFalse(element.Interface()) - } - return false -} - -// ObjsEqual is a generic object equality check. -// It will take two arbitrary objects and recursively determine -// if they are equal. -func objsEqual(left interface{}, right interface{}) bool { - return reflect.DeepEqual(left, right) -} - -// SliceParam refers to a single part of a slice. -// A slice consists of a start, a stop, and a step, similar to -// python slices. -type sliceParam struct { - N int - Specified bool -} - -// Slice supports [start:stop:step] style slicing that's supported in JMESPath. -func slice(slice []interface{}, parts []sliceParam) ([]interface{}, error) { - computed, err := computeSliceParams(len(slice), parts) - if err != nil { - return nil, err - } - start, stop, step := computed[0], computed[1], computed[2] - result := []interface{}{} - if step > 0 { - for i := start; i < stop; i += step { - result = append(result, slice[i]) - } - } else { - for i := start; i > stop; i += step { - result = append(result, slice[i]) - } - } - return result, nil -} - -func computeSliceParams(length int, parts []sliceParam) ([]int, error) { - var start, stop, step int - if !parts[2].Specified { - step = 1 - } else if parts[2].N == 0 { - return nil, errors.New("Invalid slice, step cannot be 0") - } else { - step = parts[2].N - } - var stepValueNegative bool - if step < 0 { - stepValueNegative = true - } else { - stepValueNegative = false - } - - if !parts[0].Specified { - if stepValueNegative { - start = length - 1 - } else { - start = 0 - } - } else { - start = capSlice(length, parts[0].N, step) - } - - if !parts[1].Specified { - if stepValueNegative { - stop = -1 - } else { - stop = length - } - } else { - stop = capSlice(length, parts[1].N, step) - } - return []int{start, stop, step}, nil -} - -func capSlice(length int, actual int, step int) int { - if actual < 0 { - actual += length - if actual < 0 { - if step < 0 { - actual = -1 - } else { - actual = 0 - } - } - } else if actual >= length { - if step < 0 { - actual = length - 1 - } else { - actual = length - } - } - return actual -} - -// ToArrayNum converts an empty interface type to a slice of float64. -// If any element in the array cannot be converted, then nil is returned -// along with a second value of false. -func toArrayNum(data interface{}) ([]float64, bool) { - // Is there a better way to do this with reflect? - if d, ok := data.([]interface{}); ok { - result := make([]float64, len(d)) - for i, el := range d { - item, ok := el.(float64) - if !ok { - return nil, false - } - result[i] = item - } - return result, true - } - return nil, false -} - -// ToArrayStr converts an empty interface type to a slice of strings. -// If any element in the array cannot be converted, then nil is returned -// along with a second value of false. If the input data could be entirely -// converted, then the converted data, along with a second value of true, -// will be returned. -func toArrayStr(data interface{}) ([]string, bool) { - // Is there a better way to do this with reflect? - if d, ok := data.([]interface{}); ok { - result := make([]string, len(d)) - for i, el := range d { - item, ok := el.(string) - if !ok { - return nil, false - } - result[i] = item - } - return result, true - } - return nil, false -} - -func isSliceType(v interface{}) bool { - if v == nil { - return false - } - return reflect.TypeOf(v).Kind() == reflect.Slice -} diff --git a/vendor/vendor.json b/vendor/vendor.json deleted file mode 100644 index 952e33a..0000000 --- a/vendor/vendor.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "comment": "", - "ignore": "test", - "package": [ - { - "checksumSHA1": "ZWMLy9mJrQdgWWEKQpc+fNW8B6I=", - "path": "github.com/aws/aws-sdk-go/aws", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "Y9W+4GimK4Fuxq+vyIskVYFRnX4=", - "path": "github.com/aws/aws-sdk-go/aws/awserr", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "PEDqMAEPxlh9Y8/dIbHlE6A7LEA=", - "path": "github.com/aws/aws-sdk-go/aws/awsutil", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "EwL79Cq6euk+EV/t/n2E+jzPNmU=", - "path": "github.com/aws/aws-sdk-go/aws/client", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "uEJU4I6dTKaraQKvrljlYKUZwoc=", - "path": "github.com/aws/aws-sdk-go/aws/client/metadata", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "b/UdBwIe3u1L1L5i34laH/NunDI=", - "path": "github.com/aws/aws-sdk-go/aws/corehandlers", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "21pBkDFjY5sDY1rAW+f8dDPcWhk=", - "path": "github.com/aws/aws-sdk-go/aws/credentials", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "JTilCBYWVAfhbKSnrxCNhE8IFns=", - "path": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "1pENtl2K9hG7qoB7R6J7dAHa82g=", - "path": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "sPtOSV32SZr2xN7vZlF4FXo43/o=", - "path": "github.com/aws/aws-sdk-go/aws/credentials/processcreds", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "JEYqmF83O5n5bHkupAzA6STm0no=", - "path": "github.com/aws/aws-sdk-go/aws/credentials/stscreds", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "BCjWH3AilHcgiTJUKpRCWsS5Vnc=", - "path": "github.com/aws/aws-sdk-go/aws/csm", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "7AmyyJXVkMdmy8dphC3Nalx5XkI=", - "path": "github.com/aws/aws-sdk-go/aws/defaults", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "mYqgKOMSGvLmrt0CoBNbqdcTM3c=", - "path": "github.com/aws/aws-sdk-go/aws/ec2metadata", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "8Koq5KKj9khLAuciiE24tAjSta8=", - "path": "github.com/aws/aws-sdk-go/aws/endpoints", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "MNKn210bYCRn/q16hyQcBa4Lm5I=", - "path": "github.com/aws/aws-sdk-go/aws/request", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "rfEGeim4zz2FVqTxFvf6HUuqOZc=", - "path": "github.com/aws/aws-sdk-go/aws/session", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "IfIlsdOjFX8FAdTB/+woaJ8Lswg=", - "path": "github.com/aws/aws-sdk-go/aws/signer/v4", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "3A0q2ZxyOnQN77dQV0AEpVv9HPY=", - "path": "github.com/aws/aws-sdk-go/internal/ini", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "wjxQlU1PYxrDRFoL1Vek8Wch7jk=", - "path": "github.com/aws/aws-sdk-go/internal/sdkio", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "MYLldFRnsZh21TfCkgkXCT3maPU=", - "path": "github.com/aws/aws-sdk-go/internal/sdkrand", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "tQVg7Sz2zv+KkhbiXxPH0mh9spg=", - "path": "github.com/aws/aws-sdk-go/internal/sdkuri", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "LjfJ5ydXdiSuQixC+HrmSZjW3NU=", - "path": "github.com/aws/aws-sdk-go/internal/shareddefaults", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "NtXXi501Kou3laVAsJfcbKSkNI8=", - "path": "github.com/aws/aws-sdk-go/private/protocol", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "tXRIRarT7qepHconxydtO7mXod4=", - "path": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "v2c4B7IgTyjl7ShytqbTOqhCIoM=", - "path": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "lj56XJFI2OSp+hEOrFZ+eiEi/yM=", - "path": "github.com/aws/aws-sdk-go/private/protocol/query", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "+O6A945eTP9plLpkEMZB0lwBAcg=", - "path": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "uRvmEPKcEdv7qc0Ep2zn0E3Xumc=", - "path": "github.com/aws/aws-sdk-go/private/protocol/rest", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "B8unEuOlpQfnig4cMyZtXLZVVOs=", - "path": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "owQhl1SbU5RpHT+ILkvfdSA1s0Y=", - "path": "github.com/aws/aws-sdk-go/service/ssm", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "35a/vm5R/P68l/hQD55GqviO6bg=", - "path": "github.com/aws/aws-sdk-go/service/sts", - "revision": "d0447ddf9a0da77931346217225ae7f687e805c8", - "revisionTime": "2018-12-11T23:23:25Z" - }, - { - "checksumSHA1": "blwbl9vPvRLtL5QlZgfpLvsFiZ4=", - "path": "github.com/jmespath/go-jmespath", - "revision": "c2b33e8439af944379acbdd9c3a5fe0bc44bd8a5", - "revisionTime": "2018-02-06T20:15:40Z" - } - ], - "rootPath": "github.com/FlipsideCrypto/go-aws-config" -}